This commit is contained in:
2026-01-29 18:40:04 +08:00

View File

@@ -2271,26 +2271,7 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
if (keyResult == null) {
return SdmResponse.failed("关键结果不存在");
}
// 将算例下的指标分析值同步到任务指标
if (KeyResultTypeEnum.VALUE.getKeyResultType().equals(keyResult.getKeyResultType())) {
List<SimulationPerformance> runPerformanceList = simulationPerformanceService.lambdaQuery()
.eq(SimulationPerformance::getRunId, req.getRunId())
.list();
Map<String, String> resultValueMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(runPerformanceList)) {
resultValueMap = runPerformanceList.stream().collect(Collectors.toMap(SimulationPerformance::getNodeCode, SimulationPerformance::getResultValue));
}
List<SimulationPerformance> simulationTaskPerformances = simulationPerformanceService.lambdaQuery()
.eq(SimulationPerformance::getTaskId, simulationRun.getTaskId())
.isNull(SimulationPerformance::getRunId)
.list();
if (CollectionUtils.isNotEmpty(simulationTaskPerformances)) {
for (SimulationPerformance simulationTaskPerformance : simulationTaskPerformances) {
simulationTaskPerformance.setResultValue(resultValueMap.get(simulationTaskPerformance.getNodeCode()));
}
simulationPerformanceService.updateBatchById(simulationTaskPerformances);
}
} else {
if (!KeyResultTypeEnum.VALUE.getKeyResultType().equals(keyResult.getKeyResultType())) {
// 图片/曲线/报告结果同步
CopyFileToTaskReq copyFileToTaskReq = new CopyFileToTaskReq();
copyFileToTaskReq.setSourceFileId(keyResult.getFileId());
@@ -2301,6 +2282,25 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
}
}
}
} else {
// 将算例下的指标分析值同步到任务指标
List<SimulationPerformance> runPerformanceList = simulationPerformanceService.lambdaQuery()
.eq(SimulationPerformance::getRunId, req.getRunId())
.list();
Map<String, String> resultValueMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(runPerformanceList)) {
resultValueMap = runPerformanceList.stream().collect(Collectors.toMap(SimulationPerformance::getNodeCode, SimulationPerformance::getResultValue));
}
List<SimulationPerformance> simulationTaskPerformances = simulationPerformanceService.lambdaQuery()
.eq(SimulationPerformance::getTaskId, simulationRun.getTaskId())
.isNull(SimulationPerformance::getRunId)
.list();
if (CollectionUtils.isNotEmpty(simulationTaskPerformances)) {
for (SimulationPerformance simulationTaskPerformance : simulationTaskPerformances) {
simulationTaskPerformance.setResultValue(resultValueMap.get(simulationTaskPerformance.getNodeCode()));
}
simulationPerformanceService.updateBatchById(simulationTaskPerformances);
}
}
return SdmResponse.success();
}