diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/common/ActivitiCommon.java b/laws-modules/src/main/java/com/jero/modules/activiti/common/ActivitiCommon.java index deebcaaf..8ba1151f 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/common/ActivitiCommon.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/common/ActivitiCommon.java @@ -9,4 +9,5 @@ public class ActivitiCommon { public static final String MAIN_INSTANCE_ID = "mainInstanceId"; public static final String PARENT_TASK_ID = "parentTaskId"; public static final String DISTRIBUTE = "distribute"; + public static final String UNALLOCATED_QUANTITY = "unallocatedQuantity"; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/common/ProcessStandardComplianceCheckConstants.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/common/ProcessStandardComplianceCheckConstants.java index 439544e9..22eb5849 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/common/ProcessStandardComplianceCheckConstants.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/common/ProcessStandardComplianceCheckConstants.java @@ -12,6 +12,10 @@ public class ProcessStandardComplianceCheckConstants { public static final String DEPT_USER = "deptUser"; /** 主排查人 */ public static final String MAIN_CHECK_USER = "mainCheckUser"; + /** 设计师 */ + public static final String DESIGNER = "designer"; + /** 设计师列表 */ + public static final String DESIGNER_LIST = "designerList"; /** 会签人员列表 */ public static final String COUNTERSIGN_USER_LIST = "countersignUserList"; /** 设计工程师科室经理审核 */ diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java index 4fa6ed8c..45359e7b 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.util.MinioUtil; import com.jero.modules.activiti.common.ActivitiCommon; @@ -12,7 +13,6 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.ProcessTypeEnum; import com.jero.modules.activiti.process.common.enums.ProcessType; import com.jero.modules.activiti.process.common.service.ActFlowCommonService; -import com.jero.modules.activiti.process.demo.common.ProcessDemoCommon; import com.jero.modules.activiti.process.demo.vo.ProcessDemoVO; import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey; import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO; @@ -54,6 +54,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import static com.jero.modules.activiti.common.ActivitiCommon.DISTRIBUTE; import static com.jero.modules.activiti.common.ActivitiCommon.PASS; @@ -240,6 +241,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl detailInfoList = businessInfoDTO.getDetailInfoList(); switch (xmlNodeId) { case DEPT_USER_DISTRIBUTE: // 设置主排查人 @@ -248,6 +251,17 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl StrUtil.isBlank(e.getDesignEngineer())).count(); + // 去重找到所有设计师 + List designEngineerList = detailInfoList.stream().map(ProcessStandardComplianceCheckDetail::getDesignEngineer).distinct().collect(Collectors.toList()); + runtimeService.setVariable(processInstanceId, DESIGNER_LIST, designEngineerList); + } + runtimeService.setVariable(processInstanceId, DISTRIBUTE, distributeFlag); + runtimeService.setVariable(processInstanceId, UNALLOCATED_QUANTITY, unallocatedQuantity); break; } // 审批节点 @@ -321,15 +335,15 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl variables = new HashMap<>(); variables.put(ActivitiCommon.MAIN_INSTANCE_ID, mainInstanceId != null ? mainInstanceId : processInstanceId); variables.put(ActivitiCommon.PARENT_TASK_ID, taskId); - + String mainCheckUser = (String) delegateTask.getVariable(MAIN_CHECK_USER); switch (taskDefinitionKey) { //主排查人分批下发后自动任务 case AUTO_TASK_1: case AUTO_TASK_3: - // TODO - List interpreterList = (List) delegateTask.getVariable(ProcessDemoCommon.INTERPRETER); - for (String interpreter : interpreterList) { - userInfoMap.put(ProcessDemoCommon.INTERPRETER, interpreter); + List designerList = (List) delegateTask.getVariable(DESIGNER_LIST); + for (String designer : designerList) { + userInfoMap.put(DESIGNER, designer); + userInfoMap.put(MAIN_CHECK_USER, mainCheckUser); // 流程定义id String definitionId = processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.STANDARD_COMPLIANCE_CHECK_DISTRIBUTE); basicProcessInfoDTO.setProcessDefinitionId(definitionId); @@ -343,9 +357,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl