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.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;
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user