This commit is contained in:
杨海航
2025-05-23 10:09:43 +08:00
parent 3d6752a644
commit 6dc89e2acb
2 changed files with 25 additions and 9 deletions
@@ -37,7 +37,6 @@ import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.mock.web.MockMultipartFile; import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
@@ -320,7 +319,7 @@ public class InspectRecordServiceImpl implements InspectRecordService {
dto.setIndexNum(String.valueOf(indexNum++)); dto.setIndexNum(String.valueOf(indexNum++));
} }
// 14️⃣ 构建离子对和CE值数据 // 14️⃣ 构建离子对和C E值数据
this.buildIonPairAndCE(data, testRecordReagentService.list( this.buildIonPairAndCE(data, testRecordReagentService.list(
Wrappers.<TestRecordReagent>lambdaQuery() Wrappers.<TestRecordReagent>lambdaQuery()
.in(TestRecordReagent::getId, testRecord.getReagentConsumablesList()) .in(TestRecordReagent::getId, testRecord.getReagentConsumablesList())
@@ -17,12 +17,14 @@ import digital.laboratory.platform.common.core.constant.CommonConstants;
import digital.laboratory.platform.common.core.exception.CheckedException; import digital.laboratory.platform.common.core.exception.CheckedException;
import digital.laboratory.platform.common.core.util.R; import digital.laboratory.platform.common.core.util.R;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser; import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.common.oss.service.OssFile;
import digital.laboratory.platform.comservice.entity.DlpDictData; import digital.laboratory.platform.comservice.entity.DlpDictData;
import digital.laboratory.platform.comservice.feign.RemoteDictDataService; import digital.laboratory.platform.comservice.feign.RemoteDictDataService;
import digital.laboratory.platform.inspection.constant.TestRecordSampleDataConstant; import digital.laboratory.platform.inspection.constant.TestRecordSampleDataConstant;
import digital.laboratory.platform.inspection.convert.TestRecordSampleDataConverter; import digital.laboratory.platform.inspection.convert.TestRecordSampleDataConverter;
import digital.laboratory.platform.inspection.dto.*; import digital.laboratory.platform.inspection.dto.*;
import digital.laboratory.platform.inspection.entity.*; import digital.laboratory.platform.inspection.entity.*;
import digital.laboratory.platform.inspection.enums.TestRecordFileUrl;
import digital.laboratory.platform.inspetion.api.enums.BusinessType; import digital.laboratory.platform.inspetion.api.enums.BusinessType;
import digital.laboratory.platform.inspection.enums.StdSolutionNum; import digital.laboratory.platform.inspection.enums.StdSolutionNum;
import digital.laboratory.platform.inspection.enums.TaskTestDataStatus; import digital.laboratory.platform.inspection.enums.TaskTestDataStatus;
@@ -107,6 +109,12 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl
@Resource @Resource
private ProcessInspectDataService processInspectDataService; private ProcessInspectDataService processInspectDataService;
@Resource
private OssFile ossFile;
@Resource
private InspectRecordService inspectRecordService;
/** /**
* 校验实验状态是否完成,完成则提升不能修改数据 * 校验实验状态是否完成,完成则提升不能修改数据
* *
@@ -127,6 +135,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl
/** /**
* 删除检验数据 * 删除检验数据
*
* @param testId * @param testId
*/ */
@Override @Override
@@ -708,11 +717,19 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl
// 发布事件 // 发布事件
applicationContext.publishEvent(new FinishTestExecutionEvent(this)); applicationContext.publishEvent(new FinishTestExecutionEvent(this));
if(testRecord.getBusinessType().equals(BusinessType.BOINT_CASE.getBusinessType())) { if (testRecord.getBusinessType().equals(BusinessType.BOINT_CASE.getBusinessType())) {
applicationContext.publishEvent(new PushDataToLabsCareEvent(this, testId, 3)); applicationContext.publishEvent(new PushDataToLabsCareEvent(this, testId, 3));
} else if (testRecord.getBusinessType().equals(BusinessType.NPS_CASE.getBusinessType())) { } else if (testRecord.getBusinessType().equals(BusinessType.NPS_CASE.getBusinessType())) {
applicationContext.publishEvent(new PushDataToLabsCareEvent(this, testId, 4)); applicationContext.publishEvent(new PushDataToLabsCareEvent(this, testId, 4));
} }
// 这里加入了一个判断,如果实验结束了,首先就会去自动生成检验记录了。防止用户实验完成后,没有点击查看实验结果,直接进入文书制作模块
try {
inspectRecordService.buildInspectionRecord(testRecord.getBusinessId()
, entrustInfoService.getById(testRecord.getBusinessId()).getMaterialType(), false);
} catch (Exception E) {
log.info("生成检验记录失败!");
}
return R.ok("完成实验成功!"); return R.ok("完成实验成功!");
} }
@@ -1515,7 +1532,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl
/** /**
* 自动创建测试记录样本数据 * 自动创建测试记录样本数据
* *
* @param testId 测试记录的ID * @param testId 测试记录的ID
* @param reagentId 化合物名称 * @param reagentId 化合物名称
*/ */
@Override @Override
@@ -1555,9 +1572,9 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl
StrUtil.isBlank(drug.getCharacteristicIons()) StrUtil.isBlank(drug.getCharacteristicIons())
&& &&
( (
StrUtil.isBlank(drug.getMainProductIon()) StrUtil.isBlank(drug.getMainProductIon())
|| ||
StrUtil.isBlank(drug.getMinorProductIon()) StrUtil.isBlank(drug.getMinorProductIon())
) )
) )
) { ) {
@@ -1601,7 +1618,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl
/** /**
* 自动删除指定测试记录和化合物名称对应的测试记录样本数据 * 自动删除指定测试记录和化合物名称对应的测试记录样本数据
* *
* @param testId 测试记录的ID * @param testId 测试记录的ID
* @param reagentId 化合物名称 * @param reagentId 化合物名称
* @return 如果删除成功返回 true,否则返回 false * @return 如果删除成功返回 true,否则返回 false
*/ */
@@ -1642,7 +1659,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl
testRecordSampleDataList.forEach(testRecordSampleData -> { testRecordSampleDataList.forEach(testRecordSampleData -> {
TestRecordSampleData std = stdTestDataMap.get(testRecordSampleData.getCompoundName()); TestRecordSampleData std = stdTestDataMap.get(testRecordSampleData.getCompoundName());
if ( std != null && testRecordSampleData.getTargetRtTime() != null && std.getTargetRtTime() != null ) { if (std != null && testRecordSampleData.getTargetRtTime() != null && std.getTargetRtTime() != null) {
testRecordSampleData.setRtTimeError(processInspectDataService.getHairCaseRtTimeError(testRecordSampleData.getTargetRtTime(), std.getTargetRtTime())); testRecordSampleData.setRtTimeError(processInspectDataService.getHairCaseRtTimeError(testRecordSampleData.getTargetRtTime(), std.getTargetRtTime()));
if (businessType.equals(BusinessType.BOINT_CASE.getBusinessType())) { if (businessType.equals(BusinessType.BOINT_CASE.getBusinessType())) {
testRecordSampleData.setRtTimeWithinError( testRecordSampleData.setRtTimeWithinError(