feat: scc流程各部门分发驳回流转
This commit is contained in:
@@ -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";
|
||||
}
|
||||
|
||||
+4
@@ -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";
|
||||
/** 设计工程师科室经理审核 */
|
||||
|
||||
+21
-9
@@ -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<Proce
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
String curUserId = UserUtils.getUserId();
|
||||
ProcessSccVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
ProcessStandardComplianceCheck standardInfo = businessInfoDTO.getStandardInfo();
|
||||
List<ProcessStandardComplianceCheckDetail> detailInfoList = businessInfoDTO.getDetailInfoList();
|
||||
switch (xmlNodeId) {
|
||||
case DEPT_USER_DISTRIBUTE:
|
||||
// 设置主排查人
|
||||
@@ -248,6 +251,17 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
break;
|
||||
case MAIN_CHECK_USER_DISTRIBUTE:
|
||||
// 驳回
|
||||
boolean distributeFlag = businessInfoDTO.getStandardInfo().getDistributeFlag().equals(YesOrNoEnum.YES.getValue());
|
||||
int unallocatedQuantity = 0;
|
||||
if (distributeFlag) {
|
||||
// 分发需要设置未分发数据条数
|
||||
unallocatedQuantity = (int) detailInfoList.stream().filter(e -> StrUtil.isBlank(e.getDesignEngineer())).count();
|
||||
// 去重找到所有设计师
|
||||
List<String> 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<Proce
|
||||
Map<String, Object> 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<String> interpreterList = (List<String>) delegateTask.getVariable(ProcessDemoCommon.INTERPRETER);
|
||||
for (String interpreter : interpreterList) {
|
||||
userInfoMap.put(ProcessDemoCommon.INTERPRETER, interpreter);
|
||||
List<String> designerList = (List<String>) 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<Proce
|
||||
break;
|
||||
//设计工程师驳回后自动任务
|
||||
case AUTO_TASK_2:
|
||||
// TODO
|
||||
String mainInterpreter = (String) delegateTask.getVariable(ProcessDemoCommon.MAIN_INTERPRETER);
|
||||
userInfoMap.put(ProcessDemoCommon.MAIN_INTERPRETER, mainInterpreter);
|
||||
userInfoMap.put(MAIN_CHECK_USER, mainCheckUser);
|
||||
// 流程定义id
|
||||
String definitionId = processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.STANDARD_COMPLIANCE_CHECK_REDISTRIBUTE);
|
||||
basicProcessInfoDTO.setProcessDefinitionId(definitionId);
|
||||
|
||||
Reference in New Issue
Block a user