202501009 更新

1.bug修复
master
陈江保 5 days ago
parent 8502fa3b35
commit 168cb6235f
  1. 4
      src/main/java/digital/laboratory/platform/entrustment/convert/DrugLiteConvert.java
  2. 25
      src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustMaterialCheckoutResultServiceImpl.java

@ -27,6 +27,10 @@ public class DrugLiteConvert {
} }
public static List<DrugLite> getDrugLites(String drugToString) { public static List<DrugLite> getDrugLites(String drugToString) {
// 判断参数是否为空
if (drugToString == null || drugToString.isEmpty()) {
return Collections.emptyList();
}
List<DrugLite> drugLiteList = JSONArray.parseArray(drugToString, DrugLite.class).stream().sorted(Comparator.comparing(DrugLite::getName)).collect(Collectors.toList()); List<DrugLite> drugLiteList = JSONArray.parseArray(drugToString, DrugLite.class).stream().sorted(Comparator.comparing(DrugLite::getName)).collect(Collectors.toList());
return drugLiteList; return drugLiteList;
} }

@ -201,6 +201,7 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
.in(CollUtil.isNotEmpty(allResults), Entrustment::getOldIdentificationResult, allResults) .in(CollUtil.isNotEmpty(allResults), Entrustment::getOldIdentificationResult, allResults)
.ge(excelDTO.getStartTime() != null, Entrustment::getAcceptTime, excelDTO.getStartTime()) .ge(excelDTO.getStartTime() != null, Entrustment::getAcceptTime, excelDTO.getStartTime())
.le(excelDTO.getEndTime() != null, Entrustment::getAcceptTime, excelDTO.getEndTime()) .le(excelDTO.getEndTime() != null, Entrustment::getAcceptTime, excelDTO.getEndTime())
.in(Entrustment::getStatus, EntrustStatusConstants.ENTRUST_STATUS_ACCEPTED.getStatus(), EntrustStatusConstants.ENTRUST_STATUS_TEST_FINISH.getStatus(), EntrustStatusConstants.ENTRUST_STATUS_COMPLETED.getStatus())
); );
List<String> entrustIds = entrustmentList.stream().map(Entrustment::getId).collect(Collectors.toList()); List<String> entrustIds = entrustmentList.stream().map(Entrustment::getId).collect(Collectors.toList());
// 获取检材信息, 排序的原因是需要数据是有序的 // 获取检材信息, 排序的原因是需要数据是有序的
@ -220,10 +221,10 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
Map<String, EntrustMaterialCheckoutResult> checkoutResultMap = checkoutResultList.stream().collect(Collectors.toMap(EntrustMaterialCheckoutResult::getId, Function.identity())); Map<String, EntrustMaterialCheckoutResult> checkoutResultMap = checkoutResultList.stream().collect(Collectors.toMap(EntrustMaterialCheckoutResult::getId, Function.identity()));
List<CheckoutResultExcelDTO> checkoutResultExcelDTOS = fetchCheckoutResultExcelDTOList(entrustmentList, materialGroupByEntrustMap, checkoutResultMap); List<CheckoutResultExcelDTO> checkoutResultExcelDTOS = fetchCheckoutResultExcelDTOList(entrustmentList, materialGroupByEntrustMap, checkoutResultMap);
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); // response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8"); // response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode("检材检出结果excel表", "UTF-8").replaceAll("\\+", "%20"); // String fileName = URLEncoder.encode("检材检出结果excel表", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); // response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
// 不使用默认样式 // 不使用默认样式
// 空的头部样式 // 空的头部样式
@ -367,13 +368,15 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
excelDTO.setColor(StrUtil.isBlank(material.getColor()) ? formName.substring(0, formName.indexOf("色") + 1) : material.getColor()); excelDTO.setColor(StrUtil.isBlank(material.getColor()) ? formName.substring(0, formName.indexOf("色") + 1) : material.getColor());
excelDTO.setFormName(formName); excelDTO.setFormName(formName);
EntrustMaterialCheckoutResult entrustMaterialCheckoutResult = checkoutResultMap.get(material.getId()); EntrustMaterialCheckoutResult entrustMaterialCheckoutResult = checkoutResultMap.get(material.getId());
excelDTO.setQualitativeResult( if (entrustMaterialCheckoutResult != null) {
DrugLiteConvert.getDrugLites(entrustMaterialCheckoutResult.getQualitativeResult()) excelDTO.setQualitativeResult(
.stream().map(DrugLite::getName).collect(Collectors.joining("、")) DrugLiteConvert.getDrugLites(entrustMaterialCheckoutResult.getQualitativeResult())
); .stream().map(DrugLite::getName).collect(Collectors.joining("、"))
excelDTO.setQuantitativeResult(entrustMaterialCheckoutResult.getQuantitativeResult()); );
excelDTO.setOtherResult(entrustMaterialCheckoutResult.getOtherResult()); excelDTO.setQuantitativeResult(entrustMaterialCheckoutResult.getQuantitativeResult());
excelDTO.setRemark(entrustMaterialCheckoutResult.getCheckoutRemark()); excelDTO.setOtherResult(entrustMaterialCheckoutResult.getOtherResult());
excelDTO.setRemark(entrustMaterialCheckoutResult.getCheckoutRemark());
}
checkoutResultExcelDTOList.add(excelDTO); checkoutResultExcelDTOList.add(excelDTO);
} }
} }

Loading…
Cancel
Save