|
|
@ -407,7 +407,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
} |
|
|
|
} |
|
|
|
// 开启异步执行
|
|
|
|
// 开启异步执行
|
|
|
|
// CompletableFuture.runAsync(() -> {
|
|
|
|
// CompletableFuture.runAsync(() -> {
|
|
|
|
testRecordSampleDataList.forEach(item -> calculateInspectData(item.getId())); |
|
|
|
calculateInspectData(testRecordSampleDataList.stream().map(TestRecordSampleData::getId).collect(Collectors.toList()), testRecord.getBusinessType()); |
|
|
|
// }).exceptionally(e -> {
|
|
|
|
// }).exceptionally(e -> {
|
|
|
|
// log.error("计算保留时间以及相对误差出错!");
|
|
|
|
// log.error("计算保留时间以及相对误差出错!");
|
|
|
|
// e.printStackTrace();
|
|
|
|
// e.printStackTrace();
|
|
|
@ -1610,29 +1610,33 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 更新计算数据,计算保留时间和保留时间误差 |
|
|
|
* 更新计算数据,计算保留时间和保留时间误差 |
|
|
|
* @param dataId 检验数据id |
|
|
|
* |
|
|
|
|
|
|
|
* @param dataIds 检验数据id列表 |
|
|
|
|
|
|
|
* @param businessType 实验类型(业务类型) |
|
|
|
* @return |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public Boolean calculateInspectData(String dataId) { |
|
|
|
public Boolean calculateInspectData(List<String> dataIds, String businessType) { |
|
|
|
TestRecordSampleData testRecordSampleData = super.getById(dataId); |
|
|
|
// 获取所有需要操作的列表
|
|
|
|
String compoundName = testRecordSampleData.getCompoundName(); |
|
|
|
List<TestRecordSampleData> testRecordSampleDataList = super.listByIds(dataIds); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 筛选出标准物质检验数据,并根据compoundName转map
|
|
|
|
|
|
|
|
Map<String, TestRecordSampleData> stdTestDataMap = testRecordSampleDataList |
|
|
|
|
|
|
|
.stream() |
|
|
|
|
|
|
|
.filter(testRecordSampleData -> testRecordSampleData.getSampleType().equals(TestRecordSampleDataConstant.SAMPLE_TYPE_STD)) |
|
|
|
|
|
|
|
.collect(Collectors.toMap(TestRecordSampleData::getCompoundName, Function.identity())); |
|
|
|
|
|
|
|
|
|
|
|
TestRecordSampleData std = this.getOne(Wrappers.<TestRecordSampleData>lambdaQuery() |
|
|
|
testRecordSampleDataList.forEach(testRecordSampleData -> { |
|
|
|
.eq(TestRecordSampleData::getCompoundName, compoundName) |
|
|
|
TestRecordSampleData std = stdTestDataMap.get(testRecordSampleData.getCompoundName()); |
|
|
|
.eq(TestRecordSampleData::getTestId, testRecordSampleData.getTestId()) |
|
|
|
|
|
|
|
.eq(TestRecordSampleData::getSampleType, "STD")); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ( testRecordSampleData.getTargetRtTime() != null && std.getTargetRtTime() != null ) { |
|
|
|
if ( std != null && testRecordSampleData.getTargetRtTime() != null && std.getTargetRtTime() != null ) { |
|
|
|
TestRecord testRecord = testRecordService.getById(testRecordSampleData.getTestId()); |
|
|
|
|
|
|
|
if (testRecord.getBusinessType().equals(BusinessType.BOINT_CASE.getBusinessType())) { |
|
|
|
|
|
|
|
testRecordSampleData.setRtTimeError(processInspectDataService.getHairCaseRtTimeError(testRecordSampleData.getTargetRtTime(), std.getTargetRtTime())); |
|
|
|
testRecordSampleData.setRtTimeError(processInspectDataService.getHairCaseRtTimeError(testRecordSampleData.getTargetRtTime(), std.getTargetRtTime())); |
|
|
|
|
|
|
|
if (businessType.equals(BusinessType.BOINT_CASE.getBusinessType())) { |
|
|
|
testRecordSampleData.setRtTimeWithinError( |
|
|
|
testRecordSampleData.setRtTimeWithinError( |
|
|
|
processInspectDataService.setHairCaseRtTimeWithinError( |
|
|
|
processInspectDataService.setHairCaseRtTimeWithinError( |
|
|
|
testRecordSampleData.getRtTimeError().doubleValue() |
|
|
|
testRecordSampleData.getRtTimeError().doubleValue() |
|
|
|
) |
|
|
|
) |
|
|
|
); |
|
|
|
); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
testRecordSampleData.setRtTimeError(processInspectDataService.getHairCaseRtTimeError(testRecordSampleData.getTargetRtTime(), std.getTargetRtTime())); |
|
|
|
|
|
|
|
testRecordSampleData.setRtTimeWithinError( |
|
|
|
testRecordSampleData.setRtTimeWithinError( |
|
|
|
processInspectDataService.getRtWithinErrorText( |
|
|
|
processInspectDataService.getRtWithinErrorText( |
|
|
|
Math.abs(testRecordSampleData.getRtTimeError().doubleValue()), |
|
|
|
Math.abs(testRecordSampleData.getRtTimeError().doubleValue()), |
|
|
@ -1641,7 +1645,9 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl<TestRecordSampl |
|
|
|
); |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return this.updateById(testRecordSampleData); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return this.updateBatchById(testRecordSampleDataList); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|