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 c65e1b6c..3e5e1b3c 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 @@ -412,7 +412,6 @@ public class LyricInternalServiceImpl implements ILyricInternalService { SdmResponse>> pageDataRespSdmResponse = sysUserFeignClient.listUser(userListReq); if (pageDataRespSdmResponse.isSuccess() && pageDataRespSdmResponse.getData().getData() != null) { List userList = pageDataRespSdmResponse.getData().getData(); - log.info("userList为:{}",userList); usernameToUserIdMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUsername, CIDUserResp::getUserId)); } @@ -438,7 +437,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { // 2. 构建权限更新参数 buildPermissionReqList(demandUuid, userId, todo, updatePermissionList, usernameToUserIdMap); // 3. 构建需求文件夹节点 - demandDirNodeList.add(buildDemandDirNode(demandUuid, projectNode,demandReq)); + demandDirNodeList.add(buildDemandDirNode(demandUuid, projectNode, demandReq)); // 4. 异步保存需求数据 asyncSaveDemandData(demandReq, memberList, tenantId, userId, usernameToUserIdMap, demandExtraList); @@ -593,7 +592,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { } } else { // 阶段不存在,同步阶段机台工位 - syncTodoPhase(todo.getCreateTime(), Long.valueOf(projectNode.getProjectId()), todo.getProjectStage(), projectNode.getUuid(), req,todo.getStationNum(), projectNode); + syncTodoPhase(todo.getCreateTime(), Long.valueOf(projectNode.getProjectId()), todo.getProjectStage(), projectNode.getUuid(), req, todo.getStationNum(), projectNode); } } @@ -636,7 +635,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { if (MemberTypeEnum.PRINCIPAL.getCode().equals(type) || MemberTypeEnum.ATTENTION.getCode().equals(type) || MemberTypeEnum.EXECUTOR.getCode().equals(type)) { userIdStr = memberStr.split(","); - }else { + } else { userIdStr = memberStr.split("-"); } if (ObjectUtils.isEmpty(userIdStr)) { @@ -693,7 +692,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { addPermissionReq(usernameToUserIdMap.get(fUserId), demandUuid, permissionList, MemberTypeEnum.EXECUTOR.getCode()); } } - log.info("待办:{},permissionList为:{}",todo.getTodoId(),permissionList); + log.info("待办:{},permissionList为:{}", todo.getTodoId(), permissionList); } /** @@ -1632,10 +1631,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService { if (pushType == 1) { uploadFileReq.setComponentInstId(LyricParamConstants.FINITE_ELEMENT_COMPONENT_INST_ID); uploadFileReq.setColumnName(LyricParamConstants.FINITE_ELEMENT_COLUMN_NAME); - }else if (pushType == 2) { + } else if (pushType == 2) { uploadFileReq.setComponentInstId(LyricParamConstants.ROBOT_COMPONENT_INST_ID); uploadFileReq.setColumnName(LyricParamConstants.ROBOT_COLUMN_NAME); - }else { + } else { uploadFileReq.setComponentInstId(LyricParamConstants.TOLERANCE_COMPONENT_INST_ID); uploadFileReq.setColumnName(LyricParamConstants.TOLERANCE_COLUMN_NAME); } @@ -2520,7 +2519,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { usernameToUserIdMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUsername, CIDUserResp::getUserId)); } if (CollectionUtils.isNotEmpty(noRelatedProjectVTodoEmulationInfoDMList)) { - List spdmProjectNodeEditReqList = httpSyncHandleNoRelatedProjectTodo(noRelatedProjectVTodoEmulationInfoDMList, tenantId, userId, jobNumber, userName,usernameToUserIdMap); + List spdmProjectNodeEditReqList = httpSyncHandleNoRelatedProjectTodo(noRelatedProjectVTodoEmulationInfoDMList, tenantId, userId, jobNumber, userName, usernameToUserIdMap); log.info("httpSyncHandleNoRelatedProjectTodo响应值为:{}", spdmProjectNodeEditReqList); for (SpdmProjectNodeEditReq spdmProjectNodeEditReq : spdmProjectNodeEditReqList) { SimulationNode simulationNode = new SimulationNode(); @@ -2573,9 +2572,9 @@ public class LyricInternalServiceImpl implements ILyricInternalService { } - private List httpSyncHandleNoRelatedProjectTodo(List noRelatedProjectVTodoEmulationInfoDMList, Long tenantId, Long userId, String jobNumber, String userName,Map usernameToUserIdMap) { + private List httpSyncHandleNoRelatedProjectTodo(List noRelatedProjectVTodoEmulationInfoDMList, Long tenantId, Long userId, String jobNumber, String userName, Map usernameToUserIdMap) { CompletableFuture> syncHandleNoRelatedProjectTodoFeature = CompletableFuture.supplyAsync(() -> - handleNoRelatedProjectTodo(noRelatedProjectVTodoEmulationInfoDMList, tenantId, userId, jobNumber, userName,usernameToUserIdMap)); + handleNoRelatedProjectTodo(noRelatedProjectVTodoEmulationInfoDMList, tenantId, userId, jobNumber, userName, usernameToUserIdMap)); try { List spdmProjectNodeEditReqList = syncHandleNoRelatedProjectTodoFeature.get(syncProjectDataWaitSeconds, TimeUnit.SECONDS); return spdmProjectNodeEditReqList; @@ -2594,7 +2593,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { } } - private List handleNoRelatedProjectTodo(List noRelatedProjectVTodoEmulationInfoDMList, Long tenantId, Long userId, String jobNumber, String userName,Map usernameToUserIdMap) { + private List handleNoRelatedProjectTodo(List noRelatedProjectVTodoEmulationInfoDMList, Long tenantId, Long userId, String jobNumber, String userName, Map usernameToUserIdMap) { // 尝试获取锁(立即返回,不等待) if (!syncTodoInfoProjectLock.tryLock()) { return new ArrayList<>(); @@ -2631,12 +2630,12 @@ public class LyricInternalServiceImpl implements ILyricInternalService { List allNodeManagerList = new ArrayList<>(); List eachPdtToDMList; for (LyricVProjectToDM lyricVProjectToDM : lyricVProjectToDMList) { - SpdmProjectNodeEditReq spdmProjectNodeEditReq = buildProjectForTodoInfo(lyricVProjectToDM, tenantId, userId,pdtMap,usernameToUserIdMap); + SpdmProjectNodeEditReq spdmProjectNodeEditReq = buildProjectForTodoInfo(lyricVProjectToDM, tenantId, userId, pdtMap, usernameToUserIdMap); if (spdmProjectNodeEditReq != null) { eachPdtToDMList = pdtMap.get(spdmProjectNodeEditReq.getNodeCode()); spdmProjectNodeEditReqList.add(spdmProjectNodeEditReq); if (CollectionUtils.isEmpty(eachPdtToDMList)) { - log.info("项目:{},没有仿真代表",spdmProjectNodeEditReq.getNodeName()); + log.info("项目:{},没有仿真代表", spdmProjectNodeEditReq.getNodeName()); continue; } for (LyricVPdtToDM lyricVPdtToDM : eachPdtToDMList) { @@ -2713,7 +2712,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { /** * 通用方法:构建单个DirNodeInfo */ - private DirNodeInfo buildDirNodeInfo(String uuid, String parentUuid, String nodeType, String dirName,TagReq tagReq) { + private DirNodeInfo buildDirNodeInfo(String uuid, String parentUuid, String nodeType, String dirName, TagReq tagReq) { DirNodeInfo dirNodeInfo = new DirNodeInfo(); dirNodeInfo.setUuId(uuid); dirNodeInfo.setParentUuId(parentUuid); @@ -2733,8 +2732,8 @@ public class LyricInternalServiceImpl implements ILyricInternalService { List dirNodeInfoList = new ArrayList<>(); for (SpdmProjectNodeEditReq node : nodeList) { TagReq tagReq = new TagReq(); - BeanUtils.copyProperties(node,tagReq); - dirNodeInfoList.add(buildDirNodeInfo(node.getUuid(), parentUuid, nodeType, node.getNodeName(),tagReq)); + BeanUtils.copyProperties(node, tagReq); + dirNodeInfoList.add(buildDirNodeInfo(node.getUuid(), parentUuid, nodeType, node.getNodeName(), tagReq)); } return dirNodeInfoList; } @@ -2747,10 +2746,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService { List phaseNodes = filterResult.getAddPhaseNodeList(); BatchCreateDirItem projectCreateDirItem = new BatchCreateDirItem(); TagReq tagReq = new TagReq(); - BeanUtils.copyProperties(projectNode,tagReq); + BeanUtils.copyProperties(projectNode, tagReq); DirNodeInfo projectDirNodeInfo = buildDirNodeInfo( projectNode.getUuid(), null, - NodeTypeEnum.PROJECT.getValue(), projectNode.getNodeName(),tagReq + NodeTypeEnum.PROJECT.getValue(), projectNode.getNodeName(), tagReq ); projectCreateDirItem.setParentDirNodeInfo(projectDirNodeInfo); // 构建项目下的阶段子节点 @@ -2767,10 +2766,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService { private BatchCreateDirItem buildPhaseDirItem(SpdmProjectNodeEditReq phaseNode, String projectUuid, List machineNodes) { BatchCreateDirItem phaseCreateDirItem = new BatchCreateDirItem(); TagReq tagReq = new TagReq(); - BeanUtils.copyProperties(phaseNode,tagReq); + BeanUtils.copyProperties(phaseNode, tagReq); DirNodeInfo phaseDirNodeInfo = buildDirNodeInfo( phaseNode.getUuid(), projectUuid, - NodeTypeEnum.PHASE.getValue(), phaseNode.getNodeName(),tagReq + NodeTypeEnum.PHASE.getValue(), phaseNode.getNodeName(), tagReq ); phaseCreateDirItem.setParentDirNodeInfo(phaseDirNodeInfo); // 若无机台节点,子节点为空 @@ -2794,10 +2793,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService { List workspaceNodes) { BatchCreateDirItem machineCreateDirItem = new BatchCreateDirItem(); TagReq tagReq = new TagReq(); - BeanUtils.copyProperties(machineNode,tagReq); + BeanUtils.copyProperties(machineNode, tagReq); DirNodeInfo machineDirNodeInfo = buildDirNodeInfo( machineNode.getUuid(), phaseUuid, - NodeTypeEnum.MACHINE.getValue(), machineNode.getNodeName(),tagReq + NodeTypeEnum.MACHINE.getValue(), machineNode.getNodeName(), tagReq ); machineCreateDirItem.setParentDirNodeInfo(machineDirNodeInfo); @@ -2825,10 +2824,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService { for (SpdmProjectNodeEditReq workspaceNode : currentWorkspaceNodes) { BatchCreateDirItem workspaceCreateDirItem = new BatchCreateDirItem(); TagReq tagReq = new TagReq(); - BeanUtils.copyProperties(workspaceNode,tagReq); + BeanUtils.copyProperties(workspaceNode, tagReq); DirNodeInfo workspaceDirNodeInfo = buildDirNodeInfo( workspaceNode.getUuid(), machineNode.getUuid(), - NodeTypeEnum.WORKSPACE.getValue(), workspaceNode.getNodeName(),tagReq + NodeTypeEnum.WORKSPACE.getValue(), workspaceNode.getNodeName(), tagReq ); workspaceCreateDirItem.setParentDirNodeInfo(workspaceDirNodeInfo); workspaceCreateDirItem.setChildDirNodeInfos(new ArrayList<>()); @@ -2950,7 +2949,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { log.info("创建节点时,调用批量创建文件夹的返回值为:{}", response); } - private SpdmProjectNodeEditReq buildProjectForTodoInfo(LyricVProjectToDM lyricVProjectToDM, Long tenantId, Long jobNumber,Map> pdtMap,Map usernameToUserIdMap) { + private SpdmProjectNodeEditReq buildProjectForTodoInfo(LyricVProjectToDM lyricVProjectToDM, Long tenantId, Long jobNumber, Map> pdtMap, Map usernameToUserIdMap) { String curDateStr; Date createTime = lyricVProjectToDM.getCreateTime(); if (ObjectUtils.isNotEmpty(createTime)) { @@ -2985,77 +2984,64 @@ public class LyricInternalServiceImpl implements ILyricInternalService { log.warn("查询项目机台工位信息的视图时发生异常(可能是测试环境预期异常),项目id:{},异常信息:{}", spdmProjectNodeEditReq.getProjectId(), ex.getMessage()); } + LyricVProjectToDM lyricVProject = lyricVProjectToDM; + String currentPhase = lyricVProject.getStage(); + SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq(); + phaseNode.setUuid(RandomUtil.generateString(32)); + phaseNode.setNodeCode(currentPhase); + phaseNode.setNodeName(currentPhase); + phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue()); + phaseNode.setCreateTime(curDateStr); + phaseNode.setCreator(jobNumber); + phaseNode.setTenantId(tenantId); + phaseNode.setProjectSource(SYNC_PROJECT_SOURCE); + phaseNode.setPid(spdmProjectNodeEditReq.getUuid()); + addNodeList.add(phaseNode); if (CollectionUtils.isNotEmpty(projectStationList)) { // 同步EP中的节点、机台、工位到DM - // 查询当前阶段 - LyricVProjectToDM lyricVProject = null; - try { - lyricVProject = lyricVProjectToDmService.lambdaQuery() - .eq(LyricVProjectToDM::getProjectNum, spdmProjectNodeEditReq.getNodeCode()) - .one(); - } catch (MyBatisSystemException ex) { - // 查询发生异常,记录异常日志(可能是测试环境预期异常) - log.warn("查询当前阶段时发生异常(可能是测试环境预期异常),项目编码:{},异常信息:{}", - spdmProjectNodeEditReq.getProjectId(), ex.getMessage()); - } - - if (ObjectUtils.isNotEmpty(lyricVProject)) { - // 当前阶段 - String currentPhase = lyricVProject.getStage(); - SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq(); - phaseNode.setUuid(RandomUtil.generateString(32)); - phaseNode.setNodeCode(currentPhase); - phaseNode.setNodeName(currentPhase); - phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue()); - phaseNode.setCreateTime(curDateStr); - phaseNode.setCreator(jobNumber); - phaseNode.setTenantId(tenantId); - phaseNode.setProjectSource(SYNC_PROJECT_SOURCE); - phaseNode.setPid(spdmProjectNodeEditReq.getUuid()); - addNodeList.add(phaseNode); - // 机台、工位 - Map> machineMap = projectStationList.stream().collect(Collectors.groupingBy(LyricVProjectStationToDM::getMachineNumber)); - for (Map.Entry> machineEntry : machineMap.entrySet()) { - String machineNumber = machineEntry.getKey(); - List projectStationByMachineNumberList = machineEntry.getValue(); - SpdmProjectNodeEditReq machineNode = new SpdmProjectNodeEditReq(); - machineNode.setUuid(RandomUtil.generateString(32)); - machineNode.setNodeCode(machineNumber); - machineNode.setNodeName(projectStationByMachineNumberList.get(0).getMachineName()); - machineNode.setNodeType(NodeTypeEnum.MACHINE.getValue()); - machineNode.setCreateTime(curDateStr); - machineNode.setCreator(jobNumber); - machineNode.setTenantId(tenantId); - machineNode.setProjectSource(SYNC_PROJECT_SOURCE); - machineNode.setPid(phaseNode.getUuid()); - addNodeList.add(machineNode); - // 从EP拉取机台时,创建一个工位,一个机台建一个工位,用机台的编号加上M,例如01机台,工位名称和工位号都叫 01-M - SpdmProjectNodeEditReq fixedWorkspaceNode = new SpdmProjectNodeEditReq(); - fixedWorkspaceNode.setUuid(RandomUtil.generateString(32)); - fixedWorkspaceNode.setNodeCode(machineNumber + "-M"); - fixedWorkspaceNode.setNodeName(machineNumber + "-M"); - fixedWorkspaceNode.setNodeType(NodeTypeEnum.WORKSPACE.getValue()); - fixedWorkspaceNode.setCreateTime(curDateStr); - fixedWorkspaceNode.setCreator(jobNumber); - fixedWorkspaceNode.setTenantId(tenantId); - fixedWorkspaceNode.setProjectSource(SYNC_PROJECT_SOURCE); - fixedWorkspaceNode.setPid(machineNode.getUuid()); - addNodeList.add(fixedWorkspaceNode); - for (LyricVProjectStationToDM lyricVProjectStationToDM : projectStationByMachineNumberList) { - SpdmProjectNodeEditReq workspaceNode = new SpdmProjectNodeEditReq(); - workspaceNode.setUuid(RandomUtil.generateString(32)); - workspaceNode.setNodeCode(lyricVProjectStationToDM.getStationNum()); - workspaceNode.setNodeName(lyricVProjectStationToDM.getStationName()); - workspaceNode.setNodeType(NodeTypeEnum.WORKSPACE.getValue()); - workspaceNode.setCreateTime(curDateStr); - workspaceNode.setCreator(jobNumber); - workspaceNode.setTenantId(tenantId); - workspaceNode.setProjectSource(SYNC_PROJECT_SOURCE); - workspaceNode.setPid(machineNode.getUuid()); - addNodeList.add(workspaceNode); - } + // 机台、工位 + Map> machineMap = projectStationList.stream().collect(Collectors.groupingBy(LyricVProjectStationToDM::getMachineNumber)); + for (Map.Entry> machineEntry : machineMap.entrySet()) { + String machineNumber = machineEntry.getKey(); + List projectStationByMachineNumberList = machineEntry.getValue(); + SpdmProjectNodeEditReq machineNode = new SpdmProjectNodeEditReq(); + machineNode.setUuid(RandomUtil.generateString(32)); + machineNode.setNodeCode(machineNumber); + machineNode.setNodeName(projectStationByMachineNumberList.get(0).getMachineName()); + machineNode.setNodeType(NodeTypeEnum.MACHINE.getValue()); + machineNode.setCreateTime(curDateStr); + machineNode.setCreator(jobNumber); + machineNode.setTenantId(tenantId); + machineNode.setProjectSource(SYNC_PROJECT_SOURCE); + machineNode.setPid(phaseNode.getUuid()); + addNodeList.add(machineNode); + // 从EP拉取机台时,创建一个工位,一个机台建一个工位,用机台的编号加上M,例如01机台,工位名称和工位号都叫 01-M + SpdmProjectNodeEditReq fixedWorkspaceNode = new SpdmProjectNodeEditReq(); + fixedWorkspaceNode.setUuid(RandomUtil.generateString(32)); + fixedWorkspaceNode.setNodeCode(machineNumber + "-M"); + fixedWorkspaceNode.setNodeName(machineNumber + "-M"); + fixedWorkspaceNode.setNodeType(NodeTypeEnum.WORKSPACE.getValue()); + fixedWorkspaceNode.setCreateTime(curDateStr); + fixedWorkspaceNode.setCreator(jobNumber); + fixedWorkspaceNode.setTenantId(tenantId); + fixedWorkspaceNode.setProjectSource(SYNC_PROJECT_SOURCE); + fixedWorkspaceNode.setPid(machineNode.getUuid()); + addNodeList.add(fixedWorkspaceNode); + for (LyricVProjectStationToDM lyricVProjectStationToDM : projectStationByMachineNumberList) { + SpdmProjectNodeEditReq workspaceNode = new SpdmProjectNodeEditReq(); + workspaceNode.setUuid(RandomUtil.generateString(32)); + workspaceNode.setNodeCode(lyricVProjectStationToDM.getStationNum()); + workspaceNode.setNodeName(lyricVProjectStationToDM.getStationName()); + workspaceNode.setNodeType(NodeTypeEnum.WORKSPACE.getValue()); + workspaceNode.setCreateTime(curDateStr); + workspaceNode.setCreator(jobNumber); + workspaceNode.setTenantId(tenantId); + workspaceNode.setProjectSource(SYNC_PROJECT_SOURCE); + workspaceNode.setPid(machineNode.getUuid()); + addNodeList.add(workspaceNode); } } + } List tagMap = new ArrayList<>(); @@ -3499,7 +3485,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { return resultList; } - private void syncTodoPhase(String curDateStr, Long projectId, String currentPhase, String projectNodeId, SpdmAddDemandReq req,String stationNum,SimulationNode projectNode) { + private void syncTodoPhase(String curDateStr, Long projectId, String currentPhase, String projectNodeId, SpdmAddDemandReq req, String stationNum, SimulationNode projectNode) { Long tenantId = req.getTenantId(); Long jobNumber = req.getCreator(); List currentNodeList; @@ -3516,21 +3502,21 @@ public class LyricInternalServiceImpl implements ILyricInternalService { log.warn("查询项目机台工位信息的视图时发生异常(可能是测试环境预期异常),项目id:{},异常信息:{}", projectId, ex.getMessage()); } + // 同步EP中的节点、机台、工位到DM + SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq(); + phaseNode.setUuid(RandomUtil.generateString(32)); + phaseNode.setTag1(projectNodeId); + phaseNode.setNodeCode(currentPhase); + phaseNode.setNodeName(currentPhase); + phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue()); + phaseNode.setCreateTime(curDateStr); + phaseNode.setCreator(jobNumber); + phaseNode.setTenantId(tenantId); + phaseNode.setProjectSource(SYNC_PROJECT_SOURCE); + phaseNode.setPid(projectNodeId); + addNodeList.add(phaseNode); + req.setPhaseId(phaseNode.getUuid()); if (CollectionUtils.isNotEmpty(projectStationList)) { - // 同步EP中的节点、机台、工位到DM - SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq(); - phaseNode.setUuid(RandomUtil.generateString(32)); - phaseNode.setTag1(projectNodeId); - phaseNode.setNodeCode(currentPhase); - phaseNode.setNodeName(currentPhase); - phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue()); - phaseNode.setCreateTime(curDateStr); - phaseNode.setCreator(jobNumber); - phaseNode.setTenantId(tenantId); - phaseNode.setProjectSource(SYNC_PROJECT_SOURCE); - phaseNode.setPid(projectNodeId); - addNodeList.add(phaseNode); - req.setPhaseId(phaseNode.getUuid()); // 机台、工位 Map> machineMap = projectStationList.stream().collect(Collectors.groupingBy(LyricVProjectStationToDM::getMachineNumber)); for (Map.Entry> machineEntry : machineMap.entrySet()) { @@ -3655,23 +3641,26 @@ public class LyricInternalServiceImpl implements ILyricInternalService { } } - if (nodeMapper.addNodeBatch(addNodeList) <= 0) { - return; + if (CollectionUtils.isNotEmpty(addNodeList)) { + if (nodeMapper.addNodeBatch(addNodeList) <= 0) { + return; + } + + // 批量创建文件夹 + SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq(); + BeanUtils.copyProperties(projectNode, spdmProjectNodeEditReq); + NodeServiceImpl.NodeTypeFilterResult filterResult = new NodeServiceImpl.NodeTypeFilterResult(spdmProjectNodeEditReq + , addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).collect(Collectors.toList()) + , addNodeList.stream().filter(node -> NodeTypeEnum.MACHINE.getValue().equals(node.getNodeType())).collect(Collectors.toList()) + , addNodeList.stream().filter(node -> NodeTypeEnum.WORKSPACE.getValue().equals(node.getNodeType())).collect(Collectors.toList())); + BatchCreateDirReq batchCreateDirReq = buildBatchCreateDirReq(filterResult); + callBatchCreateDirApi(batchCreateDirReq); } - // 批量创建文件夹 - SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq(); - BeanUtils.copyProperties(projectNode, spdmProjectNodeEditReq); - NodeServiceImpl.NodeTypeFilterResult filterResult = new NodeServiceImpl.NodeTypeFilterResult(spdmProjectNodeEditReq - , addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).collect(Collectors.toList()) - , addNodeList.stream().filter(node -> NodeTypeEnum.MACHINE.getValue().equals(node.getNodeType())).collect(Collectors.toList()) - , addNodeList.stream().filter(node -> NodeTypeEnum.WORKSPACE.getValue().equals(node.getNodeType())).collect(Collectors.toList())); - BatchCreateDirReq batchCreateDirReq = buildBatchCreateDirReq(filterResult); - callBatchCreateDirApi(batchCreateDirReq); } - private void syncTodoPhaseForMes(String curDateStr, Long projectId, String currentPhase, String projectNodeId, SpdmAddDemandReq req, String machineNum, String stationNum,SimulationNode projectNode) { + private void syncTodoPhaseForMes(String curDateStr, Long projectId, String currentPhase, String projectNodeId, SpdmAddDemandReq req, String machineNum, String stationNum, SimulationNode projectNode) { Long tenantId = req.getTenantId(); Long jobNumber = req.getCreator(); List currentNodeList; @@ -3688,22 +3677,22 @@ public class LyricInternalServiceImpl implements ILyricInternalService { log.warn("查询项目机台工位信息的视图时发生异常(可能是测试环境预期异常),项目id:{},异常信息:{}", projectId, ex.getMessage()); } + // 同步EP中的节点、机台、工位到DM + SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq(); + phaseNode.setUuid(RandomUtil.generateString(32)); + phaseNode.setTag1(projectNodeId); + phaseNode.setNodeCode(currentPhase); + phaseNode.setNodeName(currentPhase); + phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue()); + phaseNode.setCreateTime(curDateStr); + phaseNode.setCreator(jobNumber); + phaseNode.setTenantId(tenantId); + phaseNode.setProjectSource(SYNC_PROJECT_SOURCE); + phaseNode.setPid(projectNodeId); + addNodeList.add(phaseNode); + req.setProjectId(projectNodeId); + req.setPhaseId(phaseNode.getUuid()); if (CollectionUtils.isNotEmpty(projectStationList)) { - // 同步EP中的节点、机台、工位到DM - SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq(); - phaseNode.setUuid(RandomUtil.generateString(32)); - phaseNode.setTag1(projectNodeId); - phaseNode.setNodeCode(currentPhase); - phaseNode.setNodeName(currentPhase); - phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue()); - phaseNode.setCreateTime(curDateStr); - phaseNode.setCreator(jobNumber); - phaseNode.setTenantId(tenantId); - phaseNode.setProjectSource(SYNC_PROJECT_SOURCE); - phaseNode.setPid(projectNodeId); - addNodeList.add(phaseNode); - req.setProjectId(projectNodeId); - req.setPhaseId(phaseNode.getUuid()); // 机台、工位 Map> machineMap = projectStationList.stream().collect(Collectors.groupingBy(LyricVProjectStationToDM::getMachineNumber)); for (Map.Entry> machineEntry : machineMap.entrySet()) { @@ -3830,19 +3819,21 @@ public class LyricInternalServiceImpl implements ILyricInternalService { } } - if (nodeMapper.addNodeBatch(addNodeList) <= 0) { - return; - } + if (CollectionUtils.isNotEmpty(addNodeList)) { + if (nodeMapper.addNodeBatch(addNodeList) <= 0) { + return; + } - // 批量创建文件夹 - SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq(); - BeanUtils.copyProperties(projectNode, spdmProjectNodeEditReq); - NodeServiceImpl.NodeTypeFilterResult filterResult = new NodeServiceImpl.NodeTypeFilterResult(spdmProjectNodeEditReq - , addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).collect(Collectors.toList()) - , addNodeList.stream().filter(node -> NodeTypeEnum.MACHINE.getValue().equals(node.getNodeType())).collect(Collectors.toList()) - , addNodeList.stream().filter(node -> NodeTypeEnum.WORKSPACE.getValue().equals(node.getNodeType())).collect(Collectors.toList())); - BatchCreateDirReq batchCreateDirReq = buildBatchCreateDirReq(filterResult); - callBatchCreateDirApi(batchCreateDirReq); + // 批量创建文件夹 + SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq(); + BeanUtils.copyProperties(projectNode, spdmProjectNodeEditReq); + NodeServiceImpl.NodeTypeFilterResult filterResult = new NodeServiceImpl.NodeTypeFilterResult(spdmProjectNodeEditReq + , addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).collect(Collectors.toList()) + , addNodeList.stream().filter(node -> NodeTypeEnum.MACHINE.getValue().equals(node.getNodeType())).collect(Collectors.toList()) + , addNodeList.stream().filter(node -> NodeTypeEnum.WORKSPACE.getValue().equals(node.getNodeType())).collect(Collectors.toList())); + BatchCreateDirReq batchCreateDirReq = buildBatchCreateDirReq(filterResult); + callBatchCreateDirApi(batchCreateDirReq); + } } @@ -4149,7 +4140,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { req.setDeptName(deptName); req.setCurrent(1); req.setSize(1); - log.info("listDept params:{}",req); + log.info("listDept params:{}", req); SdmResponse>> pageDataRespSdmResponse = sysDeptFeignClient.listDept(req); SysDeptUserResp sysDeptUserResp = null; if (pageDataRespSdmResponse.isSuccess()) { @@ -4181,7 +4172,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { if (CollectionUtils.isNotEmpty(pdtToDMList)) { pdtMap = pdtToDMList.stream().collect(Collectors.groupingBy(LyricVPdtToDM::getProjectNum)); } - SpdmProjectNodeEditReq spdmProjectNodeEditReq = buildProjectForTodoInfo(lyricVProjectToDM, tenantId, userId,pdtMap,usernameToUserIdMap); + SpdmProjectNodeEditReq spdmProjectNodeEditReq = buildProjectForTodoInfo(lyricVProjectToDM, tenantId, userId, pdtMap, usernameToUserIdMap); if (spdmProjectNodeEditReq != null) { spdmProjectNodeEditReqList.add(spdmProjectNodeEditReq); if (CollectionUtils.isNotEmpty(pdtToDMList)) { diff --git a/project/src/main/java/com/sdm/project/service/impl/SimulationTaskServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/SimulationTaskServiceImpl.java index 54a3670e..d4599eb0 100644 --- a/project/src/main/java/com/sdm/project/service/impl/SimulationTaskServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/SimulationTaskServiceImpl.java @@ -365,9 +365,10 @@ public class SimulationTaskServiceImpl extends ServiceImpl