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 4d5c6688..a233025c 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 @@ -1961,6 +1961,56 @@ public class TaskServiceImpl implements ITaskService { return SdmResponse.success(jsonObject); } + // 设置仿真负责人 + List taskIdList = allTaskVoList.stream().map(SpdmAnalysisTaskVo::getUuid).toList(); + List taskNodeMemberPoList = projectMapper.queryTaskNodeMembersByNodeIdList(taskIdList); + Map> memberMap = new HashMap<>(); + Map cidUserMap = new HashMap<>(); + if (CollectionUtils.isNotEmpty(taskNodeMemberPoList)) { + taskNodeMemberPoList = taskNodeMemberPoList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType())).toList(); + if (CollectionUtils.isNotEmpty(taskNodeMemberPoList)) { + memberMap = taskNodeMemberPoList.stream().collect(Collectors.groupingBy(TaskNodeMemberPo::getTaskId)); + SdmResponse> cidUserResp = sysUserFeignClient.listUserByIds(UserQueryReq.builder() + .userIds(taskNodeMemberPoList.stream().map(TaskNodeMemberPo::getUserId).toList()).build()); + List cidUserRespList; + if (cidUserResp.isSuccess() && CollectionUtils.isNotEmpty(cidUserRespList = cidUserResp.getData())) { + cidUserMap = cidUserRespList.stream().collect(Collectors.toMap(CIDUserResp::getUserId, CIDUserResp::getNickname)); + } + } + } + + List eachTaskNodeMemberPoList; + for (SpdmAnalysisTaskVo task : allTaskVoList) { + eachTaskNodeMemberPoList = memberMap.get(task.getUuid()); + if (CollectionUtils.isNotEmpty(eachTaskNodeMemberPoList) && MapUtils.isNotEmpty(cidUserMap)) { + List nickNameList = new ArrayList<>(); + List idList = new ArrayList<>(); + for (TaskNodeMemberPo taskNodeMemberPo : eachTaskNodeMemberPoList) { + String nickName = cidUserMap.get(taskNodeMemberPo.getUserId()); + if (StringUtils.isBlank(nickName)) { + continue; + } + nickNameList.add(nickName); + idList.add(taskNodeMemberPo.getUserId()); + } + task.setPMembers(String.join(",", nickNameList)); + task.setPMemberIdList(idList); + } + task.setTagReq(tagReq); + } + + // 根据仿真负责人过滤 + Long pMembers = req.getPMembers(); + if (ObjectUtils.isNotEmpty(pMembers)) { + allTaskVoList = allTaskVoList.stream().filter(task -> task.getPMemberIdList().contains(pMembers)).collect(Collectors.toList()); + } + + if (CollectionUtils.isEmpty(allTaskVoList)) { + log.info("数据分析中未查询到任务信息"); + jsonObject.put("data", new ArrayList<>()); + return SdmResponse.success(jsonObject); + } + jsonObject.put("total", allTaskVoList.size()); taskVoList = allTaskVoList.stream().skip((long) (req.getCurrent() - 1) * req.getSize()).limit(req.getSize()).toList(); if (CollectionUtils.isEmpty(taskVoList)) { @@ -2022,25 +2072,8 @@ public class TaskServiceImpl implements ITaskService { )); } - // 设置仿真负责人 - List taskIdList = taskVoList.stream().map(SpdmAnalysisTaskVo::getUuid).toList(); - List taskNodeMemberPoList = projectMapper.queryTaskNodeMembersByNodeIdList(taskIdList); - Map> memberMap = new HashMap<>(); - Map cidUserMap = new HashMap<>(); - if (CollectionUtils.isNotEmpty(taskNodeMemberPoList)) { - taskNodeMemberPoList = taskNodeMemberPoList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType())).toList(); - if (CollectionUtils.isNotEmpty(taskNodeMemberPoList)) { - memberMap = taskNodeMemberPoList.stream().collect(Collectors.groupingBy(TaskNodeMemberPo::getTaskId)); - SdmResponse> cidUserResp = sysUserFeignClient.listUserByIds(UserQueryReq.builder() - .userIds(taskNodeMemberPoList.stream().map(TaskNodeMemberPo::getUserId).toList()).build()); - List cidUserRespList; - if (cidUserResp.isSuccess() && CollectionUtils.isNotEmpty(cidUserRespList = cidUserResp.getData())) { - cidUserMap = cidUserRespList.stream().collect(Collectors.toMap(CIDUserResp::getUserId, CIDUserResp::getNickname)); - } - } - } + ProjectNodePo eachProjectNodePo; - List eachTaskNodeMemberPoList; for (SpdmAnalysisTaskVo task : taskVoList) { eachProjectNodePo = nodeMap.get(task.getNodeId()); ProjectNodePo phaseNode = nodeMap.get(task.getTag2()); @@ -2054,28 +2087,24 @@ public class TaskServiceImpl implements ITaskService { if (eachProjectNodePo != null && NodeTypeEnum.DISCIPLINE.getValue().equals(eachProjectNodePo.getNodeType())) { task.setDisciplineName(eachProjectNodePo.getNodeName()); } - eachTaskNodeMemberPoList = memberMap.get(task.getUuid()); - if (CollectionUtils.isNotEmpty(eachTaskNodeMemberPoList) && MapUtils.isNotEmpty(cidUserMap)) { - List nickNameList = new ArrayList<>(); - List idList = new ArrayList<>(); - for (TaskNodeMemberPo taskNodeMemberPo : eachTaskNodeMemberPoList) { - String nickName = cidUserMap.get(taskNodeMemberPo.getUserId()); - if (StringUtils.isBlank(nickName)) { - continue; - } - nickNameList.add(nickName); - idList.add(taskNodeMemberPo.getUserId()); - } - task.setPMembers(String.join(",", nickNameList)); - task.setPMemberIdList(idList); - } - task.setTagReq(tagReq); - } - // 根据仿真负责人过滤 - Long pMembers = req.getPMembers(); - if (ObjectUtils.isNotEmpty(pMembers)) { - allTaskVoList = allTaskVoList.stream().filter(task -> task.getPMemberIdList().contains(pMembers)).collect(Collectors.toList()); +// eachTaskNodeMemberPoList = memberMap.get(task.getUuid()); +// if (CollectionUtils.isNotEmpty(eachTaskNodeMemberPoList) && MapUtils.isNotEmpty(cidUserMap)) { +// List nickNameList = new ArrayList<>(); +// List idList = new ArrayList<>(); +// for (TaskNodeMemberPo taskNodeMemberPo : eachTaskNodeMemberPoList) { +// String nickName = cidUserMap.get(taskNodeMemberPo.getUserId()); +// if (StringUtils.isBlank(nickName)) { +// continue; +// } +// nickNameList.add(nickName); +// idList.add(taskNodeMemberPo.getUserId()); +// } +// task.setPMembers(String.join(",", nickNameList)); +// task.setPMemberIdList(idList); +// } +// task.setTagReq(tagReq); } + jsonObject.put("currentPage", req.getCurrent()); jsonObject.put("pageSize", req.getSize()); jsonObject.put("data", taskVoList);