diff --git a/src/main/java/digital/laboratory/platform/entrustment/convert/DrugLiteConvert.java b/src/main/java/digital/laboratory/platform/entrustment/convert/DrugLiteConvert.java new file mode 100644 index 0000000..a6e1d1a --- /dev/null +++ b/src/main/java/digital/laboratory/platform/entrustment/convert/DrugLiteConvert.java @@ -0,0 +1,28 @@ +package digital.laboratory.platform.entrustment.convert; + +import com.alibaba.fastjson.JSONArray; +import digital.laboratory.platform.sys.entity.DrugLite; + +import java.util.Collections; +import java.util.List; + +/** + * 毒品概要实体 转换类 + * + */ +public class DrugLiteConvert { + /** + * 因为从数据库取出来的字段属性实际是一个JSONObject数组,没有对应的getset方法,所以需要转换 + * @param drugLitesJson + * @return + */ + public static List convertDirtyLiteByJSON(List drugLitesJson) { + if (drugLitesJson == null) { + return Collections.emptyList(); + } + String drugToString = JSONArray.toJSONString(drugLitesJson); + List drugLiteList = JSONArray.parseArray(drugToString, DrugLite.class); + return drugLiteList; + } + +} diff --git a/src/main/java/digital/laboratory/platform/entrustment/entity/EntrustmentIdentificationMaterial.java b/src/main/java/digital/laboratory/platform/entrustment/entity/EntrustmentIdentificationMaterial.java index 1a25a0d..8306fe4 100644 --- a/src/main/java/digital/laboratory/platform/entrustment/entity/EntrustmentIdentificationMaterial.java +++ b/src/main/java/digital/laboratory/platform/entrustment/entity/EntrustmentIdentificationMaterial.java @@ -43,6 +43,12 @@ public class EntrustmentIdentificationMaterial extends BaseEntity { @ApiModelProperty(value = "检材编号") private String imNo; + /** + * 检材委托序号 + */ + @ApiModelProperty(value = "检材委托序号") + private String imEntrustNumber; + /** * 物证id */ diff --git a/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java b/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java index b5e4ef1..a031884 100644 --- a/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java +++ b/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java @@ -32,6 +32,7 @@ import digital.laboratory.platform.common.mybatis.security.service.DLPUser; import digital.laboratory.platform.common.oss.service.OssFile; import digital.laboratory.platform.common.security.util.SecurityUtils; import digital.laboratory.platform.entrustment.constant.EntrustMarkConstants; +import digital.laboratory.platform.entrustment.convert.DrugLiteConvert; import digital.laboratory.platform.entrustment.dto.EntrustmentDTO; import digital.laboratory.platform.entrustment.entity.*; import digital.laboratory.platform.entrustment.enums.EntrustmentStatusConstants; @@ -754,7 +755,17 @@ public class EntrustmentServiceImpl extends ServiceImpl materialList) { - Map> retGroup = materialList.stream().collect(Collectors.groupingBy(item -> item.getAnalysisOption() + "_" + getDrugNameMsg(item.getCandidateDrugs()))); + Map> retGroup = materialList + .stream() + .collect( + Collectors.groupingBy(item -> + item.getAnalysisOption() + + "_" + + DrugLiteConvert.convertDirtyLiteByJSON(item.getCandidateDrugs()) + .stream() + .map(DrugLite::getName) + .collect(Collectors.joining(""))) + ); StringBuffer retSb = new StringBuffer(); //先给group排一个序 List>> orderedDataList = @@ -817,8 +828,7 @@ public class EntrustmentServiceImpl extends ServiceImpl drugLiteList = JSONArray.parseArray(drugToString, DrugLite.class); + List drugLiteList = DrugLiteConvert.convertDirtyLiteByJSON(materialObj.getCandidateDrugs()); drugLiteList.forEach(item -> { sbDrugDes.append(item.getName()).append("、"); });