diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/common/ConsultationCommon.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/common/ConsultationCommon.java deleted file mode 100644 index e45b55e9..00000000 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/common/ConsultationCommon.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.jero.modules.activiti.process.fb.common; - -/** - * @Author: liao - * @Date: 2023/11/28 11:41 - * @Description: 常量 - */ -public class ConsultationCommon { - - public static final String USER_TYPE_MODULE_OWNER = "1"; // 模块负责人 - -} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/common/FbCommon.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/common/FbCommon.java new file mode 100644 index 00000000..4401a8f2 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/common/FbCommon.java @@ -0,0 +1,23 @@ +package com.jero.modules.activiti.process.fb.common; + +/** + * @Author: liao + * @Date: 2023/11/28 11:41 + * @Description: 常量 + */ +public class FbCommon { + + public static final String USER_TYPE_MODULE_OWNER = "1"; // 模块负责人 + public static final String USER_TYPE_DESIGN_ENGINEER = "2"; // 设计工程师 + + public static final String VARIABLE_ENGINEER = "engineer"; // 法规工程师 + public static final String VARIABLE_DEPART_LEADER_LIST = "departLeaderList"; // 各部所主管级领导 + public static final String VARIABLE_MODULE_OWNER_LIST = "moduleOwnerList"; // 模块负责人 + public static final String VARIABLE_MODULE_OWNER_ID = "moduleOwnerId"; // 模块负责人 + public static final String VARIABLE_DESIGN_ENGINEER_LIST = "designEngineerList"; // 设计工程师 + public static final String VARIABLE_DESIGN_ENGINEER_ID = "designEngineerId"; // 设计工程师 + public static final String VARIABLE_PASS_FIRST = "passFirst"; // 主管级领导是否分发 + public static final String VARIABLE_PASS_SECOND = "passSecond"; // 主管级领导审批是否通过 + public static final String VARIABLE_PASS_THIRD = "passThird"; // 法规工程师审批是否通过 + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/common/ProcessUserType.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/common/ProcessUserType.java deleted file mode 100644 index 154618aa..00000000 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/common/ProcessUserType.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.jero.modules.activiti.process.fb.common; - -/** - * @Author: liao - * @Date: 2023/11/13 10:06 - * @Description: 流程用户类型 - */ -public class ProcessUserType { - - private ProcessUserType() {} - - public static final String ENGINEER = "engineer"; // 法规工程师 - - public static final String DEPART_LEADER = "departLeader"; // 部所主管级领导 - - public static final String MODULE_OWNER = "moduleOwner"; // 模块负责人 - - public static final String DESIGN_ENGINEER = "designEngineer"; // 设计工程师 - - public static final String OTHER = "other"; // 其他 - -} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbConsultationList.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbConsultationList.java index 53c17fd1..b815a050 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbConsultationList.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbConsultationList.java @@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.fb.entity; import java.io.Serializable; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -67,10 +68,12 @@ public class ProcessFbConsultationList implements Serializable { @Excel(name = "修改理由", width = 15) @ApiModelProperty(value = "修改理由") private java.lang.String modificationReason; - /**模块负责人意见(0不采纳,1采纳)*/ + /**模块负责人意见(1采纳,2部分采纳,3不采纳)*/ @Excel(name = "模块负责人意见(1采纳,2部分采纳,3不采纳)", width = 15) @ApiModelProperty(value = "模块负责人意见(1采纳,2部分采纳,3不采纳)") private java.lang.String isAdopt; + @TableField(exist = false) + private java.lang.String isAdopt_dictText; /**依据描述*/ @Excel(name = "依据描述", width = 15) @ApiModelProperty(value = "依据描述") diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java index 2d6615b8..be235f18 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java @@ -7,7 +7,7 @@ import com.jero.modules.activiti.entity.ProcessNode; import com.jero.modules.activiti.entity.ProcessNodeLink; import com.jero.modules.activiti.enums.CommitFlagEnum; import com.jero.modules.activiti.enums.ProcessTypeEnum; -import com.jero.modules.activiti.process.fb.common.ConsultationCommon; +import com.jero.modules.activiti.process.fb.common.FbCommon; import com.jero.modules.activiti.process.fb.common.ConsultationNodeSort; import com.jero.modules.activiti.process.fb.common.ConsultationTaskKey; import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey; @@ -30,7 +30,6 @@ import lombok.extern.slf4j.Slf4j; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; import org.activiti.engine.runtime.Execution; -import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -69,6 +68,8 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl userInfoMap = processInfoVO.getUserInfoMap(); // 用户变量map - String departLeaders = (String) userInfoMap.get("departLeaderList"); + String departLeaders = (String) userInfoMap.get(FbCommon.VARIABLE_DEPART_LEADER_LIST); if (StringUtils.isBlank(departLeaders)) { - throw new JeroBootException(ResultCommon.EMPTY_COMMON, "departLeaderList"); + throw new JeroBootException(ResultCommon.EMPTY_COMMON, FbCommon.VARIABLE_DEPART_LEADER_LIST); } - userInfoMap.put("engineer", CurrentUserUtil.getId()); // 第一个任务节点设置成自己 + userInfoMap.put(FbCommon.VARIABLE_ENGINEER, CurrentUserUtil.getId()); // 第一个任务节点设置成自己 BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); basicProcessInfoDTO.setProcessDefinitionId(processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.FB_STANDARD_CONSULTATION)); // 流程定义id basicProcessInfoDTO.setProcessName(businessInfoDTO.getStandardNumber() + "-" + businessInfoDTO.getStandardName() + "-" + "征求意见"); // 流程名称 @@ -145,13 +146,13 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl userLinkList; switch (taskDefinitionKey) { case ConsultationTaskKey.DEPART_LEADER_END_1: // 主管级领导审批 - runtimeService.setVariableLocal(processInstanceId, "passSecond", false); + runtimeService.setVariableLocal(processInstanceId, FbCommon.VARIABLE_PASS_SECOND, false); // 分发给退回的模块负责人 queryWrapper.eq(ProcessFbConsultationUserLink::getDepartLeaderId, userId); userLinkList = processFbConsultationUserLinkService.list(queryWrapper); @@ -169,17 +170,17 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl departLeaderIdList = userLinkList.stream() .map(ProcessFbConsultationUserLink::getDepartLeaderId) .distinct() .collect(Collectors.toList()); - runtimeService.setVariableLocal(processInstanceId, "departLeaderList", departLeaderIdList); + runtimeService.setVariableLocal(processInstanceId, FbCommon.VARIABLE_DEPART_LEADER_LIST, departLeaderIdList); processHandleService.updateApprovalRecord(processInfoVO); // 完成当前任务任务 taskService.complete(taskId); @@ -203,7 +204,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl userLinks; ProcessFbConsultationUserLink userLink; List linkIds; - List consultationLists; + List consultationLists = new ArrayList<>(); switch (taskDefinitionKey) { case ConsultationTaskKey.DEPART_LEADER_START_1: // 各部所主管级领导分发 linkQueryWrapper.eq(ProcessFbConsultationUserLink::getDepartLeaderId, userId); @@ -328,7 +329,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl collect = userLinks.stream() .map(ProcessFbConsultationUserLink::getModuleOwnerId) .distinct().collect(Collectors.toList()); @@ -361,6 +362,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl { + switch (consultation.getIsAdopt()) { + case "1": + consultation.setIsAdopt_dictText("采纳"); + break; + case "2": + consultation.setIsAdopt_dictText("部分采纳"); + break; + case "3": + consultation.setIsAdopt_dictText("不采纳"); + break; + default: + consultation.setIsAdopt_dictText(""); + } + }); + return processInfoVO; } @@ -494,7 +512,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl { ProcessFbConsultationUserLink userLink = new ProcessFbConsultationUserLink(); - userLink.setUserType("1"); + userLink.setUserType(FbCommon.USER_TYPE_MODULE_OWNER); userLink.setBusinessId(processFbConsultationUserLink.getBusinessId()); userLink.setDepartLeaderId(processFbConsultationUserLink.getDepartLeaderId()); userLink.setModuleOwnerId(processFbConsultationUserLink.getModuleOwnerId()); @@ -570,7 +588,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl idList = userLinkList.stream().map(ProcessFbConsultationUserLink::getId).collect(Collectors.toList()); String processInstanceId = task.getProcessInstanceId(); - runtimeService.setVariableLocal(processInstanceId, "designEngineerList", idList); + runtimeService.setVariableLocal(processInstanceId, FbCommon.VARIABLE_DESIGN_ENGINEER_LIST, idList); saveNodeUserLink(processInstanceId, ConsultationNodeSort.DESIGN_ENGINEER_LIST, designEngineerIdList); // 完成任务 @@ -599,7 +617,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl { ProcessFbConsultationUserLink userLink = new ProcessFbConsultationUserLink(); - userLink.setUserType("1"); + userLink.setUserType(FbCommon.USER_TYPE_MODULE_OWNER); userLink.setBusinessId(processFbConsultationUserLink.getBusinessId()); userLink.setDepartLeaderId(processFbConsultationUserLink.getDepartLeaderId()); userLink.setModuleOwnerId(processFbConsultationUserLink.getModuleOwnerId()); @@ -628,7 +646,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl linkList = new ArrayList<>(); if ("1".equals(userLink.getUserType())) { // 模块负责人 if (StringUtils.isBlank(userLink.getModuleOwnerId())) { - throw new JeroBootException(ResultCommon.EMPTY_COMMON, "moduleOwnerId"); + throw new JeroBootException(ResultCommon.EMPTY_COMMON, FbCommon.VARIABLE_MODULE_OWNER_ID); } List moduleOwnerIds = Arrays.asList(userLink.getModuleOwnerId().split(",")); moduleOwnerIds.forEach(moduleOwnerId -> { ProcessFbConsultationUserLink link = new ProcessFbConsultationUserLink(); - link.setUserType("1"); + link.setUserType(FbCommon.USER_TYPE_MODULE_OWNER); link.setBusinessId(processInfoVO.getBusinessId()); link.setDepartLeaderId(CurrentUserUtil.getId()); link.setModuleOwnerId(moduleOwnerId); linkList.add(link); }); processFbConsultationUserLinkService.saveBatch(linkList, linkList.size()); - variables.put("passFirst", true); - variables.put("moduleOwnerList", moduleOwnerIds); + variables.put(FbCommon.VARIABLE_PASS_FIRST, true); + variables.put(FbCommon.VARIABLE_MODULE_OWNER_LIST, moduleOwnerIds); saveNodeUserLink(processInstanceId, ConsultationNodeSort.MODULE_OWNER_LIST, moduleOwnerIds); } else { // 设计工程师 if (StringUtils.isBlank(userLink.getDesignEngineerId())) { - throw new JeroBootException(ResultCommon.EMPTY_COMMON, "designEngineerId"); + throw new JeroBootException(ResultCommon.EMPTY_COMMON, FbCommon.VARIABLE_DESIGN_ENGINEER_ID); } List designEngineerIds = Arrays.asList(userLink.getDesignEngineerId().split(",")); designEngineerIds.forEach(designEngineerId -> { ProcessFbConsultationUserLink link = new ProcessFbConsultationUserLink(); - link.setUserType("2"); + link.setUserType(FbCommon.USER_TYPE_DESIGN_ENGINEER); link.setBusinessId(processInfoVO.getBusinessId()); link.setDepartLeaderId(CurrentUserUtil.getId()); link.setDesignEngineerId(designEngineerId); linkList.add(link); }); processFbConsultationUserLinkService.saveBatch(linkList, linkList.size()); - variables.put("passFirst", false); - variables.put("designEngineerList", designEngineerIds); + variables.put(FbCommon.VARIABLE_PASS_FIRST, false); + variables.put(FbCommon.VARIABLE_DESIGN_ENGINEER_LIST, designEngineerIds); saveNodeUserLink(processInstanceId, ConsultationNodeSort.DESIGN_ENGINEER_LIST, designEngineerIds); } @@ -797,7 +815,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl moduleOwnerIds = Arrays.asList(userLink.getModuleOwnerId().split(",")); moduleOwnerIds.forEach(moduleOwnerId -> { ProcessFbConsultationUserLink link = new ProcessFbConsultationUserLink(); - link.setUserType("1"); + link.setUserType(FbCommon.USER_TYPE_DESIGN_ENGINEER); link.setBusinessId(processInfoVO.getBusinessId()); link.setDepartLeaderId(CurrentUserUtil.getId()); link.setModuleOwnerId(moduleOwnerId); @@ -809,7 +827,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl designEngineerIds = Arrays.asList(userLink.getDesignEngineerId().split(",")); designEngineerIds.forEach(designEngineerId -> { ProcessFbConsultationUserLink link = new ProcessFbConsultationUserLink(); - link.setUserType("2"); + link.setUserType(FbCommon.USER_TYPE_DESIGN_ENGINEER); link.setBusinessId(processInfoVO.getBusinessId()); link.setDepartLeaderId(CurrentUserUtil.getId()); link.setDesignEngineerId(designEngineerId); diff --git a/laws-modules/src/main/resources/bpmn/标准征求意见流程.bpmn b/laws-modules/src/main/resources/bpmn/标准征求意见流程.bpmn index a4d322d6..4443d940 100644 --- a/laws-modules/src/main/resources/bpmn/标准征求意见流程.bpmn +++ b/laws-modules/src/main/resources/bpmn/标准征求意见流程.bpmn @@ -1,6 +1,6 @@ - + Flow_1d5objw @@ -169,7 +169,7 @@ Flow_07p5ivp - +