diff --git a/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java b/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java index 76d38fd3..c6f5e738 100644 --- a/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java +++ b/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java @@ -147,6 +147,11 @@ public class TaskNodePo extends NodeAllBase { */ private String attionMembers; + /** + * 3D负责人 + */ + private String tMembers; + /** * 拓展属性集合 */ 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 29d2d357..7c53b72e 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 @@ -774,10 +774,26 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { } } + // 3D负责人 + List tMemberList = taskChildren.stream().filter(node -> CollectionUtils.isNotEmpty(node.getTMemberList())).flatMap(item -> item.getTMemberList().stream().filter(Objects::nonNull)).toList(); + List tMemberIdList = new ArrayList<>(); + List distinctTMemberList = projectNodePo.getPayAttentionMemberList(); + if (CollectionUtils.isNotEmpty(tMemberIdList)) { + for (CIDUserResp cidUserResp : tMemberList) { + if (tMemberIdList.contains(cidUserResp.getUserId())) { + continue; + } + distinctTMemberList.add(cidUserResp); + tMemberIdList.add(cidUserResp.getUserId()); + } + } + projectNodePo.setPMemberList(distinctPMemberList); projectNodePo.setEMemberList(distinctEMemberList); // 仿真关注人 projectNodePo.setPayAttentionMemberList(distinctAttionMemberList); + // 3D负责人 + projectNodePo.setTMemberList(distinctTMemberList); for (NodeAllBase child : children) { List eachChildren = child.getChildren(); @@ -1017,6 +1033,8 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { List pUserIdList = memberList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType())).map(SimulationTaskMember::getUserId).distinct().toList(); // 关注人 List attionUserIdList = memberList.stream().filter(member -> MemberTypeEnum.ATTENTION.getCode().equals(member.getType())).map(SimulationTaskMember::getUserId).distinct().toList(); + // 3D负责人 + List tUserIdList = memberList.stream().filter(member -> MemberTypeEnum.THREED.getCode().equals(member.getType())).map(SimulationTaskMember::getUserId).distinct().toList(); if (CollectionUtils.isNotEmpty(eUserIdList)) { List eMemberList = new ArrayList<>(); @@ -1062,6 +1080,23 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { taskNodePo.setAttionMembers(taskNodePo.getPayAttentionMemberList().stream().map(CIDUserResp::getNickname).collect(Collectors.joining(","))); } } + + // 3D负责人 + if (CollectionUtils.isNotEmpty(tUserIdList)) { + List tMemberList = new ArrayList<>(); + for (Long tUserId : tUserIdList) { + CIDUserResp cidUserResp = cidUserMap.get(tUserId); + if (ObjectUtils.isEmpty(cidUserResp)) { + continue; + } + tMemberList.add(cidUserResp); + } + taskNodePo.setTMemberList(tMemberList); + if (CollectionUtils.isNotEmpty(taskNodePo.getTMemberList())) { + taskNodePo.setTMembers(taskNodePo.getTMemberList().stream().map(CIDUserResp::getNickname).collect(Collectors.joining(","))); + } + } + } } }