1、宜安 同步任务接口 bugfix

2、导出指标接口支持导出算例下的指标
This commit is contained in:
2025-11-28 15:43:38 +08:00
parent f735b499d6
commit 5f24c784c2
4 changed files with 37 additions and 35 deletions

View File

@@ -10,5 +10,9 @@ public class PerformanceExportExcelParam {
*/
private Integer taskId;
/**
* 算例id
*/
private String runId;
}

View File

@@ -1261,20 +1261,6 @@ public class TaskServiceImpl implements ITaskService {
return resp;
}
String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq();
spdmProjectNodeEditReq.setNodeName(req.getProjectName());
spdmProjectNodeEditReq.setNodeType(NodeTypeEnum.PROJECT.getValue());
spdmProjectNodeEditReq.setUuid(req.getProjectId());
spdmProjectNodeEditReq.setPid(req.getProjectId());
spdmProjectNodeEditReq.setTag1(req.getProjectId());
spdmProjectNodeEditReq.setCreateTime(curDateStr);
spdmProjectNodeEditReq.setTenantId(1999999999999999999L);
if (nodeMapper.addNodeBatch(Collections.singletonList(spdmProjectNodeEditReq)) <= 0) {
log.error("同步CID项目:{}失败",req.getProjectId() + " " + req.getProjectName());
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
return resp;
}
List<CidTaskNode> taskNodeList = new ArrayList<>();
for (ProjectTaskInfo projectTaskInfo : taskInfoList) {
CidTaskNode taskNode = new CidTaskNode();
@@ -1293,15 +1279,7 @@ public class TaskServiceImpl implements ITaskService {
return resp;
}
try {
// 创建项目节点的文件夹
SdmResponse response = createDir(spdmProjectNodeEditReq.getUuid(), spdmProjectNodeEditReq.getNodeType(), null, spdmProjectNodeEditReq.getNodeName());
if (ObjectUtils.isEmpty(response) || response.getCode() != ResultCode.SUCCESS.getCode()) {
log.error("同步CID任务时创建项目{}的文件夹失败,原因为:{}",req.getProjectId() + " " + req.getProjectName(),response.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
return resp;
}
SdmResponse response;
// 创建任务节点的文件夹
for (CidTaskNode taskNode : taskNodeList) {
response = createDir(taskNode.getUuid(), NodeTypeEnum.TASK.getValue(), req.getProjectId(), taskNode.getTaskName());

View File

@@ -115,17 +115,37 @@ public class SimulationPerformanceServiceImpl extends ServiceImpl<SimulationPerf
public SdmResponse exportPerformance(PerformanceExportExcelFormat performanceExportExcelFormat, HttpServletResponse httpServletResponse) {
SdmResponse response = new SdmResponse();
PerformanceExportExcelParam params = performanceExportExcelFormat.getParams();
Integer taskId = params.getTaskId();
String runId = params.getRunId();
if (taskId == null && runId == null) {
log.error("taskId和runId不能都为空");
throw new RuntimeException("导出算例失败原因taskId和runId不能都为空");
}
List<ExportExcelFormat> exportExcelFormats = performanceExportExcelFormat.getExcelHeaders();
SdmResponse taskRespond = getTaskPerformance(params.getTaskId());
if(taskRespond.isSuccess()) {
List<SimulationPerformance> dataList = (List<SimulationPerformance>) taskRespond.getData();
if (CollectionUtils.isEmpty(dataList)) {
ExcelUtil.exportExcelNoMerge(new JSONArray(),exportExcelFormats,httpServletResponse);
return response;
if (taskId != null) {
SdmResponse taskRespond = getTaskPerformance(params.getTaskId());
if(taskRespond.isSuccess()) {
List<SimulationPerformance> dataList = (List<SimulationPerformance>) taskRespond.getData();
if (CollectionUtils.isEmpty(dataList)) {
ExcelUtil.exportExcelNoMerge(new JSONArray(),exportExcelFormats,httpServletResponse);
return response;
}
ExcelUtil.exportExcelNoMerge(JSONArray.from(dataList),exportExcelFormats,httpServletResponse);
} else {
response = SdmResponse.failed(taskRespond.getMessage());
}
}else {
SdmResponse<List<SimulationPerformance>> taskRespond = getRunPerformance(runId);
if(taskRespond.isSuccess()) {
List<SimulationPerformance> dataList = taskRespond.getData();
if (CollectionUtils.isEmpty(dataList)) {
ExcelUtil.exportExcelNoMerge(new JSONArray(),exportExcelFormats,httpServletResponse);
return response;
}
ExcelUtil.exportExcelNoMerge(JSONArray.from(dataList),exportExcelFormats,httpServletResponse);
} else {
response = SdmResponse.failed(taskRespond.getMessage());
}
ExcelUtil.exportExcelNoMerge(JSONArray.from(dataList),exportExcelFormats,httpServletResponse);
} else {
response = SdmResponse.failed(taskRespond.getMessage());
}
return response;
}

View File

@@ -6,7 +6,7 @@ spring:
name: task
datasource:
username: root
password: 123456
password: mysql
jdbc-url: jdbc:mysql://192.168.65.161:3306/spdm_baseline?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver
hikari:
@@ -22,12 +22,12 @@ spring:
connection-timeout: 30000 # 30s
master:
username: root
password: 123456
password: mysql
jdbc-url: jdbc:mysql://192.168.65.161:3306/spdm_baseline?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver
slave:
username: root
password: 123456
password: mysql
jdbc-url: jdbc:mysql://192.168.65.161:3306/spdm_baseline?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver
enable: true