fix:任务编辑报告归档指标和图片为关键结果

This commit is contained in:
2026-04-16 17:59:40 +08:00
parent bdbd01f7a9
commit f0741706aa
2 changed files with 31 additions and 39 deletions

View File

@@ -41,4 +41,8 @@ public class SimulationTaskResultCurveResp extends BaseResp {
@Schema(description = "创建人")
private Long creatorId;
@Schema(description = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
}

View File

@@ -1227,6 +1227,11 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
CurveParamDto curveParamDto = getCurveParamsFromUpload(req.getFile(), 2);
return SdmResponse.success(curveParamDto);
}
if (StringUtils.isEmpty(req.getFileTypeDictValue())) {
req.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
req.setFileTypeDictValue(String.valueOf(req.getFileType()));
req.setDictTags(Arrays.asList(FileDictTagEnum.FILE_TYPE.getDictClassFieldName(), FileDictTagEnum.FILE_TYPE.getDictValueFieldName()));
}
SimulationRunKeyResult simulationRunKeyResult = new SimulationRunKeyResult();
BeanUtils.copyProperties(req, simulationRunKeyResult);
@@ -1248,11 +1253,6 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
if (req.getFile() != null) {
UploadFilesReq filesReq = new UploadFilesReq();
BeanUtils.copyProperties(req, filesReq);
if (StringUtils.isEmpty(req.getFileTypeDictValue())) {
filesReq.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
filesReq.setFileTypeDictValue(String.valueOf(req.getFileType()));
filesReq.setDictTags(Arrays.asList(FileDictTagEnum.FILE_TYPE.getDictClassFieldName(), FileDictTagEnum.FILE_TYPE.getDictValueFieldName()));
}
SdmResponse response = uploadKeyResultFiles(filesReq);
if (response.isSuccess() && response.getData() != null) {
JSONObject result = JSONObject.from(response.getData());
@@ -2272,42 +2272,30 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
fileName,
"application/octet-stream",
fileData);
if (StringUtils.isNotEmpty(taskId)) {
// 上传到任务下的交付物文件夹的报告文件夹下
Long parentId = getParentDirId(taskId, fileBizTypeEnum.getDirName());
UploadFilesReq filesReq = new UploadFilesReq();
filesReq.setFile(multipartFile);
filesReq.setFileName(fileName);
filesReq.setFileType(fileBizTypeEnum.getValue());
filesReq.setUuid(null);
filesReq.setDirId(parentId);
filesReq.setSortOrder(sortOrder);
filesReq.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
filesReq.setFileTypeDictValue(String.valueOf(fileBizTypeEnum.getValue()));
filesReq.setDictTags(Arrays.asList(FileDictTagEnum.FILE_TYPE.getDictClassFieldName(), FileDictTagEnum.FILE_TYPE.getDictValueFieldName()));
filesReq.setIsConverSameNameFile(true);
SdmResponse sdmResponse = uploadKeyResultFiles(filesReq);
if (!sdmResponse.isSuccess()) {
log.error("生成自动化报告上传任务报告结果目录失败:{}", JSON.toJSONString(sdmResponse));
throw new RuntimeException("生成自动化报告上传任务报告结果目录失败");
}
} else {
// 上传到算例下的报告文件夹下
KeyResultReq resultReq = new KeyResultReq();
resultReq.setKeyResultType(fileBizTypeEnum == FileBizTypeEnum.CLOUD_FILE ? KeyResultTypeEnum.IMAGE.getKeyResultType() : KeyResultTypeEnum.DOCUMENT.getKeyResultType());
resultReq.setRunId(runId);
resultReq.setName(fileName);
resultReq.setFile(multipartFile);
resultReq.setFileName(fileName);
resultReq.setFileType(fileBizTypeEnum.getValue());
resultReq.setIsConverSameNameFile(true);
SdmResponse sdmResponse = addSimulationKeyResult(resultReq);
if (!sdmResponse.isSuccess()) {
log.error("生成自动化报告上传算例报告结果目录失败:{}", JSON.toJSONString(sdmResponse));
throw new RuntimeException("生成自动化报告上传算例报告结果目录失败");
}
KeyResultReq resultReq = new KeyResultReq();
resultReq.setKeyResultType(fileBizTypeEnum == FileBizTypeEnum.CLOUD_FILE ? KeyResultTypeEnum.IMAGE.getKeyResultType() : KeyResultTypeEnum.DOCUMENT.getKeyResultType());
resultReq.setTaskId(taskId);
resultReq.setName(fileName);
resultReq.setFile(multipartFile);
resultReq.setFileName(fileName);
resultReq.setFileType(fileBizTypeEnum.getValue());
resultReq.setIsConverSameNameFile(true);
if (StringUtils.isNotEmpty(taskId)) {
// 上传到任务下的交付物文件夹的报告/图片文件夹下
resultReq.setTaskId(taskId);
} else {
// 上传到算例下的报告/图片文件夹下
resultReq.setRunId(runId);
}
SdmResponse sdmResponse = addSimulationKeyResult(resultReq);
if (!sdmResponse.isSuccess()) {
log.error("生成自动化报告上传报告结果目录失败:{}", JSON.toJSONString(sdmResponse));
throw new RuntimeException("生成自动化报告上传报告结果目录失败");
}
fileInputStream.close();
} catch (Exception ex) {
log.error("生成自动化报告失败:{}", ex.getMessage());