From a83b02a3c94bef8ab4c9f876bb050fc86d4e24f7 Mon Sep 17 00:00:00 2001 From: lidongyang <506508008@qq.com> Date: Wed, 11 Mar 2026 18:54:10 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=88=9B=E5=BB=BA=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E3=80=81=E9=98=B6=E6=AE=B5=E3=80=81=E6=9C=BA=E5=8F=B0=E3=80=81?= =?UTF-8?q?=E5=B7=A5=E4=BD=8D=E3=80=81=E4=BB=BB=E5=8A=A1=E3=80=81=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E6=97=B6=EF=BC=8C=E5=90=8C=E6=AD=A5tag1-tag10?= =?UTF-8?q?=E7=BB=99=E5=88=B0=E6=96=87=E4=BB=B6=E6=95=B0=E6=8D=AE=E6=A0=87?= =?UTF-8?q?=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ILyricInternalService.java | 2 +- .../sdm/project/service/IProjectService.java | 2 +- .../service/impl/DemandServiceImpl.java | 9 +- .../impl/LyricInternalServiceImpl.java | 155 +++--- .../project/service/impl/NodeServiceImpl.java | 181 ++++--- .../service/impl/ProjectServiceImpl.java | 449 +++++++++--------- .../project/service/impl/TaskServiceImpl.java | 34 +- 7 files changed, 445 insertions(+), 387 deletions(-) diff --git a/project/src/main/java/com/sdm/project/service/ILyricInternalService.java b/project/src/main/java/com/sdm/project/service/ILyricInternalService.java index 25ff4507..27ba8d4f 100644 --- a/project/src/main/java/com/sdm/project/service/ILyricInternalService.java +++ b/project/src/main/java/com/sdm/project/service/ILyricInternalService.java @@ -21,7 +21,7 @@ public interface ILyricInternalService { // SdmResponse getTodoListByProjectNum(String projectNum); - SdmResponse getMainPlanListByProjectId(Integer projectId,String projectUuid); +// SdmResponse getMainPlanListByProjectId(Integer projectId,String projectUuid); SdmResponse getProjectList(); diff --git a/project/src/main/java/com/sdm/project/service/IProjectService.java b/project/src/main/java/com/sdm/project/service/IProjectService.java index b13ad655..6a1f1836 100644 --- a/project/src/main/java/com/sdm/project/service/IProjectService.java +++ b/project/src/main/java/com/sdm/project/service/IProjectService.java @@ -14,7 +14,7 @@ import java.util.List; @Service public interface IProjectService { - SdmResponse add(JSONObject jsonObject); +// SdmResponse add(JSONObject jsonObject); SdmResponse edit(List jsonObject); diff --git a/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java index 3c2024d0..27f2ba88 100644 --- a/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java @@ -920,7 +920,7 @@ public class DemandServiceImpl extends BaseService implements IDemandService { ) )); for (TaskNode taskNode : taskNodeList) { - createDir(taskNode.getUuid(), parentUuid, taskNode.getNodeName()); + createDir(taskNode.getUuid(), parentUuid, taskNode.getNodeName(),taskNode); } } if (CollectionUtils.isNotEmpty(projectNodeExtraList)) { @@ -973,7 +973,7 @@ public class DemandServiceImpl extends BaseService implements IDemandService { } createDir(taskNode.getUuid(), ObjectUtils.isNotEmpty(taskNodePoMap.get(taskNode.getTaskId())) ? taskNodePoMap.get(taskNode.getTaskId()).getUuid() : taskNodeMap.get(taskNode.getTaskId()).getUuid(), - taskNode.getNodeName()); + taskNode.getNodeName(),taskNode); } } @@ -1694,11 +1694,14 @@ public class DemandServiceImpl extends BaseService implements IDemandService { // } - private void createDir(String uuid, String parentUuid, String dirName) { + private void createDir(String uuid, String parentUuid, String dirName,TaskNode taskNode) { CreateDirReq createDirReq = new CreateDirReq(); createDirReq.setUuId(uuid); createDirReq.setParentUuId(parentUuid); createDirReq.setDirName(dirName); + TagReq tagReq = new TagReq(); + BeanUtils.copyProperties(taskNode,tagReq); + createDirReq.setTagReq(tagReq); log.info("下发任务调用创建文件夹的参数为:{}", createDirReq); SdmResponse response = dataClientFeignClient.createDir(createDirReq); log.info("下发任务调用创建文件夹的返回值为:{}", response); diff --git a/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java index a16a7aca..e65966b9 100644 --- a/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java @@ -1173,79 +1173,79 @@ public class LyricInternalServiceImpl implements ILyricInternalService { // return SdmResponse.success(); // } - @Override - public SdmResponse getMainPlanListByProjectId(Integer projectId, String projectUuid) { - log.info("同步主计划,projectId:{},projectUuid:{}", projectId, projectUuid); - if (ObjectUtils.isEmpty(projectId) || ObjectUtils.isEmpty(projectUuid)) { - log.error("同步主计划时,项目id和uuid都不能为空"); - return SdmResponse.failed("同步主计划时,项目id和uuid都不能为空"); - } - Long tenantId = ThreadLocalContext.getTenantId(); - Long jobNumber = ThreadLocalContext.getUserId(); - String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - List mainPlanList = lyricVMainPlanDMService.lambdaQuery().eq(LyricVMainPlanDM::getProjectId, String.valueOf(projectId)).list(); - log.info("mainPlanList为:{}", mainPlanList); - if (CollectionUtils.isEmpty(mainPlanList)) { - log.info("mainPlanList为空"); - return SdmResponse.success(); - } - List nodeList = nodeService.lambdaQuery() - .eq(SimulationNode::getProjectSource, SYNC_PROJECT_SOURCE) - .eq(SimulationNode::getNodeType, NodeTypeEnum.PHASE.getValue()) - .list(); - if (CollectionUtils.isNotEmpty(nodeList)) { - List nodeNameList = nodeList.stream().map(SimulationNode::getNodeName).toList(); - log.info("nodeNameList为:{}", nodeNameList); - mainPlanList = mainPlanList.stream().filter(planInfo -> !nodeNameList.contains(String.valueOf(planInfo.getSubject()))).toList(); - if (CollectionUtils.isEmpty(mainPlanList)) { - log.info("本次同步到的主计划都已经进行过同步"); - return SdmResponse.success(); - } - } - log.info("同步到的主计划编号集合为:{}", mainPlanList.stream().map(LyricVMainPlanDM::getSubject).toList()); - List simulationNodeList = new ArrayList<>(); - for (LyricVMainPlanDM newPhaseInfo : mainPlanList) { - String uuid = RandomUtil.generateString(32); - SimulationNode simulationNode = new SimulationNode(); - simulationNode.setUuid(uuid); - simulationNode.setOwnRootNodeUuid(uuid); - simulationNode.setNodeName(StringUtils.isNotBlank(newPhaseInfo.getSubject()) ? newPhaseInfo.getSubject() : "默认阶段"); - simulationNode.setNodeType(NodeTypeEnum.PHASE.getValue()); - simulationNode.setNodeStatus("0"); - simulationNode.setNodeLevel(1); - simulationNode.setTenantId(tenantId); - simulationNode.setExeStatus("0"); - simulationNode.setCreator(jobNumber); - simulationNode.setCreateTime(curDateStr); - simulationNode.setTag1(projectUuid); - simulationNode.setTag2(uuid); - try { - createDir(simulationNode.getUuid(), simulationNode.getNodeType(), simulationNode.getTag1(), simulationNode.getNodeName()); - } catch (Exception e) { - log.error("同步主计划创建文件夹时有异常:{}", e.getMessage()); - } - simulationNodeList.add(simulationNode); - } - nodeService.saveBatch(simulationNodeList); - // 更新文件权限 - for (SimulationNode simulationNode : simulationNodeList) { - UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq(); - updatePermissionReq.setUserId(jobNumber); - updatePermissionReq.setUuid(simulationNode.getUuid()); - Map userPermissions = new HashMap<>(); - userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue()); - updatePermissionReq.setUserPermissions(userPermissions); - log.info("同步主计划时,更新用户权限的参数为:{}", updatePermissionReq); - SdmResponse updatePermissionResponse = null; - try { - updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq); - } catch (Exception e) { - log.error("同步主计划更新用户权限时有异常:{}", e.getMessage()); - } - log.info("同步主计划时,更新用户权限的返回值为:{}", updatePermissionResponse); - } - return SdmResponse.success(); - } +// @Override +// public SdmResponse getMainPlanListByProjectId(Integer projectId, String projectUuid) { +// log.info("同步主计划,projectId:{},projectUuid:{}", projectId, projectUuid); +// if (ObjectUtils.isEmpty(projectId) || ObjectUtils.isEmpty(projectUuid)) { +// log.error("同步主计划时,项目id和uuid都不能为空"); +// return SdmResponse.failed("同步主计划时,项目id和uuid都不能为空"); +// } +// Long tenantId = ThreadLocalContext.getTenantId(); +// Long jobNumber = ThreadLocalContext.getUserId(); +// String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); +// List mainPlanList = lyricVMainPlanDMService.lambdaQuery().eq(LyricVMainPlanDM::getProjectId, String.valueOf(projectId)).list(); +// log.info("mainPlanList为:{}", mainPlanList); +// if (CollectionUtils.isEmpty(mainPlanList)) { +// log.info("mainPlanList为空"); +// return SdmResponse.success(); +// } +// List nodeList = nodeService.lambdaQuery() +// .eq(SimulationNode::getProjectSource, SYNC_PROJECT_SOURCE) +// .eq(SimulationNode::getNodeType, NodeTypeEnum.PHASE.getValue()) +// .list(); +// if (CollectionUtils.isNotEmpty(nodeList)) { +// List nodeNameList = nodeList.stream().map(SimulationNode::getNodeName).toList(); +// log.info("nodeNameList为:{}", nodeNameList); +// mainPlanList = mainPlanList.stream().filter(planInfo -> !nodeNameList.contains(String.valueOf(planInfo.getSubject()))).toList(); +// if (CollectionUtils.isEmpty(mainPlanList)) { +// log.info("本次同步到的主计划都已经进行过同步"); +// return SdmResponse.success(); +// } +// } +// log.info("同步到的主计划编号集合为:{}", mainPlanList.stream().map(LyricVMainPlanDM::getSubject).toList()); +// List simulationNodeList = new ArrayList<>(); +// for (LyricVMainPlanDM newPhaseInfo : mainPlanList) { +// String uuid = RandomUtil.generateString(32); +// SimulationNode simulationNode = new SimulationNode(); +// simulationNode.setUuid(uuid); +// simulationNode.setOwnRootNodeUuid(uuid); +// simulationNode.setNodeName(StringUtils.isNotBlank(newPhaseInfo.getSubject()) ? newPhaseInfo.getSubject() : "默认阶段"); +// simulationNode.setNodeType(NodeTypeEnum.PHASE.getValue()); +// simulationNode.setNodeStatus("0"); +// simulationNode.setNodeLevel(1); +// simulationNode.setTenantId(tenantId); +// simulationNode.setExeStatus("0"); +// simulationNode.setCreator(jobNumber); +// simulationNode.setCreateTime(curDateStr); +// simulationNode.setTag1(projectUuid); +// simulationNode.setTag2(uuid); +// try { +// createDir(simulationNode.getUuid(), simulationNode.getNodeType(), simulationNode.getTag1(), simulationNode.getNodeName()); +// } catch (Exception e) { +// log.error("同步主计划创建文件夹时有异常:{}", e.getMessage()); +// } +// simulationNodeList.add(simulationNode); +// } +// nodeService.saveBatch(simulationNodeList); +// // 更新文件权限 +// for (SimulationNode simulationNode : simulationNodeList) { +// UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq(); +// updatePermissionReq.setUserId(jobNumber); +// updatePermissionReq.setUuid(simulationNode.getUuid()); +// Map userPermissions = new HashMap<>(); +// userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue()); +// updatePermissionReq.setUserPermissions(userPermissions); +// log.info("同步主计划时,更新用户权限的参数为:{}", updatePermissionReq); +// SdmResponse updatePermissionResponse = null; +// try { +// updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq); +// } catch (Exception e) { +// log.error("同步主计划更新用户权限时有异常:{}", e.getMessage()); +// } +// log.info("同步主计划时,更新用户权限的返回值为:{}", updatePermissionResponse); +// } +// return SdmResponse.success(); +// } @Override public SdmResponse getProjectList() { @@ -1681,13 +1681,16 @@ public class LyricInternalServiceImpl implements ILyricInternalService { * @param parentUuid 父节点uuid * @param dirName 待长江文件夹名称 */ - private SdmResponse createDir(String uuid, String uuidOwnType, String parentUuid, String dirName) { + private SdmResponse createDir(String uuid, String uuidOwnType, String parentUuid, String dirName,SpdmProjectNodeEditReq spdmProjectNodeEditReq) { CreateDirReq createDirReq = new CreateDirReq(); createDirReq.setUuId(uuid); createDirReq.setUuIdOwnType(uuidOwnType); createDirReq.setParentUuId(ObjectUtils.isNotEmpty(parentUuid) ? parentUuid : null); createDirReq.setDirName(dirName); createDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue()); + TagReq tagReq = new TagReq(); + BeanUtils.copyProperties(spdmProjectNodeEditReq,tagReq); + createDirReq.setTagReq(tagReq); log.info("同步项目阶段时,调用创建文件夹的参数为:{}", createDirReq); SdmResponse response = dataFeignClient.createDir(createDirReq); log.info("同步项目阶段时,调用创建文件夹的返回值为:{}", response); @@ -1843,7 +1846,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { return null; } for (SpdmProjectNodeEditReq node : addNodeList) { - createDir(node.getUuid(), node.getNodeType(), node.getPid(), node.getNodeName()); + createDir(node.getUuid(), node.getNodeType(), node.getPid(), node.getNodeName(),node); } // 更新文件权限 Long userId = ThreadLocalContext.getUserId(); @@ -2604,7 +2607,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { } SpdmProjectNodeEditReq firstPhaseNode = phaseNodes.get(0); createDir(firstPhaseNode.getUuid(), firstPhaseNode.getNodeType(), - firstPhaseNode.getPid(), firstPhaseNode.getNodeName()); + firstPhaseNode.getPid(), firstPhaseNode.getNodeName(),firstPhaseNode); } /** 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 c0c33ec4..f941119a 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 @@ -1086,7 +1086,7 @@ public class NodeServiceImpl extends ServiceImpl mainPlanList = lyricVMainPlanDMService.lambdaQuery().eq(LyricVMainPlanDM::getProjectId, String.valueOf(projectId)).list(); - log.info("mainPlanList为:{}", mainPlanList); - if (CollectionUtils.isEmpty(mainPlanList)) { - log.info("mainPlanList为空"); - return SdmResponse.success(); - } - List nodeList = this.lambdaQuery().eq(SimulationNode::getProjectSource, SYNC_PROJECT_SOURCE) - .eq(SimulationNode::getNodeType, NodeTypeEnum.PHASE.getValue()) - .list(); - if (CollectionUtils.isNotEmpty(nodeList)) { - List nodeNameList = nodeList.stream().map(SimulationNode::getNodeName).toList(); - log.info("nodeNameList为:{}", nodeNameList); - mainPlanList = mainPlanList.stream().filter(planInfo -> !nodeNameList.contains(String.valueOf(planInfo.getSubject()))).toList(); - if (CollectionUtils.isEmpty(mainPlanList)) { - log.info("本次同步到的主计划都已经进行过同步"); - return SdmResponse.success(); - } - } - log.info("同步到的主计划编号集合为:{}", mainPlanList.stream().map(LyricVMainPlanDM::getSubject).toList()); - List simulationNodeList = new ArrayList<>(); - for (LyricVMainPlanDM newPhaseInfo : mainPlanList) { - String uuid = RandomUtil.generateString(32); - SimulationNode simulationNode = new SimulationNode(); - simulationNode.setUuid(uuid); - simulationNode.setOwnRootNodeUuid(uuid); - simulationNode.setNodeName(StringUtils.isNotBlank(newPhaseInfo.getSubject()) ? newPhaseInfo.getSubject() : "默认阶段"); - simulationNode.setNodeType(NodeTypeEnum.PHASE.getValue()); - simulationNode.setNodeStatus("0"); - simulationNode.setNodeLevel(1); - simulationNode.setTenantId(tenantId); - simulationNode.setExeStatus("0"); - simulationNode.setCreator(jobNumber); - simulationNode.setCreateTime(curDateStr); - simulationNode.setTag1(projectUuid); - simulationNode.setTag2(uuid); - try { - createDir(simulationNode.getUuid(), simulationNode.getNodeType(), simulationNode.getTag1(), simulationNode.getNodeName()); - } catch (Exception e) { - log.error("同步主计划创建文件夹时有异常:{}", e.getMessage()); - } - simulationNodeList.add(simulationNode); - } - this.saveBatch(simulationNodeList); - // 更新文件权限 - for (SimulationNode simulationNode : simulationNodeList) { - UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq(); - updatePermissionReq.setUserId(jobNumber); - updatePermissionReq.setUuid(simulationNode.getUuid()); - Map userPermissions = new HashMap<>(); - userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue()); - updatePermissionReq.setUserPermissions(userPermissions); - log.info("同步主计划时,更新用户权限的参数为:{}", updatePermissionReq); - SdmResponse updatePermissionResponse = null; - try { - updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq); - } catch (Exception e) { - log.error("同步主计划更新用户权限时有异常:{}", e.getMessage()); - } - log.info("同步主计划时,更新用户权限的返回值为:{}", updatePermissionResponse); - } - return SdmResponse.success(); - } +// public SdmResponse getMainPlanListByProjectId(Integer projectId, String projectUuid) { +// log.info("同步主计划,projectId:{},projectUuid:{}", projectId, projectUuid); +// if (ObjectUtils.isEmpty(projectId) || ObjectUtils.isEmpty(projectUuid)) { +// log.error("同步主计划时,项目id和uuid都不能为空"); +// return SdmResponse.failed("同步主计划时,项目id和uuid都不能为空"); +// } +// Long tenantId = ThreadLocalContext.getTenantId(); +// Long jobNumber = ThreadLocalContext.getUserId(); +// String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); +// List mainPlanList = lyricVMainPlanDMService.lambdaQuery().eq(LyricVMainPlanDM::getProjectId, String.valueOf(projectId)).list(); +// log.info("mainPlanList为:{}", mainPlanList); +// if (CollectionUtils.isEmpty(mainPlanList)) { +// log.info("mainPlanList为空"); +// return SdmResponse.success(); +// } +// List nodeList = this.lambdaQuery().eq(SimulationNode::getProjectSource, SYNC_PROJECT_SOURCE) +// .eq(SimulationNode::getNodeType, NodeTypeEnum.PHASE.getValue()) +// .list(); +// if (CollectionUtils.isNotEmpty(nodeList)) { +// List nodeNameList = nodeList.stream().map(SimulationNode::getNodeName).toList(); +// log.info("nodeNameList为:{}", nodeNameList); +// mainPlanList = mainPlanList.stream().filter(planInfo -> !nodeNameList.contains(String.valueOf(planInfo.getSubject()))).toList(); +// if (CollectionUtils.isEmpty(mainPlanList)) { +// log.info("本次同步到的主计划都已经进行过同步"); +// return SdmResponse.success(); +// } +// } +// log.info("同步到的主计划编号集合为:{}", mainPlanList.stream().map(LyricVMainPlanDM::getSubject).toList()); +// List simulationNodeList = new ArrayList<>(); +// for (LyricVMainPlanDM newPhaseInfo : mainPlanList) { +// String uuid = RandomUtil.generateString(32); +// SimulationNode simulationNode = new SimulationNode(); +// simulationNode.setUuid(uuid); +// simulationNode.setOwnRootNodeUuid(uuid); +// simulationNode.setNodeName(StringUtils.isNotBlank(newPhaseInfo.getSubject()) ? newPhaseInfo.getSubject() : "默认阶段"); +// simulationNode.setNodeType(NodeTypeEnum.PHASE.getValue()); +// simulationNode.setNodeStatus("0"); +// simulationNode.setNodeLevel(1); +// simulationNode.setTenantId(tenantId); +// simulationNode.setExeStatus("0"); +// simulationNode.setCreator(jobNumber); +// simulationNode.setCreateTime(curDateStr); +// simulationNode.setTag1(projectUuid); +// simulationNode.setTag2(uuid); +// try { +// createDir(simulationNode.getUuid(), simulationNode.getNodeType(), simulationNode.getTag1(), simulationNode.getNodeName()); +// } catch (Exception e) { +// log.error("同步主计划创建文件夹时有异常:{}", e.getMessage()); +// } +// simulationNodeList.add(simulationNode); +// } +// this.saveBatch(simulationNodeList); +// // 更新文件权限 +// for (SimulationNode simulationNode : simulationNodeList) { +// UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq(); +// updatePermissionReq.setUserId(jobNumber); +// updatePermissionReq.setUuid(simulationNode.getUuid()); +// Map userPermissions = new HashMap<>(); +// userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue()); +// updatePermissionReq.setUserPermissions(userPermissions); +// log.info("同步主计划时,更新用户权限的参数为:{}", updatePermissionReq); +// SdmResponse updatePermissionResponse = null; +// try { +// updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq); +// } catch (Exception e) { +// log.error("同步主计划更新用户权限时有异常:{}", e.getMessage()); +// } +// log.info("同步主计划时,更新用户权限的返回值为:{}", updatePermissionResponse); +// } +// return SdmResponse.success(); +// } /** * 判断字符串是否可以安全转换为Long类型 diff --git a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java index 2c177450..cdfb1cdc 100644 --- a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java @@ -193,21 +193,21 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { private CacheManager cacheManager; - @Override - @Transactional - public SdmResponse add(JSONObject jsonObject) { - Long tenantId = ThreadLocalContext.getTenantId(); - TaskNodeTree taskNodeTree = parseTaskTree(jsonObject); - HashMap> idMap = new HashMap<>(); - HashMap> taskIdMap = new HashMap<>(); - SdmResponse response = realAddSimulationTaskItems(taskNodeTree, "", tenantId,idMap,taskIdMap); - if (response.getCode() != ResultCode.SUCCESS.getCode()) { - log.error("新增任务失败,清理新增数据!"); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return SdmResponse.failed("新增任务失败!"); - } - return response; - } +// @Override +// @Transactional +// public SdmResponse add(JSONObject jsonObject) { +// Long tenantId = ThreadLocalContext.getTenantId(); +// TaskNodeTree taskNodeTree = parseTaskTree(jsonObject); +// HashMap> idMap = new HashMap<>(); +// HashMap> taskIdMap = new HashMap<>(); +// SdmResponse response = realAddSimulationTaskItems(taskNodeTree, "", tenantId,idMap,taskIdMap); +// if (response.getCode() != ResultCode.SUCCESS.getCode()) { +// log.error("新增任务失败,清理新增数据!"); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return SdmResponse.failed("新增任务失败!"); +// } +// return response; +// } @Override public SdmResponse edit(List taskEditNodeReqList) { @@ -2131,7 +2131,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { NodeTypeEnum.PROJECT.getValue().equals(taskNode.getNodeType()) ? null : (ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId())) ? projectNodePoMap.get(taskNode.getParentId()).getUuid() : projectNodeMap.get(taskNode.getParentId()).getUuid()), - taskNode.getNodeName()); + taskNode.getNodeName(),taskNode); } for (TaskNode taskNode : projectNodeList) { updatePermission(userId,taskNode.getUuid(),FilePermissionEnum.ALL_EXCLUDE_DELETE.getValue()); @@ -2258,7 +2258,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { response = SdmResponse.failed("新增分析项时,创建文件失败"); return response; } - createDir(taskNode.getUuid(),taskNode.getNodeType(), projectNodePoMap.get(taskNode.getParentId()).getUuid(), taskNode.getNodeName()); + createDir(taskNode.getUuid(),taskNode.getNodeType(), projectNodePoMap.get(taskNode.getParentId()).getUuid(), taskNode.getNodeName(),taskNode); } } else { @@ -2270,7 +2270,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { } createDir(taskNode.getUuid(),taskNode.getNodeType(), ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId())) ? projectNodePoMap.get(taskNode.getParentId()).getUuid() : projectNodeMap.get(taskNode.getParentId()).getUuid(), - taskNode.getNodeName()); + taskNode.getNodeName(),taskNode); } } for (TaskNode taskNode : taskNodeList) { @@ -2317,7 +2317,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { response = SdmResponse.failed("新增指标时,创建文件失败"); return response; } - createDir(taskNode.getUuid(), taskNode.getNodeType(), taskNodePoMap.get(taskNode.getTaskId()).getUuid(), taskNode.getNodeName()); + createDir(taskNode.getUuid(), taskNode.getNodeType(), taskNodePoMap.get(taskNode.getTaskId()).getUuid(), taskNode.getNodeName(),taskNode); } } else { for (TaskNode taskNode : projectNodePerformanceList) { @@ -2328,7 +2328,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { } createDir(taskNode.getUuid(),taskNode.getNodeType(), ObjectUtils.isNotEmpty(taskNodePoMap.get(taskNode.getTaskId())) ? taskNodePoMap.get(taskNode.getTaskId()).getUuid() : taskNodeMap.get(taskNode.getTaskId()).getUuid(), - taskNode.getNodeName()); + taskNode.getNodeName(),taskNode); } } for (TaskNode taskNode : projectNodePerformanceList) { @@ -2352,209 +2352,209 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { return response; } - private SdmResponse realAddSimulationTaskItems(TaskNodeTree taskNodeTree, String parentId, Long tenantId,HashMap> idMap,HashMap> taskIdMap) { - Long jobNumber = ThreadLocalContext.getUserId(); - SdmResponse response = SdmResponse.success(); - if (CollectionUtils.isEmpty(taskNodeTree.getNodeList())) { - response = SdmResponse.failed("节点不能为空"); - } else { - List projectNodeList = new ArrayList<>(); - List projectNodeMemberList = new ArrayList<>(); - List projectNodeExtraList = new ArrayList<>(); - List taskNodeList = new ArrayList<>(); - List taskNodeMemberList = new ArrayList<>(); - List taskNodeExtraList = new ArrayList<>(); - List projectNodePerformanceList = new ArrayList<>(); - List projectNodePerformanceExtraList = new ArrayList<>(); - for (TaskNode taskNode : taskNodeTree.getNodeList()) { - traverseTaskNode(taskNode.getPid(), tenantId, VersionEnum.INITIAL.getCode(), taskNode, projectNodeList, projectNodeMemberList, projectNodeExtraList, taskNodeList, taskNodeMemberList, taskNodeExtraList, projectNodePerformanceList, projectNodePerformanceExtraList, null,idMap,taskIdMap); - } - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String createTime = format.format(new Date()); - Map projectNodeMap = Map.of(); - Map taskNodeMap = Map.of(); - if (CollectionUtils.isNotEmpty(projectNodeList)) { - projectNodeList.forEach(projectNode -> projectNode.setCreateTime(createTime)); - if (mapper.batchAddSimulationNodes(projectNodeList) <= 0) { - response = SdmResponse.failed("添加节点失败"); - return response; - } - projectNodeMap = projectNodeList.stream().collect(Collectors.groupingBy( - TaskNode::getUuid, - Collectors.collectingAndThen( - Collectors.toList(), - list -> list.get(0) - ) - )); - Map projectNodePoMap = Map.of(); - List newProjectNodeList = mapper.getNodeListByNodeIdList(projectNodeList.stream().map(TaskNode::getParentId).toList()); - if (CollectionUtils.isNotEmpty(newProjectNodeList)) { - projectNodePoMap = newProjectNodeList.stream().collect(Collectors.groupingBy( - ProjectNodePo::getUuid, - Collectors.collectingAndThen( - Collectors.toList(), - list -> list.get(0) - ) - )); - } - for (TaskNode taskNode : projectNodeList) { - if (ObjectUtils.isEmpty(projectNodeMap.get(taskNode.getParentId())) - && ObjectUtils.isEmpty(projectNodePoMap.get(taskNode.getParentId())) && !NodeTypeEnum.PROJECT.getValue().equals(taskNode.getNodeType())) { - log.error("新增节点时,根据parentId:{},未查询到节点", taskNode.getParentId()); - response = SdmResponse.failed("新增节点时,创建文件失败"); - return response; - } - createDir(taskNode.getUuid(), - NodeTypeEnum.PROJECT.getValue().equals(taskNode.getNodeType()) ? null : (ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId())) - ? projectNodePoMap.get(taskNode.getParentId()).getUuid() - : projectNodeMap.get(taskNode.getParentId()).getUuid()), - taskNode.getNodeName()); - } - } - if (CollectionUtils.isNotEmpty(projectNodeExtraList)) { - projectNodeExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime)); - if (mapper.batchAddSimulationNodeExtra(projectNodeExtraList) <= 0) { - response = SdmResponse.failed("添加节点附加属性失败"); - return response; - } - } - if (CollectionUtils.isNotEmpty(projectNodeMemberList)) { - projectNodeMemberList.forEach(projectNode -> { - projectNode.setCreateTime(createTime); - projectNode.setType(NodeMemberTypeEnum.MANAGER.getCode()); - }); - if (mapper.batchAddSimulationNodeMember(projectNodeMemberList) <= 0) { - response = SdmResponse.failed("添加节点成员属性失败"); - } - } +// private SdmResponse realAddSimulationTaskItems(TaskNodeTree taskNodeTree, String parentId, Long tenantId,HashMap> idMap,HashMap> taskIdMap) { +// Long jobNumber = ThreadLocalContext.getUserId(); +// SdmResponse response = SdmResponse.success(); +// if (CollectionUtils.isEmpty(taskNodeTree.getNodeList())) { +// response = SdmResponse.failed("节点不能为空"); +// } else { +// List projectNodeList = new ArrayList<>(); +// List projectNodeMemberList = new ArrayList<>(); +// List projectNodeExtraList = new ArrayList<>(); +// List taskNodeList = new ArrayList<>(); +// List taskNodeMemberList = new ArrayList<>(); +// List taskNodeExtraList = new ArrayList<>(); +// List projectNodePerformanceList = new ArrayList<>(); +// List projectNodePerformanceExtraList = new ArrayList<>(); +// for (TaskNode taskNode : taskNodeTree.getNodeList()) { +// traverseTaskNode(taskNode.getPid(), tenantId, VersionEnum.INITIAL.getCode(), taskNode, projectNodeList, projectNodeMemberList, projectNodeExtraList, taskNodeList, taskNodeMemberList, taskNodeExtraList, projectNodePerformanceList, projectNodePerformanceExtraList, null,idMap,taskIdMap); +// } +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String createTime = format.format(new Date()); +// Map projectNodeMap = Map.of(); +// Map taskNodeMap = Map.of(); +// if (CollectionUtils.isNotEmpty(projectNodeList)) { +// projectNodeList.forEach(projectNode -> projectNode.setCreateTime(createTime)); +// if (mapper.batchAddSimulationNodes(projectNodeList) <= 0) { +// response = SdmResponse.failed("添加节点失败"); +// return response; +// } +// projectNodeMap = projectNodeList.stream().collect(Collectors.groupingBy( +// TaskNode::getUuid, +// Collectors.collectingAndThen( +// Collectors.toList(), +// list -> list.get(0) +// ) +// )); +// Map projectNodePoMap = Map.of(); +// List newProjectNodeList = mapper.getNodeListByNodeIdList(projectNodeList.stream().map(TaskNode::getParentId).toList()); +// if (CollectionUtils.isNotEmpty(newProjectNodeList)) { +// projectNodePoMap = newProjectNodeList.stream().collect(Collectors.groupingBy( +// ProjectNodePo::getUuid, +// Collectors.collectingAndThen( +// Collectors.toList(), +// list -> list.get(0) +// ) +// )); +// } +// for (TaskNode taskNode : projectNodeList) { +// if (ObjectUtils.isEmpty(projectNodeMap.get(taskNode.getParentId())) +// && ObjectUtils.isEmpty(projectNodePoMap.get(taskNode.getParentId())) && !NodeTypeEnum.PROJECT.getValue().equals(taskNode.getNodeType())) { +// log.error("新增节点时,根据parentId:{},未查询到节点", taskNode.getParentId()); +// response = SdmResponse.failed("新增节点时,创建文件失败"); +// return response; +// } +// createDir(taskNode.getUuid(), +// NodeTypeEnum.PROJECT.getValue().equals(taskNode.getNodeType()) ? null : (ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId())) +// ? projectNodePoMap.get(taskNode.getParentId()).getUuid() +// : projectNodeMap.get(taskNode.getParentId()).getUuid()), +// taskNode.getNodeName()); +// } +// } +// if (CollectionUtils.isNotEmpty(projectNodeExtraList)) { +// projectNodeExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime)); +// if (mapper.batchAddSimulationNodeExtra(projectNodeExtraList) <= 0) { +// response = SdmResponse.failed("添加节点附加属性失败"); +// return response; +// } +// } +// if (CollectionUtils.isNotEmpty(projectNodeMemberList)) { +// projectNodeMemberList.forEach(projectNode -> { +// projectNode.setCreateTime(createTime); +// projectNode.setType(NodeMemberTypeEnum.MANAGER.getCode()); +// }); +// if (mapper.batchAddSimulationNodeMember(projectNodeMemberList) <= 0) { +// response = SdmResponse.failed("添加节点成员属性失败"); +// } +// } +// +// if (CollectionUtils.isNotEmpty(taskNodeList)) { +// taskNodeList.forEach(projectNode -> { +//// projectNode.setCreator(jobNumber); +// projectNode.setCreateTime(createTime); +// }); +// if (mapper.batchAddSimulationTask(taskNodeList) <= 0) { +// response = SdmResponse.failed("新增任务失败"); +// return response; +// } +// taskNodeMap = taskNodeList.stream().collect(Collectors.groupingBy( +// TaskNode::getUuid, +// Collectors.collectingAndThen( +// Collectors.toList(), +// list -> list.get(0) +// ) +// )); +// Map projectNodePoMap = Map.of(); +// List newProjectNodeList = mapper.getNodeListByNodeIdList(taskNodeList.stream().map(TaskNode::getParentId).toList()); +// if (CollectionUtils.isNotEmpty(newProjectNodeList)) { +// projectNodePoMap = newProjectNodeList.stream().collect(Collectors.groupingBy( +// ProjectNodePo::getUuid, +// Collectors.collectingAndThen( +// Collectors.toList(), +// list -> list.get(0) +// ) +// )); +// } +// if (projectNodeMap.isEmpty()) { +// // projectNodeMap为空说明是直接添加分析项的情况 +// for (TaskNode taskNode : taskNodeList) { +// if (ObjectUtils.isEmpty(projectNodePoMap.get(taskNode.getParentId()))) { +// log.error("projectNodeMap为空,根据parentId:{},未查询到节点", taskNode.getParentId()); +// response = SdmResponse.failed("新增分析项时,创建文件失败"); +// return response; +// } +// createDir(taskNode.getUuid(), projectNodePoMap.get(taskNode.getParentId()).getUuid(), taskNode.getNodeName()); +// } +// } else { +// for (TaskNode taskNode : taskNodeList) { +// if (ObjectUtils.isEmpty(projectNodePoMap.get(taskNode.getParentId())) && ObjectUtils.isEmpty(projectNodeMap.get(taskNode.getParentId()))) { +// log.error("projectNodeMap不空,根据parentId:{},未查询到节点", taskNode.getParentId()); +// response = SdmResponse.failed("新增分析项时,创建文件失败"); +// return response; +// } +// createDir(taskNode.getUuid(), +// ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId())) ? projectNodePoMap.get(taskNode.getParentId()).getUuid() : projectNodeMap.get(taskNode.getParentId()).getUuid(), +// taskNode.getNodeName()); +// } +// } +// } +// if (CollectionUtils.isNotEmpty(taskNodeExtraList)) { +// taskNodeExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime)); +// if (mapper.batchAddSimulationTaskExtra(taskNodeExtraList) <= 0) { +// response = SdmResponse.failed("新增任务附加属性失败"); +// } +// } +// if (CollectionUtils.isNotEmpty(taskNodeMemberList)) { +// taskNodeMemberList.forEach(projectNode -> projectNode.setCreateTime(createTime)); +// if (mapper.batchAddSimulationTaskMember(taskNodeMemberList) <= 0) { +// response = SdmResponse.failed("新增任务成员属性失败"); +// return response; +// } +// } +// if (CollectionUtils.isNotEmpty(projectNodePerformanceList)) { +// projectNodePerformanceList.forEach(projectNode -> projectNode.setCreateTime(createTime)); +// if (mapper.batchAddSimulationPerformance(projectNodePerformanceList) <= 0) { +// response = SdmResponse.failed("新增指标失败"); +// return response; +// } +// +// List newTaskNodeList = mapper.getTaskListByNodeIdList(projectNodePerformanceList.stream().map(TaskNode::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) +// ) +// )); +// } +// if (taskNodeMap.isEmpty()) { +// // taskNodeMap为空说明是直接添加指标的情况 +// for (TaskNode taskNode : projectNodePerformanceList) { +// if (ObjectUtils.isEmpty(taskNodePoMap.get(taskNode.getTaskId()))) { +// log.error("taskNodeMap为空,根据taskId:{},未查询到任务", taskNode.getTaskId()); +// response = SdmResponse.failed("新增指标时,创建文件失败"); +// return response; +// } +// createDir(taskNode.getUuid(), taskNodePoMap.get(taskNode.getTaskId()).getUuid(), taskNode.getNodeName()); +// } +// } else { +// for (TaskNode taskNode : projectNodePerformanceList) { +// 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.getNodeName()); +// } +// } +// } +// if (CollectionUtils.isNotEmpty(projectNodePerformanceExtraList)) { +// for (TaskExtraNode performanceExtraNode : projectNodePerformanceExtraList) { +// performanceExtraNode.setCreateTime(createTime); +// performanceExtraNode.setValueType(ValueTypeEnum.DEFAULT.getValue()); +// } +// if (mapper.batchAddSimulationPerformanceExtra(projectNodePerformanceExtraList) <= 0) { +// response = SdmResponse.failed("新增任务指标附加属性失败"); +// return response; +// } +// } +// } +// return response; +// } - if (CollectionUtils.isNotEmpty(taskNodeList)) { - taskNodeList.forEach(projectNode -> { -// projectNode.setCreator(jobNumber); - projectNode.setCreateTime(createTime); - }); - if (mapper.batchAddSimulationTask(taskNodeList) <= 0) { - response = SdmResponse.failed("新增任务失败"); - return response; - } - taskNodeMap = taskNodeList.stream().collect(Collectors.groupingBy( - TaskNode::getUuid, - Collectors.collectingAndThen( - Collectors.toList(), - list -> list.get(0) - ) - )); - Map projectNodePoMap = Map.of(); - List newProjectNodeList = mapper.getNodeListByNodeIdList(taskNodeList.stream().map(TaskNode::getParentId).toList()); - if (CollectionUtils.isNotEmpty(newProjectNodeList)) { - projectNodePoMap = newProjectNodeList.stream().collect(Collectors.groupingBy( - ProjectNodePo::getUuid, - Collectors.collectingAndThen( - Collectors.toList(), - list -> list.get(0) - ) - )); - } - if (projectNodeMap.isEmpty()) { - // projectNodeMap为空说明是直接添加分析项的情况 - for (TaskNode taskNode : taskNodeList) { - if (ObjectUtils.isEmpty(projectNodePoMap.get(taskNode.getParentId()))) { - log.error("projectNodeMap为空,根据parentId:{},未查询到节点", taskNode.getParentId()); - response = SdmResponse.failed("新增分析项时,创建文件失败"); - return response; - } - createDir(taskNode.getUuid(), projectNodePoMap.get(taskNode.getParentId()).getUuid(), taskNode.getNodeName()); - } - } else { - for (TaskNode taskNode : taskNodeList) { - if (ObjectUtils.isEmpty(projectNodePoMap.get(taskNode.getParentId())) && ObjectUtils.isEmpty(projectNodeMap.get(taskNode.getParentId()))) { - log.error("projectNodeMap不空,根据parentId:{},未查询到节点", taskNode.getParentId()); - response = SdmResponse.failed("新增分析项时,创建文件失败"); - return response; - } - createDir(taskNode.getUuid(), - ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId())) ? projectNodePoMap.get(taskNode.getParentId()).getUuid() : projectNodeMap.get(taskNode.getParentId()).getUuid(), - taskNode.getNodeName()); - } - } - } - if (CollectionUtils.isNotEmpty(taskNodeExtraList)) { - taskNodeExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime)); - if (mapper.batchAddSimulationTaskExtra(taskNodeExtraList) <= 0) { - response = SdmResponse.failed("新增任务附加属性失败"); - } - } - if (CollectionUtils.isNotEmpty(taskNodeMemberList)) { - taskNodeMemberList.forEach(projectNode -> projectNode.setCreateTime(createTime)); - if (mapper.batchAddSimulationTaskMember(taskNodeMemberList) <= 0) { - response = SdmResponse.failed("新增任务成员属性失败"); - return response; - } - } - if (CollectionUtils.isNotEmpty(projectNodePerformanceList)) { - projectNodePerformanceList.forEach(projectNode -> projectNode.setCreateTime(createTime)); - if (mapper.batchAddSimulationPerformance(projectNodePerformanceList) <= 0) { - response = SdmResponse.failed("新增指标失败"); - return response; - } - - List newTaskNodeList = mapper.getTaskListByNodeIdList(projectNodePerformanceList.stream().map(TaskNode::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) - ) - )); - } - if (taskNodeMap.isEmpty()) { - // taskNodeMap为空说明是直接添加指标的情况 - for (TaskNode taskNode : projectNodePerformanceList) { - if (ObjectUtils.isEmpty(taskNodePoMap.get(taskNode.getTaskId()))) { - log.error("taskNodeMap为空,根据taskId:{},未查询到任务", taskNode.getTaskId()); - response = SdmResponse.failed("新增指标时,创建文件失败"); - return response; - } - createDir(taskNode.getUuid(), taskNodePoMap.get(taskNode.getTaskId()).getUuid(), taskNode.getNodeName()); - } - } else { - for (TaskNode taskNode : projectNodePerformanceList) { - 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.getNodeName()); - } - } - } - if (CollectionUtils.isNotEmpty(projectNodePerformanceExtraList)) { - for (TaskExtraNode performanceExtraNode : projectNodePerformanceExtraList) { - performanceExtraNode.setCreateTime(createTime); - performanceExtraNode.setValueType(ValueTypeEnum.DEFAULT.getValue()); - } - if (mapper.batchAddSimulationPerformanceExtra(projectNodePerformanceExtraList) <= 0) { - response = SdmResponse.failed("新增任务指标附加属性失败"); - return response; - } - } - } - return response; - } - - private void createDir(String uuid, String parentUuid, String dirName) { - CreateDirReq createDirReq = new CreateDirReq(); - createDirReq.setUuId(uuid); - createDirReq.setParentUuId(parentUuid); - createDirReq.setDirName(dirName); - log.info("调用创建文件夹的参数为:{}", createDirReq); -// SdmResponse response = dataClientAPIClient.createDir(createDirReq); -// log.info("调用创建文件夹的返回值为:{}", response); - } +// private void createDir(String uuid, String parentUuid, String dirName) { +// CreateDirReq createDirReq = new CreateDirReq(); +// createDirReq.setUuId(uuid); +// createDirReq.setParentUuId(parentUuid); +// createDirReq.setDirName(dirName); +// log.info("调用创建文件夹的参数为:{}", createDirReq); +//// SdmResponse response = dataClientAPIClient.createDir(createDirReq); +//// log.info("调用创建文件夹的返回值为:{}", response); +// } /** * 创建文件夹 @@ -2564,13 +2564,16 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { * @param parentUuid 父节点uuid * @param dirName 待长江文件夹名称 */ - private void createDir(String uuid, String uuidOwnType, String parentUuid, String dirName) { + private void createDir(String uuid, String uuidOwnType, String parentUuid, String dirName,TaskNode taskNode) { CreateDirReq createDirReq = new CreateDirReq(); createDirReq.setUuId(uuid); createDirReq.setUuIdOwnType(uuidOwnType); createDirReq.setParentUuId(ObjectUtils.isNotEmpty(parentUuid) ? parentUuid : null); createDirReq.setDirName(dirName); createDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue()); + TagReq tagReq = new TagReq(); + BeanUtils.copyProperties(taskNode,tagReq); + createDirReq.setTagReq(tagReq); log.info("创建项目阶段时,调用创建文件夹的参数为:{}", createDirReq); SdmResponse response = dataClientFeignClient.createDir(createDirReq); log.info("创建项目阶段时,调用创建文件夹的返回值为:{}", response); diff --git a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java index 15895d9d..05429667 100644 --- a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java @@ -2545,26 +2545,48 @@ public class TaskServiceImpl implements ITaskService { return SdmResponse.success(discipline2TaskUUIDMap); } - private SdmResponse createDir(String uuid, String uuidOwnType, String parentUuid, String dirName) { + private SdmResponse createDir(String uuid, String uuidOwnType, String parentUuid, String dirName,SpdmProjectNodeEditReq spdmProjectNodeEditReq) { CreateDirReq createDirReq = new CreateDirReq(); createDirReq.setUuId(uuid); createDirReq.setUuIdOwnType(uuidOwnType); createDirReq.setParentUuId(parentUuid); createDirReq.setDirName(dirName); createDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue()); + TagReq tagReq = new TagReq(); + BeanUtils.copyProperties(spdmProjectNodeEditReq,tagReq); + createDirReq.setTagReq(tagReq); log.info("同步CID任务调用创建文件夹的参数为:{}", createDirReq); SdmResponse response = dataClientFeignClient.createDir(createDirReq); log.info("同步CID调用创建文件夹的返回值为:{}", response); return response; } - private SdmResponse createDirNew(String uuid, String uuidOwnType, String parentUuid, String dirName) { + private SdmResponse createTaskDir(String uuid, String uuidOwnType, String parentUuid, String dirName,CidTaskNode taskNode) { CreateDirReq createDirReq = new CreateDirReq(); createDirReq.setUuId(uuid); createDirReq.setUuIdOwnType(uuidOwnType); createDirReq.setParentUuId(parentUuid); createDirReq.setDirName(dirName); createDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue()); + TagReq tagReq = new TagReq(); + BeanUtils.copyProperties(taskNode,tagReq); + createDirReq.setTagReq(tagReq); + log.info("同步CID任务调用创建文件夹的参数为:{}", createDirReq); + SdmResponse response = dataClientFeignClient.createDir(createDirReq); + log.info("同步CID调用创建文件夹的返回值为:{}", response); + return response; + } + + private SdmResponse createDirNew(String uuid, String uuidOwnType, String parentUuid, String dirName,SimulationTask task) { + CreateDirReq createDirReq = new CreateDirReq(); + createDirReq.setUuId(uuid); + createDirReq.setUuIdOwnType(uuidOwnType); + createDirReq.setParentUuId(parentUuid); + createDirReq.setDirName(dirName); + createDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue()); + TagReq tagReq = new TagReq(); + BeanUtils.copyProperties(task,tagReq); + createDirReq.setTagReq(tagReq); log.info("批量修改任务时调用创建文件夹的参数为:{}", createDirReq); SdmResponse response = dataClientFeignClient.createDir(createDirReq); log.info("批量修改任务时调用创建文件夹的返回值为:{}", response); @@ -2606,7 +2628,7 @@ public class TaskServiceImpl implements ITaskService { } try { // 创建项目节点的文件夹 - SdmResponse response = createDir(spdmProjectNodeEditReq.getUuid(), spdmProjectNodeEditReq.getNodeType(), null, spdmProjectNodeEditReq.getNodeName()); + SdmResponse response = createDir(spdmProjectNodeEditReq.getUuid(), spdmProjectNodeEditReq.getNodeType(), null, spdmProjectNodeEditReq.getNodeName(),spdmProjectNodeEditReq); if (ObjectUtils.isEmpty(response) || response.getCode() != ResultCode.SUCCESS.getCode()) { log.error("同步CID项目:{}时,创建文件夹失败,原因为:{}", req.getProjectId() + " " + req.getProjectName(), response.getMessage()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -2675,7 +2697,7 @@ public class TaskServiceImpl implements ITaskService { SdmResponse response; // 创建任务节点的文件夹 for (CidTaskNode taskNode : taskNodeList) { - response = createDir(taskNode.getUuid(), NodeTypeEnum.TASK.getValue(), req.getProjectId(), taskNode.getTaskName()); + response = createTaskDir(taskNode.getUuid(), NodeTypeEnum.TASK.getValue(), req.getProjectId(), taskNode.getTaskName(),taskNode); if (ObjectUtils.isEmpty(response) || response.getCode() != ResultCode.SUCCESS.getCode()) { log.error("同步CID任务时,创建任务:{}的文件夹失败,原因为:{}", taskNode.getUuid() + " " + taskNode.getTaskName(), response.getMessage()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -4210,7 +4232,7 @@ public class TaskServiceImpl implements ITaskService { log.info("当前任务:{},没有创建过文件夹",taskId); } // 并新建relateTag下的文件夹 - SdmResponse taskCreateDirResponse = createDirNew(task.getUuid(), NodeTypeEnum.TASK.getValue(), relateTag, task.getTaskName()); + SdmResponse taskCreateDirResponse = createDirNew(task.getUuid(), NodeTypeEnum.TASK.getValue(), relateTag, task.getTaskName(),task); if (ObjectUtils.isEmpty(taskCreateDirResponse) || taskCreateDirResponse.getCode() != ResultCode.SUCCESS.getCode()) { log.error("新建任务:{}的文件夹失败,原因为:{}", task.getTaskName(), taskCreateDirResponse.getMessage()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -4234,7 +4256,7 @@ public class TaskServiceImpl implements ITaskService { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return SdmResponse.failed(task.getTaskName() + "创建失败,原因:未查询到任务上层节点"); } - SdmResponse taskCreateDirResponse = createDirNew(task.getUuid(), NodeTypeEnum.TASK.getValue(), maxNonEmptyTag, task.getTaskName()); + SdmResponse taskCreateDirResponse = createDirNew(task.getUuid(), NodeTypeEnum.TASK.getValue(), maxNonEmptyTag, task.getTaskName(),task); if (ObjectUtils.isEmpty(taskCreateDirResponse) || taskCreateDirResponse.getCode() != ResultCode.SUCCESS.getCode()) { log.error("{}创建失败,原因为:{}", task.getTaskName(), convertErrorMsg(taskCreateDirResponse.getMessage())); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();