master
杨海航 6 months ago
parent e70c1c0b3c
commit ecac6a4958
  1. 25
      src/main/java/digital/laboratory/platform/entrustment/service/impl/ExcelOperationServiceImpl.java

@ -2,6 +2,7 @@ package digital.laboratory.platform.entrustment.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import digital.laboratory.platform.common.core.constant.CommonConstants; import digital.laboratory.platform.common.core.constant.CommonConstants;
import digital.laboratory.platform.common.core.exception.CheckedException; import digital.laboratory.platform.common.core.exception.CheckedException;
@ -35,10 +36,12 @@ import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -149,6 +152,7 @@ public class ExcelOperationServiceImpl implements ExcelOperationService {
/** /**
* 处理Excel数据构建检材对象并设置相关属性 * 处理Excel数据构建检材对象并设置相关属性
*
* @param data Excel数据列表 * @param data Excel数据列表
* @param entrustment 委托信息对象 * @param entrustment 委托信息对象
* @param drugLiteMap 毒品名称映射表 * @param drugLiteMap 毒品名称映射表
@ -172,12 +176,17 @@ public class ExcelOperationServiceImpl implements ExcelOperationService {
material.setMaterialAge(Integer.valueOf(this.getAgeByIdNum(idNum))); material.setMaterialAge(Integer.valueOf(this.getAgeByIdNum(idNum)));
} }
material.setDrawPlace(datum.get("采样单位")); if (StringUtils.isBlank(datum.get("提取地点"))) {
material.setDrawPlace("贵阳市");
} else {
material.setDrawPlace(datum.get("提取地点"));
}
material.setId(IdWorker.get32UUID().toUpperCase()); material.setId(IdWorker.get32UUID().toUpperCase());
// 检测结果解析 // 检测结果解析
ArrayList<DrugLite> matchedDrugs = new ArrayList<>(); ArrayList<DrugLite> matchedDrugs = new ArrayList<>();
String[] drugs = datum.get("检测结果").split("、"); String[] drugs = datum.get("曾吸毒种类").split("、");
if (drugs.length == 0 || (drugs.length == 1 && drugs[0].trim().isEmpty())) { if (drugs.length == 0 || (drugs.length == 1 && drugs[0].trim().isEmpty())) {
matchedDrugs.add(drugLiteMap.get("海洛因")); matchedDrugs.add(drugLiteMap.get("海洛因"));
} else { } else {
@ -214,7 +223,13 @@ public class ExcelOperationServiceImpl implements ExcelOperationService {
orderNo++; orderNo++;
material.setPackComplete(true); material.setPackComplete(true);
material.setRtSampleQuantity(0); material.setRtSampleQuantity(0);
material.setDrawTime(LocalDateTime.now()); // 定义格式化器(注意 M 和 d 不要补0)
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
LocalDateTime drawTime = LocalDateTime.parse(datum.get("提取时间"), formatter.withZone(ZoneId.systemDefault()));
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("提取时间为" + drawTime);
// 转 LocalDate
material.setDrawTime(drawTime);
material.setAnalysisOption(AnalysisOptionEnums.QUALITATIVE.getCode()); material.setAnalysisOption(AnalysisOptionEnums.QUALITATIVE.getCode());
entrustmentIdentificationMaterialService.setMaterialIdentificationNo(material, cj); entrustmentIdentificationMaterialService.setMaterialIdentificationNo(material, cj);
@ -238,7 +253,7 @@ public class ExcelOperationServiceImpl implements ExcelOperationService {
Wrappers.<Entrustment>query() Wrappers.<Entrustment>query()
.eq("e.client_org_id", user.getOrgId()) .eq("e.client_org_id", user.getOrgId())
.eq("e.status", EntrustStatusConstants.ENTRUST_STATUS_ACCEPTED.getStatus()) .eq("e.status", EntrustStatusConstants.ENTRUST_STATUS_ACCEPTED.getStatus())
.likeRight(year != null , "e.accept_time", year) .likeRight(year != null, "e.accept_time", year)
.orderByDesc("e.accept_time") .orderByDesc("e.accept_time")
); );
@ -258,7 +273,6 @@ public class ExcelOperationServiceImpl implements ExcelOperationService {
Map<String, List<EntrustmentIdentificationMaterial>> materialGroupMap = identificationMaterials.stream().collect(Collectors.groupingBy(EntrustmentIdentificationMaterial::getEntrustmentId)); Map<String, List<EntrustmentIdentificationMaterial>> materialGroupMap = identificationMaterials.stream().collect(Collectors.groupingBy(EntrustmentIdentificationMaterial::getEntrustmentId));
// 获取嫌疑人信息并根据委托id分组 // 获取嫌疑人信息并根据委托id分组
Map<String, String> suspectGroupMap = buildSuspectInfoGroupByEntrustId(entrustmentVOList); Map<String, String> suspectGroupMap = buildSuspectInfoGroupByEntrustId(entrustmentVOList);
@ -352,6 +366,7 @@ public class ExcelOperationServiceImpl implements ExcelOperationService {
/** /**
* 根据委托id分组拼接嫌疑人姓名和身份证 * 根据委托id分组拼接嫌疑人姓名和身份证
*
* @param entrustmentVOList * @param entrustmentVOList
* @return * @return
*/ */

Loading…
Cancel
Save