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 0e41c916..d575cf9e 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 @@ -42,8 +42,13 @@ import com.sdm.common.utils.DateUtils; import com.sdm.common.utils.RandomUtil; import com.sdm.common.utils.SystemOperate; import com.sdm.common.utils.excel.ExcelUtil; -import com.sdm.outbridge.entity.*; +import com.sdm.outbridge.entity.LyricVAttachmentConfigToDM; +import com.sdm.outbridge.entity.LyricVProjectStationToDM; +import com.sdm.outbridge.entity.LyricVProjectToDM; +import com.sdm.outbridge.entity.LyricVTodoEmulationInfoDM; import com.sdm.outbridge.service.lyric.*; +import com.sdm.project.YA.req.SyncCidProjectReq; +import com.sdm.project.YA.resp.BosimSaveProjectTaskRsp; import com.sdm.project.bo.ExportOperate; import com.sdm.project.common.MemberTypeEnum; import com.sdm.project.common.NodeMemberTypeEnum; @@ -58,8 +63,6 @@ import com.sdm.project.model.entity.*; import com.sdm.project.model.po.PerformanceNodePo; import com.sdm.project.model.po.ProjectNodePo; import com.sdm.project.model.req.*; -import com.sdm.project.YA.req.SyncCidProjectReq; -import com.sdm.project.YA.resp.BosimSaveProjectTaskRsp; import com.sdm.project.model.vo.*; import com.sdm.project.service.*; import jakarta.servlet.http.HttpServletResponse; @@ -290,7 +293,7 @@ public class NodeServiceImpl extends ServiceImpl phaseNodeList = addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).toList(); if (CollectionUtils.isNotEmpty(phaseNodeList)) { @@ -427,7 +430,7 @@ public class NodeServiceImpl extends ServiceImpl taskNodePoList; if (NodeTypeEnum.PROJECT.getValue().equals(node.getNodeType())) { - taskNodePoList = taskService.lambdaQuery().eq(SimulationTask::getTag1,nodeId).list(); - }else { - taskNodePoList = taskService.lambdaQuery().eq(SimulationTask::getTag2,nodeId).list(); + taskNodePoList = taskService.lambdaQuery().eq(SimulationTask::getTag1, nodeId).list(); + } else { + taskNodePoList = taskService.lambdaQuery().eq(SimulationTask::getTag2, nodeId).list(); } if (CollectionUtils.isNotEmpty(taskNodePoList)) { List taskIdList = taskNodePoList.stream().map(SimulationTask::getUuid).toList(); - taskService.lambdaUpdate().in(SimulationTask::getUuid,taskIdList).remove(); + taskService.lambdaUpdate().in(SimulationTask::getUuid, taskIdList).remove(); nodeMapper.deleteTaskExtraBatch(taskIdList); nodeMapper.deleteTaskMemberBatch(taskIdList); // 删除当前节点及子节点下的指标相关信息 @@ -472,22 +475,22 @@ public class NodeServiceImpl extends ServiceImpl demandList = demandMapper.getDemandListByProjectId(nodeId); if (CollectionUtils.isEmpty(demandList)) { - log.info("项目:{}下未查询到关联的需求",node.getNodeName()); + log.info("项目:{}下未查询到关联的需求", node.getNodeName()); return true; } - log.info("共查询到项目:{}下的{}条需求",node.getNodeName(),demandList.size()); + log.info("共查询到项目:{}下的{}条需求", node.getNodeName(), demandList.size()); List demandIdList = demandList.stream().map(SpdmDemandVo::getUuid).toList(); demandMapper.deleteDemand(demandIdList); demandMapper.deleteDemandMember(demandIdList); demandMapper.deleteDemandExtra(demandIdList); - }catch (Exception ex) { - log.error("删除项目下关联的需求时发生异常:{}",ex.getMessage()); + } catch (Exception ex) { + log.error("删除项目下关联的需求时发生异常:{}", ex.getMessage()); return false; } return true; @@ -564,11 +567,11 @@ public class NodeServiceImpl extends ServiceImpl nodeIdList = nodeList.stream().map(SpdmNodeVo::getUuid).toList(); - List nodeMemberList = nodeMapper.getNodeMemberListByMemberType(nodeIdList,userId, NodeMemberTypeEnum.ATTENTION.getCode()); + List nodeMemberList = nodeMapper.getNodeMemberListByMemberType(nodeIdList, userId, NodeMemberTypeEnum.ATTENTION.getCode()); if (CollectionUtils.isNotEmpty(nodeMemberList)) { List attentNodeIdList = nodeMemberList.stream().map(SpdmNodeMemberVo::getNodeId).toList(); for (SpdmNodeVo spdmNodeVo : nodeList) { @@ -579,19 +582,19 @@ public class NodeServiceImpl extends ServiceImpl node.setAttentionFlag(1)); - total = nodeMapper.getNodeListCountByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(), tenantId,userId,type,Collections.emptyList()); - }else { + total = nodeMapper.getNodeListCountByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(), tenantId, userId, type, Collections.emptyList()); + } else { nodeList = nodeMapper.getNodeListByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(), - tenantId, pos, limit,userId,type,Collections.emptyList()); + tenantId, pos, limit, userId, type, Collections.emptyList()); // 设置关注标签 if (CollectionUtils.isNotEmpty(nodeList)) { List nodeIdList = nodeList.stream().map(SpdmNodeVo::getUuid).toList(); - List nodeMemberList = nodeMapper.getNodeMemberListByMemberType(nodeIdList,userId, NodeMemberTypeEnum.ATTENTION.getCode()); + List nodeMemberList = nodeMapper.getNodeMemberListByMemberType(nodeIdList, userId, NodeMemberTypeEnum.ATTENTION.getCode()); if (CollectionUtils.isNotEmpty(nodeMemberList)) { List attentNodeIdList = nodeMemberList.stream().map(SpdmNodeMemberVo::getNodeId).toList(); for (SpdmNodeVo spdmNodeVo : nodeList) { @@ -602,7 +605,7 @@ public class NodeServiceImpl extends ServiceImpl nodeList) { @@ -819,6 +823,7 @@ public class NodeServiceImpl extends ServiceImpl nodeList, List filterDiscipline) { @@ -892,6 +897,7 @@ public class NodeServiceImpl extends ServiceImpl dmProjectNodeList) { @@ -936,8 +942,9 @@ public class NodeServiceImpl extends ServiceImpl nodeList) { @@ -1002,18 +1011,48 @@ public class NodeServiceImpl extends ServiceImpl currentPhaseNodeList = sortedPhaseNodeList.stream() .filter(phaseNode -> isCurrentTimeInRange(phaseNode, currentTime, sdf)) - .findFirst() - .orElse(null); + .toList(); + SpdmNodeVo projectNode = nodeList.stream() + .filter(node -> projectNodeId.equals(node.getUuid())).findFirst().orElse(null); + if (projectNode != null) { + // 找到当前阶段,回写至对应的SpdmNodeVo + if (CollectionUtils.isNotEmpty(currentPhaseNodeList)) { + // 开始时间比当前时间小的里面的最大的一个 + List bigPhaseNodeList = currentPhaseNodeList.stream().filter(phaseNode -> { + try { + return currentTime <= sdf.parse(phaseNode.getBeginTime()).getTime(); + } catch (ParseException e) { + throw new RuntimeException(e); + } + }).toList(); + if (CollectionUtils.isEmpty(bigPhaseNodeList)) { + SimulationNode simulationNode = currentPhaseNodeList.stream().max(Comparator.comparingLong(phaseNode -> { + try { + return sdf.parse(phaseNode.getBeginTime()).getTime(); + } catch (ParseException e) { + throw new RuntimeException(e); + } + })).get(); + projectNode.setCurrentPhase(simulationNode.getNodeName()); + } else { + SimulationNode simulationNode = phaseNodeList.stream().min(Comparator.comparingLong(phaseNode -> { + try { + return sdf.parse(phaseNode.getBeginTime()).getTime(); + } catch (ParseException e) { + throw new RuntimeException(e); + } + })).get(); + projectNode.setCurrentPhase(simulationNode.getNodeName()); + } - // 找到当前阶段,回写至对应的SpdmNodeVo - if (Objects.nonNull(currentPhaseNode)) { - nodeList.stream() - .filter(node -> projectNodeId.equals(node.getUuid())) - .findFirst() - .ifPresent(node -> node.setCurrentPhase(currentPhaseNode.getNodeName())); + } else { + // 如果没有落在【开始时间, 结束时间】内的阶段节点,就选beginTime最大的阶段作为当前阶段 + projectNode.setCurrentPhase(sortedPhaseNodeList.get(sortedPhaseNodeList.size() - 1).getNodeName()); + } } + }); } @@ -1168,7 +1207,7 @@ public class NodeServiceImpl extends ServiceImpl pid.equals(node.getUuid())).findFirst().orElse(null); if (ObjectUtils.isNotEmpty(spdmProjectNodeEditReq)) { @@ -1266,10 +1305,21 @@ public class NodeServiceImpl extends ServiceImpl getAddPhaseNodeList() { return addPhaseNodeList; } - public List getAddMachineNodeList() { return addMachineNodeList; } - public List getAddWorkspaceNodeList() { return addWorkspaceNodeList; } + public SpdmProjectNodeEditReq getProjectNode() { + return projectNode; + } + + public List getAddPhaseNodeList() { + return addPhaseNodeList; + } + + public List getAddMachineNodeList() { + return addMachineNodeList; + } + + public List getAddWorkspaceNodeList() { + return addWorkspaceNodeList; + } } /** @@ -1282,7 +1332,7 @@ public class NodeServiceImpl extends ServiceImpl 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); // 构建项目下的阶段子节点 @@ -1353,10 +1403,10 @@ public class NodeServiceImpl extends ServiceImpl 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); // 若无机台节点,子节点为空 @@ -1403,10 +1453,10 @@ public class NodeServiceImpl extends ServiceImpl 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); @@ -1434,10 +1484,10 @@ public class NodeServiceImpl extends ServiceImpl()); @@ -1448,7 +1498,7 @@ public class NodeServiceImpl extends ServiceImpl 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; } @@ -1509,6 +1559,7 @@ public class NodeServiceImpl extends ServiceImpl addNodeList) { @@ -1548,7 +1599,7 @@ public class NodeServiceImpl extends ServiceImpl userPermissions = new HashMap<>(); userPermissions.put(userId, FilePermissionEnum.ALL.getValue()); updatePermissionReq.setUserPermissions(userPermissions); - log.info("新增项目阶段时,更新用户权限的参数为:{}",updatePermissionReq); + log.info("新增项目阶段时,更新用户权限的参数为:{}", updatePermissionReq); SdmResponse updatePermissionResponse = dataClientFeignClient.updatePermission(updatePermissionReq); - log.info("新增项目阶段时,更新用户权限的返回值为:{}",updatePermissionResponse); + log.info("新增项目阶段时,更新用户权限的返回值为:{}", updatePermissionResponse); } /** @@ -1627,7 +1678,7 @@ public class NodeServiceImpl extends ServiceImpl workspaceNode.getNodeCode().contains("-M")).findFirst().orElse(null); - log.info("specialWorkspaceNode为:{}",specialWorkspaceNode); + log.info("specialWorkspaceNode为:{}", specialWorkspaceNode); if (specialWorkspaceNode != null) { sortWorkspaceNodeList.add(specialWorkspaceNode); - moveTargetToFirst(sortWorkspaceNodeList,specialWorkspaceNode.getUuid()); + moveTargetToFirst(sortWorkspaceNodeList, specialWorkspaceNode.getUuid()); } return sortWorkspaceNodeList; } @@ -1986,10 +2037,10 @@ public class NodeServiceImpl extends ServiceImpl dirtyProjectNodeList = projectNodePoList.stream().filter(projectNode -> projectNode.getUuid().equals(projectNode.getParentId())).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(dirtyProjectNodeList)) { - log.error("以下节点id:{},的uuid和parentId相同,需要处理",dirtyProjectNodeList.stream().map(ProjectNodePo::getUuid).collect(Collectors.joining(","))); + log.error("以下节点id:{},的uuid和parentId相同,需要处理", dirtyProjectNodeList.stream().map(ProjectNodePo::getUuid).collect(Collectors.joining(","))); return SdmResponse.failed("节点:" + dirtyProjectNodeList.stream().map(ProjectNodePo::getNodeName).collect(Collectors.joining(",")) + "的数据有误,需要处理"); } - log.info("getChildrenNodeList为:{}",projectNodePoList); + log.info("getChildrenNodeList为:{}", projectNodePoList); List returnProjectNodeList = projectNodePoList.stream().filter(projectNode -> nodeType.equals(projectNode.getNodeType())).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(returnProjectNodeList)) { // 利元亨的工位排序 @@ -2009,7 +2060,7 @@ public class NodeServiceImpl extends ServiceImpl()); } @@ -2578,17 +2629,24 @@ public class NodeServiceImpl extends ServiceImpl updateList = new ArrayList<>(); - /** 待新增的任务扩展属性列表 */ + /** + * 待新增的任务扩展属性列表 + */ private final List insertList = new ArrayList<>(); /** * 添加操作到对应列表 + * * @param taskExtraReq 任务扩展属性请求 - * @param isUpdate true=更新, false=新增(值为空时跳过) + * @param isUpdate true=更新, false=新增(值为空时跳过) */ public void addOperation(SpdmNodeExtraReq taskExtraReq, boolean isUpdate) { if (isUpdate) { @@ -2810,11 +2868,11 @@ public class NodeServiceImpl extends ServiceImpl> getNodeTaskList(List uuids) { - if(CollectionUtils.isEmpty(uuids)){ + if (CollectionUtils.isEmpty(uuids)) { return SdmResponse.success(); } List simulationTasks = simulationTaskService.lambdaQuery().in(SimulationTask::getNodeId, uuids).list(); - if(CollectionUtils.isEmpty(simulationTasks)){ + if (CollectionUtils.isEmpty(simulationTasks)) { return SdmResponse.success(); } List allNodeByProjectIdAndTypeRespList = new ArrayList<>(); @@ -2832,11 +2890,11 @@ public class NodeServiceImpl extends ServiceImpl> getTaskRunList(List uuids) { - if(ObjectUtils.isEmpty(uuids)){ + if (ObjectUtils.isEmpty(uuids)) { return SdmResponse.success(); } List simulationRunList = simulationRunService.lambdaQuery().in(SimulationRun::getTaskId, uuids).list(); - if(CollectionUtils.isEmpty(simulationRunList)){ + if (CollectionUtils.isEmpty(simulationRunList)) { return SdmResponse.success(); } List allNodeByProjectIdAndTypeRespList = new ArrayList<>(); @@ -2952,7 +3010,7 @@ public class NodeServiceImpl extends ServiceImpl userGroupTaskCompleteStatistics = this.baseMapper.getUserGroupTaskCompleteStatistics(req,Arrays.asList(MemberTypeEnum.EXECUTOR.getCode())); + List userGroupTaskCompleteStatistics = this.baseMapper.getUserGroupTaskCompleteStatistics(req, Arrays.asList(MemberTypeEnum.EXECUTOR.getCode())); // 按用户分组统计任务状态 Map userStatisticsMap = new HashMap<>(); @@ -3008,7 +3066,7 @@ public class NodeServiceImpl extends ServiceImpl(); } - List userGroupTaskCompleteStatistics = this.baseMapper.getAllUserTaskCompleteStatistics(req,Arrays.asList(MemberTypeEnum.EXECUTOR.getCode())); + List userGroupTaskCompleteStatistics = this.baseMapper.getAllUserTaskCompleteStatistics(req, Arrays.asList(MemberTypeEnum.EXECUTOR.getCode())); // 按用户分组统计任务状态 Map userStatisticsMap = new HashMap<>(); @@ -3056,7 +3114,7 @@ public class NodeServiceImpl extends ServiceImpl userGroupDifficultyStatistics = this.baseMapper.getUserGroupDifficultyStatistics(req,Arrays.asList(MemberTypeEnum.EXECUTOR.getCode())); + List userGroupDifficultyStatistics = this.baseMapper.getUserGroupDifficultyStatistics(req, Arrays.asList(MemberTypeEnum.EXECUTOR.getCode())); // 按用户分组统计任务状态 Map userStatisticsMap = new HashMap<>(); @@ -3273,7 +3331,7 @@ public class NodeServiceImpl extends ServiceImpl performanceList = this.baseMapper.getPerformanceCompleteStatisticsByDiscipline(req); // 按学科(discipline)分组统计指标完成状态 Set allExeStatus = new HashSet<>(); @@ -3348,7 +3406,7 @@ public class NodeServiceImpl extends ServiceImpl tagMap = req.getTagMap().stream().collect(Collectors.groupingBy( TaskNodeTag::getKey, Collectors.collectingAndThen( @@ -3356,11 +3414,11 @@ public class NodeServiceImpl extends ServiceImpl tagList.get(0).getValue() ) )); - log.info("tagMap为:{}",tagMap); + log.info("tagMap为:{}", tagMap); List result; try { result = addNodeForData(req.getAddNodeList(), tagMap); - }catch (Exception e) { + } catch (Exception e) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return SdmResponse.failed(e.getMessage()); } @@ -3404,11 +3462,11 @@ public class NodeServiceImpl extends ServiceImpl nodeList = addNodeList.stream().filter(node -> StringUtils.isNotBlank(node.getPid())).toList(); if (CollectionUtils.isNotEmpty(nodeList)) { List pidList = nodeList.stream().map(SpdmProjectNodeEditReq::getPid).distinct().toList(); - log.info("pidList为:{}",pidList); + log.info("pidList为:{}", pidList); List parentNodeList = this.lambdaQuery().in(SimulationNode::getUuid, pidList).list(); - log.info("parentNodeList为:{}",parentNodeList); + log.info("parentNodeList为:{}", parentNodeList); if (CollectionUtils.isEmpty(parentNodeList)) { - log.error("根据pidList:{},未查询到节点信息",pidList); + log.error("根据pidList:{},未查询到节点信息", pidList); return null; } Map nodeMap = parentNodeList.stream().collect(Collectors.groupingBy( @@ -3421,7 +3479,7 @@ public class NodeServiceImpl extends ServiceImpl extras = addNode.getExtras(); if (CollectionUtils.isEmpty(extras)) { continue; @@ -3460,13 +3518,13 @@ public class NodeServiceImpl extends ServiceImpl result; try { result = handleAddTaskForData(req.getAddTaskList()); - }catch (Exception e) { + } catch (Exception e) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return SdmResponse.failed(e.getMessage()); } @@ -3538,11 +3595,11 @@ public class NodeServiceImpl extends ServiceImpl pidList = addTaskList.stream().map(TaskNode::getPid).distinct().toList(); - log.info("pidList为:{}",pidList); + log.info("pidList为:{}", pidList); List parentNodeList = this.lambdaQuery().in(SimulationNode::getUuid, pidList).list(); - log.info("parentNodeList为:{}",parentNodeList); + log.info("parentNodeList为:{}", parentNodeList); if (CollectionUtils.isEmpty(parentNodeList)) { - log.error("根据pidList:{},未查询到节点信息",pidList); + log.error("根据pidList:{},未查询到节点信息", pidList); return null; } Map nodeMap = parentNodeList.stream().collect(Collectors.groupingBy( @@ -3555,7 +3612,7 @@ public class NodeServiceImpl extends ServiceImpl extras = addTask.getExtras(); if (CollectionUtils.isEmpty(extras)) { continue; @@ -3617,14 +3674,14 @@ public class NodeServiceImpl extends ServiceImpl> querySimulationNodeByUuids(List uuids) { - if(CollectionUtils.isEmpty(uuids)){ + if (CollectionUtils.isEmpty(uuids)) { return SdmResponse.failed("参数为空"); } - if(uuids.size()>queryCounts){ - return SdmResponse.failed("单次批量查询不允许超过"+queryCounts); + if (uuids.size() > queryCounts) { + return SdmResponse.failed("单次批量查询不允许超过" + queryCounts); } List simulationNodeResps = mapper.querySimulationNodeByUuids(uuids); return SdmResponse.success(simulationNodeResps); @@ -3683,15 +3739,15 @@ public class NodeServiceImpl extends ServiceImpl exportExcelFormats = projectExportExcelFormat.getExcelHeaders(); SdmResponse taskRespond = list(req); - if(taskRespond.isSuccess()) { - JSONObject dataObj = (JSONObject) taskRespond.getData(); + if (taskRespond.isSuccess()) { + JSONObject dataObj = (JSONObject) taskRespond.getData(); List taskVoList = (List) dataObj.get("data"); if (CollectionUtils.isEmpty(taskVoList)) { return SdmResponse.success(); @@ -3703,7 +3759,7 @@ public class NodeServiceImpl extends ServiceImpl> cidUserResp = sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(creatorIdList).build()); List userList = cidUserResp.getData(); if (CollectionUtils.isNotEmpty(userList)) { - userMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUserId,CIDUserResp::getNickname)); + userMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUserId, CIDUserResp::getNickname)); } } List exportNodeVoList = new ArrayList<>(); @@ -3715,14 +3771,14 @@ public class NodeServiceImpl extends ServiceImpl nodeExtraListByNodeIdList = nodeMapper.getNodeExtraListByNodeIdList(Collections.singletonList(node.getUuid())); SpdmNodeDetailForDataVo spdmNodeDetailForDataVo = new SpdmNodeDetailForDataVo(); - BeanUtils.copyProperties(node,spdmNodeDetailForDataVo); + BeanUtils.copyProperties(node, spdmNodeDetailForDataVo); spdmNodeDetailForDataVo.setId(node.getId()); spdmNodeDetailForDataVo.setExtraList(nodeExtraListByNodeIdList); return SdmResponse.success(spdmNodeDetailForDataVo); @@ -3770,23 +3826,23 @@ public class NodeServiceImpl extends ServiceImpl NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).findFirst().orElse(null); - log.info("phaseNode为:{}",phaseNode); + log.info("phaseNode为:{}", phaseNode); if (ObjectUtils.isNotEmpty(phaseNode)) { String phaseNodeName = phaseNode.getNodeName(); - log.info("节点中的阶段为:{}",phaseNodeName); + log.info("节点中的阶段为:{}", phaseNodeName); if (StringUtils.isNotBlank(phaseNodeName)) { todoInfoList = todoInfoList.stream().filter(todoInfo -> phaseNodeName.equals(todoInfo.getProjectStage())).toList(); log.info("过滤阶段后待同步的待办数量:{}", todoInfoList.size()); @@ -3915,7 +3971,7 @@ public class NodeServiceImpl extends ServiceImpl workspaceNodeMap = new HashMap<>(); if (CollectionUtils.isNotEmpty(workspaceNodeList)) { workspaceNodeMap = workspaceNodeList.stream().filter(workspaceNode -> StringUtils.isNotBlank(workspaceNode.getReferenceId())) - .collect(Collectors.toMap(SpdmProjectNodeEditReq::getUuid,SpdmProjectNodeEditReq::getReferenceId)); + .collect(Collectors.toMap(SpdmProjectNodeEditReq::getUuid, SpdmProjectNodeEditReq::getReferenceId)); } // 5. 处理待办事项,构建创建需求所需数据 @@ -3931,7 +3987,7 @@ public class NodeServiceImpl extends ServiceImpl resultFileIdMap = todoInfoList.stream().filter(todoInfo -> StringUtils.isNotBlank(todoInfo.getResultFileId())) - .collect(Collectors.toMap(LyricVTodoEmulationInfoDM::getTodoId,LyricVTodoEmulationInfoDM::getResultFileId,(oldValue, newValue) -> oldValue)); + Map resultFileIdMap = todoInfoList.stream().filter(todoInfo -> StringUtils.isNotBlank(todoInfo.getResultFileId())) + .collect(Collectors.toMap(LyricVTodoEmulationInfoDM::getTodoId, LyricVTodoEmulationInfoDM::getResultFileId, (oldValue, newValue) -> oldValue)); // 构建一个resultFileId到filePath的映射 - Map filePathMap = new HashMap<>(); + Map filePathMap = new HashMap<>(); // 构建一个filePath到fileName的映射 - Map fileNameMap = new HashMap<>(); + Map fileNameMap = new HashMap<>(); // 查询filePath List resultFileIdStrList = todoInfoList.stream().map(LyricVTodoEmulationInfoDM::getResultFileId).filter(StringUtils::isNotBlank) .collect(Collectors.toList()); @@ -4045,26 +4101,25 @@ public class NodeServiceImpl extends ServiceImpl attachmentConfigToDMList = lyricVAttachmentConfigService.lambdaQuery().in(LyricVAttachmentConfigToDM::getId, resultFileIdList) .list(); if (CollectionUtils.isNotEmpty(attachmentConfigToDMList)) { - filePathMap = attachmentConfigToDMList.stream().collect(Collectors.toMap(LyricVAttachmentConfigToDM::getId,LyricVAttachmentConfigToDM::getFilePath,(oldValue, newValue) -> oldValue)); + filePathMap = attachmentConfigToDMList.stream().collect(Collectors.toMap(LyricVAttachmentConfigToDM::getId, LyricVAttachmentConfigToDM::getFilePath, (oldValue, newValue) -> oldValue)); fileNameMap = attachmentConfigToDMList.stream().filter(attachment -> StringUtils.isNotBlank(attachment.getFilePath())) - .collect(Collectors.toMap(LyricVAttachmentConfigToDM::getFilePath,LyricVAttachmentConfigToDM::getName,(oldValue, newValue) -> oldValue)); + .collect(Collectors.toMap(LyricVAttachmentConfigToDM::getFilePath, LyricVAttachmentConfigToDM::getName, (oldValue, newValue) -> oldValue)); } } } - // 筛选出所有工位节点 for (LyricVTodoEmulationInfoDM todoItem : todoInfoList) { try { String demandUuid = RandomUtil.generateString(32); // 1. 构建基础需求信息 - SpdmAddDemandReq demandAddReq = buildDemandAddReq(todoItem, demandUuid, projectNodeMap, currentTimeStr,workspaceNodeMap,usernameToUserIdMap,resultFileIdMap,filePathMap); + SpdmAddDemandReq demandAddReq = buildDemandAddReq(todoItem, demandUuid, projectNodeMap, currentTimeStr, workspaceNodeMap, usernameToUserIdMap, resultFileIdMap, filePathMap); // 2. 构建成员信息和权限信息 List memberList = buildDemandMemberList( - todoItem, demandUuid, currentUserId, currentTimeStr, permissionReqList,usernameToUserIdMap); + todoItem, demandUuid, currentUserId, currentTimeStr, permissionReqList, usernameToUserIdMap); // 3. 构建文件夹节点信息 TagReq tagReq = new TagReq(); @@ -4076,11 +4131,11 @@ public class NodeServiceImpl extends ServiceImpl workspaceNodeMap, Map usernameToUserIdMap, - Map resultFileIdMap, - Map filePathMap) { + Map resultFileIdMap, + Map filePathMap) { SpdmAddDemandReq demandAddReq = new SpdmAddDemandReq(); // 基础属性 @@ -4117,9 +4172,9 @@ public class NodeServiceImpl extends ServiceImpl permissionReqList, String demandUuid, - Long userId,byte filePermissionEnumValue) { + Long userId, byte filePermissionEnumValue) { if (userId != 0L) { UpdatePermissionReq permissionReq = new UpdatePermissionReq(); @@ -4309,7 +4365,6 @@ public class NodeServiceImpl extends ServiceImpl usernameToUserIdMap, - Map resultFileIdMap, - Map filePathMap, - Map fileNameMap) { + Map resultFileIdMap, + Map filePathMap, + Map fileNameMap) { CompletableFuture.runAsync(() -> { try { ThreadLocalContext.setTenantId(tenantId); @@ -4385,11 +4439,7 @@ public class NodeServiceImpl extends ServiceImpl permissionReqList,List memberList) { + private void updateDemandPermissionsAsync(List permissionReqList, List memberList) { if (CollectionUtils.isEmpty(permissionReqList)) { log.info("无权限需要更新"); return; @@ -4649,6 +4699,7 @@ public class NodeServiceImpl extends ServiceImpl runList = simulationRunService.lambdaQuery().eq(SimulationRun::getTaskId, taskId).list(); @@ -4695,57 +4746,57 @@ public class NodeServiceImpl extends ServiceImpl> getRunListByNodeId(SpdmQueryRunListReq req) { List nodeIdList = req.getNodeIdList(); - if (CollectionUtils.isEmpty(nodeIdList)|| ObjectUtils.isEmpty(req.getNodeType())) { + if (CollectionUtils.isEmpty(nodeIdList) || ObjectUtils.isEmpty(req.getNodeType())) { return SdmResponse.failed("nodeIdList或者nodeType不能为空"); } Map TagMap = tagMapService.getTagMapName(); - if ( ObjectUtils.isEmpty(TagMap)) { + if (ObjectUtils.isEmpty(TagMap)) { log.error("字典信息查询失败"); return SdmResponse.failed("字典信息查询失败"); } - String queryTag =TagMap.get(req.getNodeType()); + String queryTag = TagMap.get(req.getNodeType()); // 1. 根据nodeId和tag,查询所有task LambdaQueryChainWrapper simulationTaskWrapper = simulationTaskService.lambdaQuery(); switch (queryTag) { - case "tag1" : - simulationTaskWrapper.in(SimulationTask::getTag1,nodeIdList); + case "tag1": + simulationTaskWrapper.in(SimulationTask::getTag1, nodeIdList); break; - case "tag2" : - simulationTaskWrapper.in(SimulationTask::getTag2,nodeIdList); + case "tag2": + simulationTaskWrapper.in(SimulationTask::getTag2, nodeIdList); break; - case "tag3" : - simulationTaskWrapper.in(SimulationTask::getTag3,nodeIdList); + case "tag3": + simulationTaskWrapper.in(SimulationTask::getTag3, nodeIdList); break; - case "tag4" : - simulationTaskWrapper.in(SimulationTask::getTag4,nodeIdList); + case "tag4": + simulationTaskWrapper.in(SimulationTask::getTag4, nodeIdList); break; - case "tag5" : - simulationTaskWrapper.in(SimulationTask::getTag5,nodeIdList); + case "tag5": + simulationTaskWrapper.in(SimulationTask::getTag5, nodeIdList); break; - case "tag6" : - simulationTaskWrapper.in(SimulationTask::getTag6,nodeIdList); + case "tag6": + simulationTaskWrapper.in(SimulationTask::getTag6, nodeIdList); break; - case "tag7" : - simulationTaskWrapper.in(SimulationTask::getTag7,nodeIdList); + case "tag7": + simulationTaskWrapper.in(SimulationTask::getTag7, nodeIdList); break; - case "tag8" : - simulationTaskWrapper.in(SimulationTask::getTag8,nodeIdList); + case "tag8": + simulationTaskWrapper.in(SimulationTask::getTag8, nodeIdList); break; - case "tag9" : - simulationTaskWrapper.in(SimulationTask::getTag9,nodeIdList); + case "tag9": + simulationTaskWrapper.in(SimulationTask::getTag9, nodeIdList); break; - case "tag10" : - simulationTaskWrapper.in(SimulationTask::getTag10,nodeIdList); + case "tag10": + simulationTaskWrapper.in(SimulationTask::getTag10, nodeIdList); break; default: break; @@ -4755,7 +4806,7 @@ public class NodeServiceImpl extends ServiceImpl taskIdList = tasklist.stream().map(SimulationTask::getUuid).toList(); - List runList = simulationRunService.lambdaQuery().in(SimulationRun::getTaskId,taskIdList).list(); + List runList = simulationRunService.lambdaQuery().in(SimulationRun::getTaskId, taskIdList).list(); if (CollectionUtils.isEmpty(runList)) { return SdmResponse.success(emptyList()); } @@ -4766,7 +4817,7 @@ public class NodeServiceImpl extends ServiceImpl> getRunListByRunIdList(SpdmQueryRunInfoListReq req) { List list = simulationRunService.lambdaQuery().in(SimulationRun::getUuid, req.getRunIdList()).list(); - if(CollectionUtils.isEmpty(list)) { + if (CollectionUtils.isEmpty(list)) { return SdmResponse.success(emptyList()); } List simulationRunResps = list.stream().map(simulationRun -> { @@ -4782,7 +4833,7 @@ public class NodeServiceImpl extends ServiceImpl