master
杨海航 4 months ago
parent 07cf0b9e26
commit c39e36eacd
  1. 28
      src/main/java/digital/laboratory/platform/entrustment/convert/DrugLiteConvert.java
  2. 6
      src/main/java/digital/laboratory/platform/entrustment/entity/EntrustmentIdentificationMaterial.java
  3. 16
      src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.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<DrugLite> convertDirtyLiteByJSON(List<DrugLite> drugLitesJson) {
if (drugLitesJson == null) {
return Collections.emptyList();
}
String drugToString = JSONArray.toJSONString(drugLitesJson);
List<DrugLite> drugLiteList = JSONArray.parseArray(drugToString, DrugLite.class);
return drugLiteList;
}
}

@ -43,6 +43,12 @@ public class EntrustmentIdentificationMaterial extends BaseEntity {
@ApiModelProperty(value = "检材编号")
private String imNo;
/**
* 检材委托序号
*/
@ApiModelProperty(value = "检材委托序号")
private String imEntrustNumber;
/**
* 物证id
*/

@ -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<EntrustmentMapper, Entru
@Override
public String buildEntrustReq(List<EntrustmentIdentificationMaterial> materialList) {
Map<String, List<EntrustmentIdentificationMaterial>> retGroup = materialList.stream().collect(Collectors.groupingBy(item -> item.getAnalysisOption() + "_" + getDrugNameMsg(item.getCandidateDrugs())));
Map<String, List<EntrustmentIdentificationMaterial>> 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<Map.Entry<String, List<EntrustmentIdentificationMaterial>>> orderedDataList =
@ -817,8 +828,7 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
sbMaterialName.append(materialObj.getShortNameDes()).append(",");
//只执行一次且执行一次
if (executeCount == 0) {
String drugToString = JSONArray.toJSONString(materialObj.getCandidateDrugs());
List<DrugLite> drugLiteList = JSONArray.parseArray(drugToString, DrugLite.class);
List<DrugLite> drugLiteList = DrugLiteConvert.convertDirtyLiteByJSON(materialObj.getCandidateDrugs());
drugLiteList.forEach(item -> {
sbDrugDes.append(item.getName()).append("、");
});

Loading…
Cancel
Save