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 9860d55e..ac211a33 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 @@ -306,6 +306,25 @@ public class TaskServiceImpl implements ITaskService { } } } + if (ObjectUtils.isNotEmpty(req.getPMemberList())) { + List pMemberIdList = Stream.of(req.getPMemberList().split(",")).map(Long::valueOf).toList(); + // 通过仿真负责人过滤 + taskMemberVoList = taskMemberVoList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType()) && pMemberIdList.contains(member.getUserId())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(taskMemberVoList)) { + log.error("taskMemberVoList为空"); + jsonObject.put("total", 0); + return SdmResponse.success(jsonObject); + } + memberMap = taskMemberVoList.stream().collect(Collectors.groupingBy(SpdmTaskMemberVo::getTaskId)); + List realTaskIdList = taskMemberVoList.stream().map(SpdmTaskMemberVo::getTaskId).distinct().toList(); + // 根据负责人信息过滤任务 + taskList = taskList.stream().filter(eachTask -> realTaskIdList.contains(eachTask.getUuid())).toList(); + if (CollectionUtils.isEmpty(taskList)) { + log.error("taskList为空"); + jsonObject.put("total", 0); + return SdmResponse.success(jsonObject); + } + } eachAttentionMemberList = attentionMap.get(task.getUuid()); task.setAttentionFlag(CollectionUtils.isEmpty(eachAttentionMemberList) ? 0 : (eachAttentionMemberList.stream().map(SpdmTaskAttentionMemberVo::getUserId).toList().contains(userId) ? 1 : 0));