diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/common/ProcessProjectStandardCommon.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/common/ProcessProjectStandardCommon.java index c74b4930..fb88aa90 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/common/ProcessProjectStandardCommon.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/common/ProcessProjectStandardCommon.java @@ -12,6 +12,8 @@ public class ProcessProjectStandardCommon { public static final String MODULE_OWNER_LIST_SIZE = "moduleOwnerListSize"; public static final String DESIGN_ENGINEER_LIST = "designEngineerList"; public static final String DESIGN_ENGINEER_LIST_SIZE = "designEngineerListSize"; + public static final String NOT_INVOLVED_MODULE_OWNER_LIST_SIZE = "notInvolvedModuleOwnerListSize"; + public static final String NOT_INVOLVED_MODULE_OWNER_LIST = "notInvolvedModuleOwnerList"; //法规工程师发起 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/service/ProcessProjectStandardService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/service/ProcessProjectStandardService.java index 441510df..fb384be0 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/service/ProcessProjectStandardService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectstandard/service/ProcessProjectStandardService.java @@ -156,14 +156,14 @@ public class ProcessProjectStandardService extends ServiceImpl variables = new HashMap<>(); + //如果驳回查询下一步的模块责任人 + if (!pass){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProcessProjectStandardTermUser::getProcessId,businessId); + wrapper.eq(ProcessProjectStandardTermUser::getResponsibleUnitLeader,originUserId); + List termUserList = termUserMapper.selectList(wrapper); + //选择不涉及的模块责任人 + List notInvolvedModuleOwnerList = termUserList.stream() + .filter(i -> StringUtils.isBlank(i.getDesignEngineer())) + .map(ProcessProjectStandardTermUser::getModuleOwner) + .distinct() + .collect(Collectors.toList()); + //选择设计工程师的模块责任人 + List moduleOwnerList = termUserList.stream() + .filter(i -> StringUtils.isNotBlank(i.getDesignEngineer())) + .map(ProcessProjectStandardTermUser::getModuleOwner) + .distinct() + .collect(Collectors.toList()); + variables.put(ProcessProjectStandardCommon.NOT_INVOLVED_MODULE_OWNER_LIST, notInvolvedModuleOwnerList); + variables.put(ProcessProjectStandardCommon.NOT_INVOLVED_MODULE_OWNER_LIST_SIZE, notInvolvedModuleOwnerList.size()); + variables.put(ProcessProjectStandardCommon.MODULE_OWNER_LIST, moduleOwnerList); + variables.put(ProcessProjectStandardCommon.MODULE_OWNER_LIST_SIZE, moduleOwnerList.size()); + } + String taskId = processDTO.getTaskId(); + variables.put(ProcessProjectAssessCommon.PASS, pass); + taskService.complete(taskId, variables); } //法规工程师审批 private void fggcsspApprove(ProcessInfoVO processInfoVO, ProcessDTO processDTO, boolean pass) { @@ -467,6 +497,7 @@ public class ProcessProjectStandardService extends ServiceImpl termList = businessInfoDTO.getProcessProjectStandardTermList(); List carbonCopyPersonnelList = new ArrayList<>(); List updateTermList = new ArrayList<>(); + List designEngineerList = new ArrayList<>(); Date date = new Date(); for (ProcessProjectStandardTerm term : termList) { ProcessProjectStandardTerm term1 = new ProcessProjectStandardTerm(); @@ -476,6 +507,7 @@ public class ProcessProjectStandardService extends ServiceImpl variables = new HashMap<>(); + variables.put(ProcessProjectAssessCommon.PASS, pass); + variables.put(ProcessProjectStandardCommon.DESIGN_ENGINEER_LIST, designEngineerList); + variables.put(ProcessProjectStandardCommon.DESIGN_ENGINEER_LIST_SIZE, designEngineerList.size()); + taskService.complete(taskId, variables); //发送消息 String carbonCopyPersonnels = carbonCopyPersonnelList.stream().distinct().collect(Collectors.joining(",")); SendMessageDTO sendMessageDTO = new SendMessageDTO(); @@ -730,8 +769,15 @@ public class ProcessProjectStandardService extends ServiceImpl termList = termMapper.getByModuleOwner(projectId, assignee, executionParentId, false); - + List termList = termMapper.getByModuleOwner(projectId, assignee, executionParentId, true); + List designEngineerIds = termList.stream() + .map(ProcessProjectStandardTerm::getDesignEngineer) + .distinct() + .collect(Collectors.toList()); + ThreadLocalUtil.put(ProcessProjectAssessCommon.EXECUTION_ID,executionParentId); + Map variables = new HashMap<>(); + variables.put(ProcessProjectStandardCommon.DESIGN_ENGINEER_LIST, designEngineerIds); + taskService.complete(delegateTask.getId(),variables); } /**