update
This commit is contained in:
@@ -19,10 +19,13 @@ import digital.laboratory.platform.inspection.entity.TestRecordSampleDataExpand;
|
||||
import digital.laboratory.platform.inspection.enums.BusinessType;
|
||||
import digital.laboratory.platform.inspection.enums.TestRecordFileUrl;
|
||||
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.SampleInfo;
|
||||
import digital.laboratory.platform.inspetion.api.entity.TargetObject;
|
||||
import digital.laboratory.platform.inspetion.api.entity.TestRecord;
|
||||
import digital.laboratory.platform.sys.entity.Drug;
|
||||
import digital.laboratory.platform.sys.enums.entrust.EntrustBiologyType;
|
||||
import org.apache.commons.io.output.ByteArrayOutputStream;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -67,6 +70,8 @@ public class InspectRecordServiceImpl implements InspectRecordService {
|
||||
@Resource
|
||||
private TestRecordSampledataExpandService testRecordSampledataExpandService;
|
||||
|
||||
@Resource
|
||||
|
||||
/**
|
||||
* 生成检验记录-贵阳禁毒
|
||||
*
|
||||
@@ -233,6 +238,13 @@ public class InspectRecordServiceImpl implements InspectRecordService {
|
||||
for (int i = 0; i < dataDtos.size(); i++) {
|
||||
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("sampleSize", dataDtos.size());
|
||||
@@ -240,6 +252,45 @@ public class InspectRecordServiceImpl implements InspectRecordService {
|
||||
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";
|
||||
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
|
||||
Configure config = Configure.builder().
|
||||
bind("dataDtos", policy).build();
|
||||
bind("dataDtos", policy)
|
||||
.bind("ionPairAndCEVOS", policy).build();
|
||||
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;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user