master
杨海航 6 days ago
parent b8b988e5a9
commit 04ac241630
  1. 54
      dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/InspectRecordServiceImpl.java
  2. 16
      dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/vo/IonPairAndCEVO.java

@ -19,10 +19,13 @@ import digital.laboratory.platform.inspection.entity.TestRecordSampleDataExpand;
import digital.laboratory.platform.inspection.enums.BusinessType; import digital.laboratory.platform.inspection.enums.BusinessType;
import digital.laboratory.platform.inspection.enums.TestRecordFileUrl; import digital.laboratory.platform.inspection.enums.TestRecordFileUrl;
import digital.laboratory.platform.inspection.service.*; import digital.laboratory.platform.inspection.service.*;
import digital.laboratory.platform.inspection.vo.IonPairAndCEVO;
import digital.laboratory.platform.inspection.vo.TestRecordReagentVO;
import digital.laboratory.platform.inspetion.api.entity.EntrustInfo; import digital.laboratory.platform.inspetion.api.entity.EntrustInfo;
import digital.laboratory.platform.inspetion.api.entity.SampleInfo; import digital.laboratory.platform.inspetion.api.entity.SampleInfo;
import digital.laboratory.platform.inspetion.api.entity.TargetObject; import digital.laboratory.platform.inspetion.api.entity.TargetObject;
import digital.laboratory.platform.inspetion.api.entity.TestRecord; import digital.laboratory.platform.inspetion.api.entity.TestRecord;
import digital.laboratory.platform.sys.entity.Drug;
import digital.laboratory.platform.sys.enums.entrust.EntrustBiologyType; import digital.laboratory.platform.sys.enums.entrust.EntrustBiologyType;
import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.commons.io.output.ByteArrayOutputStream;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -67,6 +70,8 @@ public class InspectRecordServiceImpl implements InspectRecordService {
@Resource @Resource
private TestRecordSampledataExpandService testRecordSampledataExpandService; private TestRecordSampledataExpandService testRecordSampledataExpandService;
@Resource
/** /**
* 生成检验记录-贵阳禁毒 * 生成检验记录-贵阳禁毒
* *
@ -233,6 +238,13 @@ public class InspectRecordServiceImpl implements InspectRecordService {
for (int i = 0; i < dataDtos.size(); i++) { for (int i = 0; i < dataDtos.size(); i++) {
dataDtos.get(i).setIndexNum(String.valueOf(indexNum++)); dataDtos.get(i).setIndexNum(String.valueOf(indexNum++));
} }
this.buildIonPairAndCE(data, testRecordReagentService
.list(Wrappers.<TestRecordReagent>lambdaQuery()
.in(TestRecordReagent::getId, testRecord.getReagentConsumablesList())
.eq(TestRecordReagent::getCategory, "标准物质"))
.stream()
.map(item -> item.getId())
.collect(Collectors.toList()));
// 返回处理后的数据 // 返回处理后的数据
data.put("dataDtos", dataDtos); data.put("dataDtos", dataDtos);
data.put("sampleSize", dataDtos.size()); data.put("sampleSize", dataDtos.size());
@ -240,6 +252,45 @@ public class InspectRecordServiceImpl implements InspectRecordService {
return data; return data;
} }
public void buildIonPairAndCE(Map<String, Object> data, List<String> reagentIdList) {
List<IonPairAndCEVO> ionPairAndCEVOS = new ArrayList<>();
// 遍历 reagentIdList
for (String id : reagentIdList) {
TestRecordReagentVO vo = testRecordReagentService.getVOById(id);
if (vo == null) {
continue; // 如果 vo 为空,跳过当前循环
}
Drug drug = vo.getDrug();
if (drug == null) {
continue; // 如果 drug 为空,跳过当前循环
}
// 添加 ionPairAndCEVO1 和 ionPairAndCEVO2
ionPairAndCEVOS.add(createIonPairAndCEVO(drug.getName(), drug.getMainProductIon(),
drug.getMainDeclusteringPotential(), drug.getMainCollisionEnergy()));
ionPairAndCEVOS.add(createIonPairAndCEVO(drug.getName(), drug.getMinorProductIon(),
drug.getMinorDeclusteringPotential(), drug.getMinorCollisionEnergy()));
}
// 将结果放入数据 map 中
data.put("ionPairAndCEVOS", ionPairAndCEVOS);
data.put("ionPairAndCEVOSize", ionPairAndCEVOS.size() / 2);
}
// 创建 IonPairAndCEVO 对象的辅助方法
private IonPairAndCEVO createIonPairAndCEVO(String compoundName, String productIon,
Integer declusteringPotential, Integer collisionEnergy) {
IonPairAndCEVO ionPairAndCEVO = new IonPairAndCEVO();
ionPairAndCEVO.setCompoundName(compoundName);
ionPairAndCEVO.setProductIon(productIon);
ionPairAndCEVO.setDeclusteringPotential(declusteringPotential);
ionPairAndCEVO.setCollisionEnergy(collisionEnergy);
return ionPairAndCEVO;
}
/** /**
* 根据委托信息和样本类型生成生物样本检验记录文件 * 根据委托信息和样本类型生成生物样本检验记录文件
* *
@ -313,7 +364,8 @@ public class InspectRecordServiceImpl implements InspectRecordService {
String templatePath = "/template" + "/贵阳禁毒常规毒品检验记录模板.docx"; String templatePath = "/template" + "/贵阳禁毒常规毒品检验记录模板.docx";
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy(); LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
Configure config = Configure.builder(). Configure config = Configure.builder().
bind("dataDtos", policy).build(); bind("dataDtos", policy)
.bind("ionPairAndCEVOS", policy).build();
return buildDocFileAndUploadToOss(entrustId, templatePath, config, docMap); return buildDocFileAndUploadToOss(entrustId, templatePath, config, docMap);
} }

@ -0,0 +1,16 @@
package digital.laboratory.platform.inspection.vo;
import lombok.Data;
@Data
public class IonPairAndCEVO {
private String compoundName;
private String productIon;
private Integer declusteringPotential;
private Integer collisionEnergy;
}
Loading…
Cancel
Save