|
|
|
@ -90,6 +90,9 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
@Resource |
|
|
|
|
private TaskInfoService taskInfoService; |
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private TestRecordSampledataExpandService testRecordSampledataExpandService; |
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private ApplicationContext applicationContext; |
|
|
|
|
|
|
|
|
@ -111,10 +114,19 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 删除检验数据 |
|
|
|
|
* @param testId |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public Boolean saveTestData(List<TestRecordSampleData> testRecordSampleDataList) { |
|
|
|
|
return super.saveBatch(testRecordSampleDataList); |
|
|
|
|
public void delete(String testId) { |
|
|
|
|
// 删除检验数据前,先删除扩展数据
|
|
|
|
|
boolean remove = testRecordSampledataExpandService.remove(Wrappers.<TestRecordSampleDataExpand>lambdaQuery() |
|
|
|
|
.inSql(TestRecordSampleDataExpand::getTestDataId, String.format("SELECT id FROM b_test_record_sampledata WHERE test_id = %s", testId)) |
|
|
|
|
); |
|
|
|
|
if (remove) { |
|
|
|
|
super.remove(Wrappers.<TestRecordSampleData>lambdaQuery().eq(TestRecordSampleData::getTestId, testId)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//获取检验记录中的样品信息数据
|
|
|
|
@ -291,56 +303,6 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
|
|
|
|
|
JSONArray headerArray = generateHeaderArray(dataGroupBySampleNoMap); |
|
|
|
|
JSONArray dataArray = generateDataArray(dataGroupBySampleNoMap); |
|
|
|
|
/*// 标记表头是否添加完成
|
|
|
|
|
AtomicReference<Boolean> finish = new AtomicReference<>(false); // 为了能在lambda中使用
|
|
|
|
|
dataGroupBySampleNoMap.forEach((k, v) -> { |
|
|
|
|
// 组装列表数据
|
|
|
|
|
JSONObject dataObject = new JSONObject(); |
|
|
|
|
dataObject.put("sampleNo", k); |
|
|
|
|
int size = v.size(); // 防止频繁调用方法
|
|
|
|
|
for (int i = 0; i < size; i++) { |
|
|
|
|
TaskTestDataDTO taskTestDataDTO = v.get(i); |
|
|
|
|
String compoundKey = "compound" + (i + 1); |
|
|
|
|
if (!finish.get()) { |
|
|
|
|
// 组装自定义列表头部
|
|
|
|
|
JSONObject object = new JSONObject(); |
|
|
|
|
if (i == 0) { |
|
|
|
|
JSONObject sampleNoObject = new JSONObject(); |
|
|
|
|
sampleNoObject.put(TestRecordSampleDataConstant.LABEL, "溶液编号"); |
|
|
|
|
sampleNoObject.put(TestRecordSampleDataConstant.PROP, "sampleNo"); |
|
|
|
|
sampleNoObject.put("fixed", true); |
|
|
|
|
JSONObject name = new JSONObject(); |
|
|
|
|
name.put(TestRecordSampleDataConstant.PROP, "taskName"); |
|
|
|
|
name.put(TestRecordSampleDataConstant.LABEL, "案件/任务名称"); |
|
|
|
|
JSONObject business = new JSONObject(); |
|
|
|
|
business.put(TestRecordSampleDataConstant.PROP, "businessTypeName"); |
|
|
|
|
business.put(TestRecordSampleDataConstant.LABEL, "业务类型"); |
|
|
|
|
JSONObject status = new JSONObject(); |
|
|
|
|
status.put(TestRecordSampleDataConstant.PROP, "statusName"); |
|
|
|
|
status.put(TestRecordSampleDataConstant.LABEL, "状态"); |
|
|
|
|
|
|
|
|
|
headerArray.add(name); |
|
|
|
|
headerArray.add(business); |
|
|
|
|
headerArray.add(status); |
|
|
|
|
headerArray.add(sampleNoObject); |
|
|
|
|
} |
|
|
|
|
object.put(TestRecordSampleDataConstant.PROP, compoundKey); |
|
|
|
|
object.put(TestRecordSampleDataConstant.LABEL, "化合物" + (i + 1) + "(" + taskTestDataDTO.getCompoundName() + ")"); |
|
|
|
|
headerArray.add(object); |
|
|
|
|
} |
|
|
|
|
// 把化合物组装导对象里
|
|
|
|
|
dataObject.put("taskName", taskTestDataDTO.getTaskName()); |
|
|
|
|
dataObject.put("businessTypeName", BusinessType.getBusinessTypeName(taskTestDataDTO.getBusinessType())); |
|
|
|
|
dataObject.put("status", taskTestDataDTO.getStatus()); |
|
|
|
|
dataObject.put("statusName", TaskTestDataStatus.getStatusNameByCode(taskTestDataDTO.getStatus())); |
|
|
|
|
dataObject.put(compoundKey, taskTestDataDTO.getSampleConcentration()); |
|
|
|
|
if (i == size - 1) { |
|
|
|
|
finish.set(true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
dataArray.add(dataObject); |
|
|
|
|
}); |
|
|
|
|
*/ |
|
|
|
|
// 手动分页
|
|
|
|
|
map.put("header", headerArray); |
|
|
|
|
map.put("page", getPageData(dataArray, pageDTO.getCurrent(), pageDTO.getSize())); |
|
|
|
@ -861,7 +823,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
public Boolean saveTestDataFromNps(List<NPSDataFileStruct> npsDataFileStructList, String testId) { |
|
|
|
|
// try {
|
|
|
|
|
List<TestRecordSampleData> testRecordSampleDataList = buildSampleDataFromNps(npsDataFileStructList, testId);//构造实验数据
|
|
|
|
|
buildSampleDataFromNps(npsDataFileStructList, testId);//构造实验数据
|
|
|
|
|
testRecordService.update(Wrappers.<TestRecord>lambdaUpdate().eq(TestRecord::getId, testId).set(TestRecord::getStatus, 2)); |
|
|
|
|
return true; |
|
|
|
|
// } catch (Exception err) {
|
|
|
|
@ -941,9 +903,9 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
hairSewageDataDto.setBusinessType(BusinessType.BOINT_CASE.getBusinessType()); |
|
|
|
|
completeHairDataInfo(hairCompoundData, hairSewageDataDto); |
|
|
|
|
if (idName.contains(TestRecordSampleDataConstant.SAMPLE_TYPE_STD)) { |
|
|
|
|
hairSewageDataDto.setRtTimeError(-999); // 标准溶液的相对误差为 /
|
|
|
|
|
hairSewageDataDto.setRtTimeError(TestRecordSampleDataConstant.INVALID_VALUE); // 标准溶液的相对误差为 /
|
|
|
|
|
hairSewageDataDto.setRtTimeWithinError(TestRecordSampleDataConstant.IS); |
|
|
|
|
hairSewageDataDto.setIonAbundanceRatioWithinError(-999); // 离子丰度比相对误差
|
|
|
|
|
hairSewageDataDto.setIonAbundanceRatioWithinError(TestRecordSampleDataConstant.INVALID_VALUE); // 离子丰度比相对误差
|
|
|
|
|
hairSewageDataDto.setWhetherCheckOut(TestRecordSampleDataConstant.IS); |
|
|
|
|
hairSewageDataDto.setStdRtTime(hairSewageDataDto.getTargetRtTime()); |
|
|
|
|
hairSewageDataDto.setSampleType(TestRecordSampleDataConstant.SAMPLE_TYPE_STD); |
|
|
|
@ -983,8 +945,8 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
private void completeHairDataInfo(HairSewageCompoundData hairCompoundData, HairSewageDataDto hairSewageDataDto) { |
|
|
|
|
hairSewageDataDto.setQualitativeIonPairUp(hairCompoundData.getQuanTrace()); // 定性离子对
|
|
|
|
|
hairSewageDataDto.setQualitativeIonPairDown(hairCompoundData.getTrace1()); |
|
|
|
|
hairSewageDataDto.setPeakAreaUp(hairCompoundData.getArea() == null ? -999 : hairCompoundData.getArea()); // 峰面积
|
|
|
|
|
hairSewageDataDto.setPeakAreaDown(hairCompoundData.getArea1() == null ? -999 : hairCompoundData.getArea1()); |
|
|
|
|
hairSewageDataDto.setPeakAreaUp(hairCompoundData.getArea() == null ? TestRecordSampleDataConstant.INVALID_VALUE : hairCompoundData.getArea()); // 峰面积
|
|
|
|
|
hairSewageDataDto.setPeakAreaDown(hairCompoundData.getArea1() == null ? TestRecordSampleDataConstant.INVALID_VALUE : hairCompoundData.getArea1()); |
|
|
|
|
|
|
|
|
|
// 封装定性离子对和峰面积
|
|
|
|
|
Map<String, Object> upMap = new HashMap<>(); |
|
|
|
@ -999,43 +961,15 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
if (hairCompoundData.getArea() != null && hairCompoundData.getArea1() != null) { |
|
|
|
|
hairSewageDataDto.setIonAbundanceRatio(hairCompoundData.getArea1() / hairCompoundData.getArea()); |
|
|
|
|
} else { |
|
|
|
|
hairSewageDataDto.setIonAbundanceRatio(-999); |
|
|
|
|
hairSewageDataDto.setIonAbundanceRatio(TestRecordSampleDataConstant.INVALID_VALUE); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
hairSewageDataDto.setIonAbundanceRatio(hairCompoundData.getRatioActual()); |
|
|
|
|
} |
|
|
|
|
Double rtTime = hairCompoundData.getRtTime() == null ? -999 : hairCompoundData.getRtTime(); // 取文件的保留时间
|
|
|
|
|
Double rtTime = hairCompoundData.getRtTime() == null ? TestRecordSampleDataConstant.INVALID_VALUE : hairCompoundData.getRtTime(); // 取文件的保留时间
|
|
|
|
|
hairSewageDataDto.setTargetRtTime(rtTime); // 目标物保留时间, 标准物质的保留时间同时存在 TargetRtTime 和 StdRtTime
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// /**
|
|
|
|
|
// * 生成持久化到数据库的实体类
|
|
|
|
|
// * @param hairCaseDataDtoList
|
|
|
|
|
// * @return
|
|
|
|
|
// */
|
|
|
|
|
// private List<TestRecordSampleData> generateTestRecordSampleData(List<HairCaseDataDto> hairCaseDataDtoList) {
|
|
|
|
|
//
|
|
|
|
|
// List<TestRecordSampleData> persistenceSampleDataList = new ArrayList<>();
|
|
|
|
|
// hairCaseDataDtoList.forEach(item->{
|
|
|
|
|
// TestRecordSampleData testRecordSampleData = new TestRecordSampleData();
|
|
|
|
|
// testRecordSampleData.setId(IdWorker.get32UUID());
|
|
|
|
|
// testRecordSampleData.setTestId(item.getTestId());
|
|
|
|
|
// testRecordSampleData.setSampleNo(item.getSampleNo());
|
|
|
|
|
// testRecordSampleData.setSampleConcentration(item.getTargetConcentration());
|
|
|
|
|
// testRecordSampleData.setStdConcentration(item.getStdConcentration());
|
|
|
|
|
// testRecordSampleData.setCompoundName(item.getCompoundName());
|
|
|
|
|
// testRecordSampleData.setTargetRtTime(item.getTargetRtTime());//检材保留时间
|
|
|
|
|
// testRecordSampleData.setStdRtTime(item.getStdRtTime());//标准品保留时间
|
|
|
|
|
// testRecordSampleData.setRtTimeWithinError(item.getRtTimeWithinError());
|
|
|
|
|
// String dataJsonStr=JSONUtil.toJsonStr(item.getTestSampleDataList());
|
|
|
|
|
// String dataResultJsonStr=JSONUtil.toJsonStr(item);
|
|
|
|
|
// testRecordSampleData.setDataJson(dataJsonStr);
|
|
|
|
|
// testRecordSampleData.setDataResultJson(dataResultJsonStr);
|
|
|
|
|
// persistenceSampleDataList.add(testRecordSampleData);
|
|
|
|
|
// });
|
|
|
|
|
// return persistenceSampleDataList;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 计算相对误差喝离子丰度比相对误差,并判断是否符合 |
|
|
|
|
* |
|
|
|
@ -1076,7 +1010,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
// else {
|
|
|
|
|
// log.info("没有找到该标准溶液,化合物 {} 样本ID {}", hairSewageDataDto.getCompoundName(), hairSewageDataDto.getSampleNo());
|
|
|
|
|
// hairSewageDataDto.setStdConcentration("-1");
|
|
|
|
|
// hairSewageDataDto.setStdRtTime(-999);
|
|
|
|
|
// hairSewageDataDto.setStdRtTime(TestRecordSampleDataConstant.INVALID_VALUE);
|
|
|
|
|
// }
|
|
|
|
|
}); |
|
|
|
|
return testRecordSampleDataListAnalyte; |
|
|
|
@ -1089,7 +1023,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
* @param hairSewageDataDtoStd |
|
|
|
|
*/ |
|
|
|
|
private void calculateHairCaseIonAbundanceRatioWithinError(HairSewageDataDto hairSewageDataDto, HairSewageDataDto hairSewageDataDtoStd) { |
|
|
|
|
if (hairSewageDataDto.getIonAbundanceRatio() != -999) { |
|
|
|
|
if ( !TestRecordSampleDataConstant.isInvalidValue(hairSewageDataDto.getIonAbundanceRatio()) ) { |
|
|
|
|
double ionAbundanceRatioWithinError = getAbundanceRatioErrorValue(hairSewageDataDto.getIonAbundanceRatio(), hairSewageDataDtoStd.getIonAbundanceRatio()); |
|
|
|
|
hairSewageDataDto.setIonAbundanceRatioWithinError(ionAbundanceRatioWithinError); |
|
|
|
|
double stdIonAbundanceRatio = hairSewageDataDtoStd.getIonAbundanceRatio(); |
|
|
|
@ -1123,7 +1057,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
TestRecordSampleDataConstant.HAIR_CASE_NEGATIVE_MAX_ALLOW_ERROR_4); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
hairSewageDataDto.setIonAbundanceRatioWithinError(-999); |
|
|
|
|
hairSewageDataDto.setIonAbundanceRatioWithinError(TestRecordSampleDataConstant.INVALID_VALUE); |
|
|
|
|
hairSewageDataDto.setWhetherCheckOut("/"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -1153,14 +1087,14 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
* @param hairSewageDataDtoStd |
|
|
|
|
*/ |
|
|
|
|
private void calculateHairCaseRtTimeError(HairSewageDataDto hairSewageDataDto, HairSewageDataDto hairSewageDataDtoStd) { |
|
|
|
|
if (hairSewageDataDto.getTargetRtTime() != -999) { |
|
|
|
|
if ( !TestRecordSampleDataConstant.isInvalidValue(hairSewageDataDto.getTargetRtTime()) ) { |
|
|
|
|
// 计算保留时间的相对误差
|
|
|
|
|
double rtTimeError = getHairCaseRtTimeError(hairSewageDataDto.getTargetRtTime(), hairSewageDataDtoStd.getStdRtTime()); |
|
|
|
|
hairSewageDataDto.setRtTimeError(rtTimeError); |
|
|
|
|
// 判断保留时间相对误差是否符合误差范围
|
|
|
|
|
hairSewageDataDto.setRtTimeWithinError(setHairCaseRtTimeWithinError(hairSewageDataDto.getRtTimeError())); |
|
|
|
|
} else { |
|
|
|
|
hairSewageDataDto.setRtTimeError(-999); |
|
|
|
|
hairSewageDataDto.setRtTimeError(TestRecordSampleDataConstant.INVALID_VALUE); |
|
|
|
|
hairSewageDataDto.setRtTimeWithinError("/"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -1286,21 +1220,25 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
* @param npsCaseTestDataDtoList |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private List<TestRecordSampleData> genPersistenceSampleData(List<? extends BaseCaseDataDto> npsCaseTestDataDtoList) { |
|
|
|
|
public List<TestRecordSampleData> genPersistenceSampleData(List<? extends BaseCaseDataDto> npsCaseTestDataDtoList) { |
|
|
|
|
List<TestRecordSampleData> persistenceSampleDataList = Collections.synchronizedList(new ArrayList<>()); |
|
|
|
|
List<TestRecordSampleDataExpand> dataExpandList = Collections.synchronizedList(new ArrayList<>()); |
|
|
|
|
npsCaseTestDataDtoList.parallelStream().forEach(item -> { |
|
|
|
|
|
|
|
|
|
TestRecordSampleData testRecordSampleData = new TestRecordSampleData(); |
|
|
|
|
testRecordSampleData.setId(IdWorker.get32UUID()); |
|
|
|
|
testRecordSampleData.setId(IdWorker.getIdStr()); |
|
|
|
|
testRecordSampleData.setTestId(item.getTestId()); |
|
|
|
|
// testRecordSampleData.setSampleNo(item.getSampleId());
|
|
|
|
|
if (item instanceof HairSewageDataDto) { |
|
|
|
|
testRecordSampleData.setName(((HairSewageDataDto) item).getSampleName()); |
|
|
|
|
testRecordSampleData.setSampleNo(((HairSewageDataDto) item).getSampleNo()); |
|
|
|
|
HairSewageDataDto hairSewageDataDto = (HairSewageDataDto) item; |
|
|
|
|
testRecordSampleData.setName(hairSewageDataDto.getSampleName()); |
|
|
|
|
testRecordSampleData.setSampleNo(hairSewageDataDto.getSampleNo()); |
|
|
|
|
dataExpandList.addAll(testRecordSampledataExpandService.saveHairSewageInspectExpData(hairSewageDataDto, testRecordSampleData.getId())); |
|
|
|
|
} else if (item instanceof NPSCaseTestDataDto) { |
|
|
|
|
NPSCaseTestDataDto npsCaseTestDataDto = (NPSCaseTestDataDto) item; |
|
|
|
|
testRecordSampleData.setName(npsCaseTestDataDto.getSampleName()); |
|
|
|
|
testRecordSampleData.setSampleNo(npsCaseTestDataDto.getSampleNo()); |
|
|
|
|
dataExpandList.addAll(testRecordSampledataExpandService.saveNPSInspectExpData(npsCaseTestDataDto, testRecordSampleData.getId())); |
|
|
|
|
} |
|
|
|
|
testRecordSampleData.setSampleConcentration(item.getTargetConcentration()); |
|
|
|
|
testRecordSampleData.setStdConcentration(item.getStdConcentration()); |
|
|
|
@ -1326,6 +1264,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
testRecordSampleData.setDataResultJson(dataResultJsonStr); |
|
|
|
|
persistenceSampleDataList.add(testRecordSampleData); |
|
|
|
|
}); |
|
|
|
|
testRecordSampledataExpandService.saveBatch(dataExpandList); |
|
|
|
|
return persistenceSampleDataList; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1366,7 +1305,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
double mzValue = npsTestDetailDataStruct.getArea() / npsTestDetailDataStruct_Base.getArea() * 100; |
|
|
|
|
npsTestDetailDataStruct.setAbundanceRatio(mzValue); |
|
|
|
|
} else { |
|
|
|
|
npsTestDetailDataStruct.setAbundanceRatio(-999); |
|
|
|
|
npsTestDetailDataStruct.setAbundanceRatio(TestRecordSampleDataConstant.INVALID_VALUE); |
|
|
|
|
npsTestDetailDataStruct.setIsBasePeak(1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1443,10 +1382,10 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
npsTestDetailDataStruct.setWithinError(withinErrorText); |
|
|
|
|
otherList.add(npsTestDetailDataStruct); |
|
|
|
|
} else { |
|
|
|
|
npsTestDetailDataStruct.setAbundanceRatio(-999);//设置检材丰度比
|
|
|
|
|
npsTestDetailDataStruct.setAbundanceRatio_std(-999);//设置标准物质丰度比
|
|
|
|
|
npsTestDetailDataStruct.setErrorRange(-999);//设置丰度比偏差
|
|
|
|
|
npsTestDetailDataStruct.setAbundanceRatioError(-999);//设置偏差范围
|
|
|
|
|
npsTestDetailDataStruct.setAbundanceRatio(TestRecordSampleDataConstant.INVALID_VALUE);//设置检材丰度比
|
|
|
|
|
npsTestDetailDataStruct.setAbundanceRatio_std(TestRecordSampleDataConstant.INVALID_VALUE);//设置标准物质丰度比
|
|
|
|
|
npsTestDetailDataStruct.setErrorRange(TestRecordSampleDataConstant.INVALID_VALUE);//设置丰度比偏差
|
|
|
|
|
npsTestDetailDataStruct.setAbundanceRatioError(TestRecordSampleDataConstant.INVALID_VALUE);//设置偏差范围
|
|
|
|
|
npsTestDetailDataStruct.setWithinError("/");//设置是否在误差范围内
|
|
|
|
|
npsTestDetailDataStruct.setIsBasePeak(1);//设置他是基峰
|
|
|
|
|
} |
|
|
|
@ -1471,9 +1410,9 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
TestRecordSampleDataConstant.NOT_CHECK_OUT + npsCaseTestDataDto.getCompoundName()); |
|
|
|
|
npsCaseTestDataDto.setSampleType(TestRecordSampleDataConstant.SAMPLE_TYPE_ANALYTE); |
|
|
|
|
} else { |
|
|
|
|
npsCaseTestDataDto.setTargetRtTime(-999);//设置样品的保留时间
|
|
|
|
|
npsCaseTestDataDto.setStdRtTime(-999); |
|
|
|
|
npsCaseTestDataDto.setRtTimeError(-999); |
|
|
|
|
npsCaseTestDataDto.setTargetRtTime(TestRecordSampleDataConstant.INVALID_VALUE);//设置样品的保留时间
|
|
|
|
|
npsCaseTestDataDto.setStdRtTime(TestRecordSampleDataConstant.INVALID_VALUE); |
|
|
|
|
npsCaseTestDataDto.setRtTimeError(TestRecordSampleDataConstant.INVALID_VALUE); |
|
|
|
|
npsCaseTestDataDto.setRtTimeWithinError("/"); |
|
|
|
|
npsCaseTestDataDto.setIsDetected(0);//1是检出,0是未检出
|
|
|
|
|
npsCaseTestDataDto.setWhetherCheckOut(TestRecordSampleDataConstant.NOT_CHECK_OUT + npsCaseTestDataDto.getCompoundName()); |
|
|
|
@ -1922,12 +1861,9 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
.eq(TestRecordSampleData::getTestId, data.getTestId()) |
|
|
|
|
.eq(TestRecordSampleData::getSampleType, "STD")); |
|
|
|
|
|
|
|
|
|
if (data.getMainArea() != null && |
|
|
|
|
data.getMinorArea() != null && |
|
|
|
|
data.getTargetRtTime() != null && |
|
|
|
|
std.getMainArea() != null && |
|
|
|
|
std.getMinorArea() != null && |
|
|
|
|
std.getTargetRtTime() != null) { |
|
|
|
|
if ( |
|
|
|
|
data.getTargetRtTime() != null && std.getTargetRtTime() != null |
|
|
|
|
) { |
|
|
|
|
TestRecord testRecord = testRecordService.getById(data.getTestId()); |
|
|
|
|
if (testRecord.getBusinessType().equals(BusinessType.BOINT_CASE.getBusinessType())) { |
|
|
|
|
data.setRtTimeWithinError( |
|
|
|
|