diff --git a/project/src/main/java/com/sdm/project/controller/SimulationTaskController.java b/project/src/main/java/com/sdm/project/controller/SimulationTaskController.java index 98fd0611..30c8ca8c 100644 --- a/project/src/main/java/com/sdm/project/controller/SimulationTaskController.java +++ b/project/src/main/java/com/sdm/project/controller/SimulationTaskController.java @@ -98,17 +98,17 @@ public class SimulationTaskController { return taskService.exportTask(taskExportExcelFormat, httpservletResponse); } - /** - * 同步CID创建的任务 - * - * @param req - * @return - */ - @PostMapping("/synchronizeCidTask") - @Operation(summary = "同步CID创建的任务", description = "同步CID创建的任务") - public SdmResponse synchronizeCidTask(@RequestBody SpdmSyncCidTaskReq req) { - return taskService.synchronizeCidTask(req); - } +// /** +// * 同步CID创建的任务 +// * +// * @param req +// * @return +// */ +// @PostMapping("/synchronizeCidTask") +// @Operation(summary = "同步CID创建的任务", description = "同步CID创建的任务") +// public SdmResponse synchronizeCidTask(@RequestBody SpdmSyncCidTaskReq req) { +// return taskService.synchronizeCidTask(req); +// } /** * 获取任务详情 diff --git a/project/src/main/java/com/sdm/project/controller/YAModelController.java b/project/src/main/java/com/sdm/project/controller/YAModelController.java index 7d4aec00..8f11e4db 100644 --- a/project/src/main/java/com/sdm/project/controller/YAModelController.java +++ b/project/src/main/java/com/sdm/project/controller/YAModelController.java @@ -5,6 +5,10 @@ import com.sdm.common.entity.req.data.UploadFilesReq; import com.sdm.project.model.req.YA.GetModelNodeInfoReq; import com.sdm.project.model.req.YA.SaveModelNodeInfoReq; +import com.sdm.project.model.req.YA.SyncCidProjectReq; +import com.sdm.project.model.req.YA.SyncCidTaskReq; +import com.sdm.project.service.INodeService; +import com.sdm.project.service.ITaskService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; @@ -17,13 +21,18 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; + @RestController @RequestMapping("/dataManager/tree/node") @Tag(name = "宜安项目数据归档", description = "宜安项目模型数据关了") public class YAModelController { + @Resource + private INodeService nodeService; - + @Resource + private ITaskService taskService; /** * 创建文件夹 @@ -70,16 +79,16 @@ public class YAModelController { } - @PostMapping("SyncProject") - public void syncCidProject() + @PostMapping("syncProject") + public void syncCidProject(@RequestBody @Validated SyncCidProjectReq req) { - + nodeService.syncProject(req); } - @PostMapping("SyncCidTask") - public void syncCidTask() + @PostMapping("syncCidTask") + public void syncCidTask(@RequestBody @Validated SyncCidTaskReq req) { - + taskService.syncCidTask(req); } } \ No newline at end of file diff --git a/project/src/main/java/com/sdm/project/model/req/YA/ProjectTaskInfo.java b/project/src/main/java/com/sdm/project/model/req/YA/ProjectTaskInfo.java index d38d4af0..92792b28 100644 --- a/project/src/main/java/com/sdm/project/model/req/YA/ProjectTaskInfo.java +++ b/project/src/main/java/com/sdm/project/model/req/YA/ProjectTaskInfo.java @@ -1,7 +1,9 @@ package com.sdm.project.model.req.YA; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +@Data public class ProjectTaskInfo { @Schema(description = "任务名称") diff --git a/project/src/main/java/com/sdm/project/model/req/YA/SyncCidProjectReq.java b/project/src/main/java/com/sdm/project/model/req/YA/SyncCidProjectReq.java index e7b5df9c..5cc390d3 100644 --- a/project/src/main/java/com/sdm/project/model/req/YA/SyncCidProjectReq.java +++ b/project/src/main/java/com/sdm/project/model/req/YA/SyncCidProjectReq.java @@ -1,6 +1,7 @@ package com.sdm.project.model.req.YA; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; @Data @@ -10,5 +11,7 @@ public class SyncCidProjectReq { private String projectName; @Schema(description = "项目Id") + @NotBlank(message = "项目Id不能为空") private String projectId; + } diff --git a/project/src/main/java/com/sdm/project/model/req/YA/SyncCidTaskReq.java b/project/src/main/java/com/sdm/project/model/req/YA/SyncCidTaskReq.java index 49ac37f0..4ba46377 100644 --- a/project/src/main/java/com/sdm/project/model/req/YA/SyncCidTaskReq.java +++ b/project/src/main/java/com/sdm/project/model/req/YA/SyncCidTaskReq.java @@ -1,6 +1,7 @@ package com.sdm.project.model.req.YA; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import java.util.ArrayList; @@ -13,8 +14,9 @@ public class SyncCidTaskReq { private String projectName; @Schema(description = "项目Id") + @NotBlank(message = "项目Id不能为空") private String projectId; - @Schema(description = "") + @Schema(description = "项目关联的任务集合") private List taskInfoList = new ArrayList<>(); } diff --git a/project/src/main/java/com/sdm/project/service/INodeService.java b/project/src/main/java/com/sdm/project/service/INodeService.java index e4849222..7a66b6c6 100644 --- a/project/src/main/java/com/sdm/project/service/INodeService.java +++ b/project/src/main/java/com/sdm/project/service/INodeService.java @@ -11,6 +11,7 @@ import com.sdm.common.entity.resp.AllNodeByProjectIdAndTypeResp; import com.sdm.common.entity.resp.project.SimulationNodeResp; import com.sdm.project.model.entity.SimulationNode; import com.sdm.project.model.req.*; +import com.sdm.project.model.req.YA.SyncCidProjectReq; import jakarta.servlet.http.HttpServletResponse; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestParam; @@ -72,4 +73,5 @@ public interface INodeService extends IService { SdmResponse getNodeDetailForData(GetNodeDetailReq req); + void syncProject(SyncCidProjectReq req); } diff --git a/project/src/main/java/com/sdm/project/service/ITaskService.java b/project/src/main/java/com/sdm/project/service/ITaskService.java index 307e6431..74d62605 100644 --- a/project/src/main/java/com/sdm/project/service/ITaskService.java +++ b/project/src/main/java/com/sdm/project/service/ITaskService.java @@ -5,6 +5,7 @@ import com.sdm.common.entity.ExportExcelFormat; import com.sdm.common.entity.req.task.TaskExportExcelFormat; import com.sdm.project.model.bo.ModifyTaskNode; import com.sdm.project.model.req.*; +import com.sdm.project.model.req.YA.SyncCidTaskReq; import com.sdm.project.model.resp.GetAllRunResultByTaskIdResp; import com.sdm.project.model.resp.TaskCountResp; import com.sdm.project.model.resp.UserWorkloadResp; @@ -47,8 +48,10 @@ public interface ITaskService { */ SdmResponse exportTask(TaskExportExcelFormat taskExportExcelFormat , HttpServletResponse httpservletResponse); - SdmResponse synchronizeCidTask(SpdmSyncCidTaskReq req); +// SdmResponse synchronizeCidTask(SpdmSyncCidTaskReq req); SdmResponse getTaskDetail(GetTaskDetailReq req); + void syncCidTask(SyncCidTaskReq req); + } diff --git a/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java index 58313528..bec206ba 100644 --- a/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sdm.common.common.ResultCode; import com.sdm.common.common.SdmResponse; import com.sdm.common.common.ThreadLocalContext; import com.sdm.common.entity.ExportExcelFormat; @@ -45,6 +46,7 @@ import com.sdm.project.model.po.ProjectNodePo; import com.sdm.project.model.po.TaskNodeExtraPo; import com.sdm.project.model.po.TaskNodePo; import com.sdm.project.model.req.*; +import com.sdm.project.model.req.YA.SyncCidProjectReq; import com.sdm.project.model.vo.*; import com.sdm.project.service.*; import jakarta.servlet.http.HttpServletResponse; @@ -676,7 +678,7 @@ public class NodeServiceImpl extends ServiceImpl taskNodeList = req.getTaskList(); - if (CollectionUtils.isEmpty(taskNodeList)) { - log.error("同步CID任务的参数为空"); - return SdmResponse.failed("同步CID任务的参数为空"); - } - SdmResponse response = SdmResponse.success(); - List projectNodeMemberList = new ArrayList<>(); - List projectNodeExtraList = new ArrayList<>(); - List allPerformanceList = new ArrayList<>(); - List allPerformanceExtraList = new ArrayList<>(); - for (CidTaskNode task : taskNodeList) { - task.setUuid(RandomUtil.generateString(32)); - task.setTenantId(tenantId); - String pUserIdStr = task.getPMemberList(); - String eUserIdStr = task.getEMemberList(); - log.info("下发的仿真负责人为:{}", pUserIdStr); - log.info("下发的仿真执行人为:{}", eUserIdStr); - if (StringUtils.isNotBlank(pUserIdStr)) { - String[] userIdArr = pUserIdStr.split(","); - for (String userId : userIdArr) { - TaskMemberNode taskMemberNode = new TaskMemberNode(); - taskMemberNode.setTaskId(task.getUuid()); - taskMemberNode.setNodeId(task.getUuid()); - taskMemberNode.setUserId(userId); - taskMemberNode.setType(MemberTypeEnum.PRINCIPAL.getCode()); - projectNodeMemberList.add(taskMemberNode); - } - } - if (StringUtils.isNotBlank(eUserIdStr)) { - String[] userIdArr = eUserIdStr.split(","); - for (String userId : userIdArr) { - TaskMemberNode taskMemberNode = new TaskMemberNode(); - taskMemberNode.setTaskId(task.getUuid()); - taskMemberNode.setNodeId(task.getUuid()); - taskMemberNode.setUserId(userId); - taskMemberNode.setType(MemberTypeEnum.EXECUTOR.getCode()); - projectNodeMemberList.add(taskMemberNode); - } - } - List extraList = task.getTaskExtraNodeList(); - if (CollectionUtils.isNotEmpty(extraList)) { - for (TaskExtraNode extra : extraList) { - TaskExtraNode taskExtraNode = new TaskExtraNode(); - taskExtraNode.setTaskId(task.getUuid()); - taskExtraNode.setNodeId(task.getUuid()); - taskExtraNode.setPropertyName(extra.getPropertyName()); - taskExtraNode.setPropertyValue(extra.getPropertyValue()); - projectNodeExtraList.add(taskExtraNode); - } - } - // 指标 - List performanceList = task.getChildren(); - for (CidTaskNode performance : performanceList) { - performance.setTaskId(task.getUuid()); - List performanceExtraList = performance.getTaskExtraNodeList(); - if (CollectionUtils.isNotEmpty(performanceExtraList)) { - for (TaskExtraNode extra : performanceExtraList) { - extra.setPerformanceId(performance.getUuid()); - extra.setTaskId(performance.getTaskId()); - extra.setNodeId(performance.getNodeId()); - allPerformanceExtraList.add(extra); - } - } - allPerformanceList.add(performance); - } - } - String createTime = DateUtil.now(); - Map taskNodeMap = Map.of(); - if (CollectionUtils.isNotEmpty(taskNodeList)) { - taskNodeList.forEach(projectNode -> { - projectNode.setCreator(jobNumber); - projectNode.setCreateTime(createTime); - }); - if (projectMapper.batchAddSimulationCidTask(taskNodeList) <= 0) { - response = SdmResponse.failed("新增任务失败"); - return response; - } - taskNodeMap = taskNodeList.stream().collect(Collectors.groupingBy( - CidTaskNode::getUuid, - Collectors.collectingAndThen( - Collectors.toList(), - list -> list.get(0) - ) - )); - for (CidTaskNode taskNode : taskNodeList) { - createDir(taskNode.getUuid(), null, taskNode.getTaskName()); - } - } - if (CollectionUtils.isNotEmpty(projectNodeExtraList)) { - projectNodeExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime)); - if (projectMapper.batchAddSimulationTaskExtra(projectNodeExtraList) <= 0) { - response = SdmResponse.failed("新增任务附加属性失败"); - } - } - if (CollectionUtils.isNotEmpty(projectNodeMemberList)) { - projectNodeMemberList.forEach(projectNode -> projectNode.setCreateTime(createTime)); - if (projectMapper.batchAddSimulationTaskMember(projectNodeMemberList) <= 0) { - response = SdmResponse.failed("新增任务成员属性失败"); - return response; - } - } - // 指标 - if (CollectionUtils.isNotEmpty(allPerformanceList)) { - allPerformanceList.forEach(projectNode -> projectNode.setCreateTime(createTime)); - if (projectMapper.batchAddSimulationCidPerformance(allPerformanceList) <= 0) { - response = SdmResponse.failed("新增指标失败"); - return response; - } - List newTaskNodeList = projectMapper.getTaskListByNodeIdList(allPerformanceList.stream().map(CidTaskNode::getTaskId).toList()); - Map taskNodePoMap = Map.of(); - if (CollectionUtils.isNotEmpty(newTaskNodeList)) { - taskNodePoMap = newTaskNodeList.stream().collect(Collectors.groupingBy( - TaskNodePo::getUuid, - Collectors.collectingAndThen( - Collectors.toList(), - list -> list.get(0) - ) - )); - } - for (CidTaskNode taskNode : allPerformanceList) { - if (ObjectUtils.isEmpty(taskNodePoMap.get(taskNode.getTaskId())) && ObjectUtils.isEmpty(taskNodeMap.get(taskNode.getTaskId()))) { - log.error("taskNodeMap不空,根据taskId:{},未查询到任务", taskNode.getTaskId()); - response = SdmResponse.failed("新增指标时,创建文件失败"); - return response; - } - createDir(taskNode.getUuid(), - ObjectUtils.isNotEmpty(taskNodePoMap.get(taskNode.getTaskId())) ? taskNodePoMap.get(taskNode.getTaskId()).getUuid() : taskNodeMap.get(taskNode.getTaskId()).getUuid(), - taskNode.getTaskName()); - } - } - if (CollectionUtils.isNotEmpty(allPerformanceExtraList)) { - allPerformanceExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime)); - if (projectMapper.batchAddSimulationPerformanceExtra(allPerformanceExtraList) <= 0) { - response = SdmResponse.failed("新增任务指标附加属性失败"); - return response; - } - } - return response; - } +// @Override +// public SdmResponse synchronizeCidTask(SpdmSyncCidTaskReq req) { +// log.info("同步CID任务的参数为:{}", req); +// Long tenantId = ThreadLocalContext.getTenantId(); +// Long jobNumber = ThreadLocalContext.getUserId(); +// List taskNodeList = req.getTaskList(); +// if (CollectionUtils.isEmpty(taskNodeList)) { +// log.error("同步CID任务的参数为空"); +// return SdmResponse.failed("同步CID任务的参数为空"); +// } +// SdmResponse response = SdmResponse.success(); +// List projectNodeMemberList = new ArrayList<>(); +// List projectNodeExtraList = new ArrayList<>(); +// List allPerformanceList = new ArrayList<>(); +// List allPerformanceExtraList = new ArrayList<>(); +// for (CidTaskNode task : taskNodeList) { +// task.setUuid(RandomUtil.generateString(32)); +// task.setTenantId(tenantId); +// String pUserIdStr = task.getPMemberList(); +// String eUserIdStr = task.getEMemberList(); +// log.info("下发的仿真负责人为:{}", pUserIdStr); +// log.info("下发的仿真执行人为:{}", eUserIdStr); +// if (StringUtils.isNotBlank(pUserIdStr)) { +// String[] userIdArr = pUserIdStr.split(","); +// for (String userId : userIdArr) { +// TaskMemberNode taskMemberNode = new TaskMemberNode(); +// taskMemberNode.setTaskId(task.getUuid()); +// taskMemberNode.setNodeId(task.getUuid()); +// taskMemberNode.setUserId(userId); +// taskMemberNode.setType(MemberTypeEnum.PRINCIPAL.getCode()); +// projectNodeMemberList.add(taskMemberNode); +// } +// } +// if (StringUtils.isNotBlank(eUserIdStr)) { +// String[] userIdArr = eUserIdStr.split(","); +// for (String userId : userIdArr) { +// TaskMemberNode taskMemberNode = new TaskMemberNode(); +// taskMemberNode.setTaskId(task.getUuid()); +// taskMemberNode.setNodeId(task.getUuid()); +// taskMemberNode.setUserId(userId); +// taskMemberNode.setType(MemberTypeEnum.EXECUTOR.getCode()); +// projectNodeMemberList.add(taskMemberNode); +// } +// } +// List extraList = task.getTaskExtraNodeList(); +// if (CollectionUtils.isNotEmpty(extraList)) { +// for (TaskExtraNode extra : extraList) { +// TaskExtraNode taskExtraNode = new TaskExtraNode(); +// taskExtraNode.setTaskId(task.getUuid()); +// taskExtraNode.setNodeId(task.getUuid()); +// taskExtraNode.setPropertyName(extra.getPropertyName()); +// taskExtraNode.setPropertyValue(extra.getPropertyValue()); +// projectNodeExtraList.add(taskExtraNode); +// } +// } +// // 指标 +// List performanceList = task.getChildren(); +// for (CidTaskNode performance : performanceList) { +// performance.setTaskId(task.getUuid()); +// List performanceExtraList = performance.getTaskExtraNodeList(); +// if (CollectionUtils.isNotEmpty(performanceExtraList)) { +// for (TaskExtraNode extra : performanceExtraList) { +// extra.setPerformanceId(performance.getUuid()); +// extra.setTaskId(performance.getTaskId()); +// extra.setNodeId(performance.getNodeId()); +// allPerformanceExtraList.add(extra); +// } +// } +// allPerformanceList.add(performance); +// } +// } +// String createTime = DateUtil.now(); +// Map taskNodeMap = Map.of(); +// if (CollectionUtils.isNotEmpty(taskNodeList)) { +// taskNodeList.forEach(projectNode -> { +// projectNode.setCreator(jobNumber); +// projectNode.setCreateTime(createTime); +// }); +// if (projectMapper.batchAddSimulationCidTask(taskNodeList) <= 0) { +// response = SdmResponse.failed("新增任务失败"); +// return response; +// } +// taskNodeMap = taskNodeList.stream().collect(Collectors.groupingBy( +// CidTaskNode::getUuid, +// Collectors.collectingAndThen( +// Collectors.toList(), +// list -> list.get(0) +// ) +// )); +// for (CidTaskNode taskNode : taskNodeList) { +// createDir(taskNode.getUuid(), NodeTypeEnum.TASK.getValue(),null, taskNode.getTaskName()); +// } +// } +// if (CollectionUtils.isNotEmpty(projectNodeExtraList)) { +// projectNodeExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime)); +// if (projectMapper.batchAddSimulationTaskExtra(projectNodeExtraList) <= 0) { +// response = SdmResponse.failed("新增任务附加属性失败"); +// } +// } +// if (CollectionUtils.isNotEmpty(projectNodeMemberList)) { +// projectNodeMemberList.forEach(projectNode -> projectNode.setCreateTime(createTime)); +// if (projectMapper.batchAddSimulationTaskMember(projectNodeMemberList) <= 0) { +// response = SdmResponse.failed("新增任务成员属性失败"); +// return response; +// } +// } +// // 指标 +// if (CollectionUtils.isNotEmpty(allPerformanceList)) { +// allPerformanceList.forEach(projectNode -> projectNode.setCreateTime(createTime)); +// if (projectMapper.batchAddSimulationCidPerformance(allPerformanceList) <= 0) { +// response = SdmResponse.failed("新增指标失败"); +// return response; +// } +// List newTaskNodeList = projectMapper.getTaskListByNodeIdList(allPerformanceList.stream().map(CidTaskNode::getTaskId).toList()); +// Map taskNodePoMap = Map.of(); +// if (CollectionUtils.isNotEmpty(newTaskNodeList)) { +// taskNodePoMap = newTaskNodeList.stream().collect(Collectors.groupingBy( +// TaskNodePo::getUuid, +// Collectors.collectingAndThen( +// Collectors.toList(), +// list -> list.get(0) +// ) +// )); +// } +// for (CidTaskNode taskNode : allPerformanceList) { +// if (ObjectUtils.isEmpty(taskNodePoMap.get(taskNode.getTaskId())) && ObjectUtils.isEmpty(taskNodeMap.get(taskNode.getTaskId()))) { +// log.error("taskNodeMap不空,根据taskId:{},未查询到任务", taskNode.getTaskId()); +// response = SdmResponse.failed("新增指标时,创建文件失败"); +// return response; +// } +// createDir(taskNode.getUuid(),NodeTypeEnum.PERFORMANCE.getValue(), +// ObjectUtils.isNotEmpty(taskNodePoMap.get(taskNode.getTaskId())) ? taskNodePoMap.get(taskNode.getTaskId()).getUuid() : taskNodeMap.get(taskNode.getTaskId()).getUuid(), +// taskNode.getTaskName()); +// } +// } +// if (CollectionUtils.isNotEmpty(allPerformanceExtraList)) { +// allPerformanceExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime)); +// if (projectMapper.batchAddSimulationPerformanceExtra(allPerformanceExtraList) <= 0) { +// response = SdmResponse.failed("新增任务指标附加属性失败"); +// return response; +// } +// } +// return response; +// } @Override public SdmResponse getTaskDetail(GetTaskDetailReq req) { @@ -1229,14 +1233,74 @@ public class TaskServiceImpl implements ITaskService { return SdmResponse.success(spdmTaskDetailVo); } - private void createDir(String uuid, String parentUuid, String dirName) { + private SdmResponse createDir(String uuid, String uuidOwnType,String parentUuid, String dirName) { CreateDirReq createDirReq = new CreateDirReq(); createDirReq.setUuId(uuid); + createDirReq.setUuIdOwnType(uuidOwnType); createDirReq.setParentUuId(parentUuid); createDirReq.setDirName(dirName); log.info("同步CID任务调用创建文件夹的参数为:{}", createDirReq); SdmResponse response = dataClientFeignClient.createDir(createDirReq); log.info("同步CID调用创建文件夹的返回值为:{}", response); + return response; + } + + @Transactional + @Override + public void syncCidTask(SyncCidTaskReq req) { + log.info("syncCidTask参数为:{}", req); + List taskInfoList = req.getTaskInfoList(); + if (CollectionUtils.isEmpty(taskInfoList)) { + log.error("同步cid任务时,任务为空"); + return; + } + 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()); + return; + } + List taskNodeList = new ArrayList<>(); + for (ProjectTaskInfo projectTaskInfo : taskInfoList) { + CidTaskNode taskNode = new CidTaskNode(); + taskNode.setUuid(projectTaskInfo.getTaskId()); + taskNode.setTaskName(projectTaskInfo.getTaskName()); + taskNode.setNodeId(req.getProjectId()); + taskNode.setCreateTime(curDateStr); + taskNode.setTenantId(1999999999999999999L); + taskNodeList.add(taskNode); + } + if (projectMapper.batchAddSimulationCidTask(taskNodeList) <= 0) { + log.error("同步CID任务失败"); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return; + } + 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(); + } + // 创建任务节点的文件夹 + for (CidTaskNode taskNode : taskNodeList) { + response = createDir(taskNode.getUuid(), NodeTypeEnum.TASK.getValue(), req.getProjectId(), taskNode.getTaskName()); + if (ObjectUtils.isEmpty(response) || response.getCode() != ResultCode.SUCCESS.getCode()) { + log.error("同步CID任务时,创建任务:{}的文件夹失败,原因为:{}",taskNode.getUuid() + " " + taskNode.getTaskName(),response.getMessage()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + }catch (Exception ex) { + log.error("同步CID任务时,创建文件夹失败,原因为:{}",ex.getMessage()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } } } diff --git a/project/src/main/resources/mapper/SimulationNodeMapper.xml b/project/src/main/resources/mapper/SimulationNodeMapper.xml index 2cd539e6..9a933f98 100644 --- a/project/src/main/resources/mapper/SimulationNodeMapper.xml +++ b/project/src/main/resources/mapper/SimulationNodeMapper.xml @@ -11,7 +11,7 @@ values (#{addNode.uuid},#{addNode.ownRootNodeUuid},#{addNode.nodeName},#{addNode.nodeCode},'',#{addNode.nodeType},#{addNode.nodeSubType},'0',#{addNode.pid}, - '',1,#{addNode.beginTime},#{addNode.endTime},'',#{addNode.progressStatus},#{addNode.achieveStatus},#{addNode.exeStauts},#{addNode.tenantId},#{addNode.description}, + '',1,#{addNode.beginTime},#{addNode.endTime},'',#{addNode.progressStatus},#{addNode.achieveStatus},#{addNode.exeStatus},#{addNode.tenantId},#{addNode.description}, #{addNode.detailImgUrl},#{addNode.creator},#{addNode.createTime},#{addNode.tag1},#{addNode.tag2}, #{addNode.tag3},#{addNode.tag4},#{addNode.tag5},#{addNode.tag6},#{addNode.tag7},#{addNode.tag8},#{addNode.tag9},#{addNode.tag10}) diff --git a/project/src/main/resources/mapper/SimulationProjectMapper.xml b/project/src/main/resources/mapper/SimulationProjectMapper.xml index b2119108..6aa61019 100644 --- a/project/src/main/resources/mapper/SimulationProjectMapper.xml +++ b/project/src/main/resources/mapper/SimulationProjectMapper.xml @@ -35,11 +35,11 @@ insert into simulation_task (uuid,task_name,task_code,task_pool_name,task_pool_version,node_id,days,standard,fold_id,status,achieve_status,begin_time,end_time,progress,exe_status,confidence,analyse_target,analyse_software,description,difficult,tenant_id - ,creator,create_time,department,sectionName,groupName,bCapacity,flowTemplate,englishName) values + ,creator,create_time,department,sectionName,groupName,bCapacity,englishName) values (#{it.uuid},#{it.taskName},#{it.taskCode},'','',#{it.nodeId},#{it.days},#{it.standard},'',1,0, #{it.beginTime},#{it.endTime},0,1,#{it.confidence},#{it.analyseTarget},#{it.analyseSoftwares},#{it.description},#{it.difficult},#{it.tenantId}, - #{it.creator},#{it.createTime},#{it.department},#{it.section},#{it.group},#{it.bCapacity},#{it.flowTemplate},#{it.englishName}) + #{it.creator},#{it.createTime},#{it.department},#{it.section},#{it.group},#{it.bCapacity},#{it.englishName})