add 标准征求意见流程-审批
This commit is contained in:
+3
-3
@@ -11,7 +11,7 @@ public class ConsultationTaskKey {
|
|||||||
|
|
||||||
public static final String ENGINEER_START = "engineer_start"; // 法规工程师发起
|
public static final String ENGINEER_START = "engineer_start"; // 法规工程师发起
|
||||||
|
|
||||||
public static final String ENGINEER_START_END = "engineer_start_end"; // 法规工程师汇总
|
public static final String ENGINEER_START_END = "engineer_start_end"; // 法规工程师审批
|
||||||
|
|
||||||
public static final String REJECT = "reject"; // 法规工程师驳回
|
public static final String REJECT = "reject"; // 法规工程师驳回
|
||||||
|
|
||||||
@@ -19,13 +19,13 @@ public class ConsultationTaskKey {
|
|||||||
|
|
||||||
public static final String DEPART_LEADER_START_2 = "depart_leader_start_2"; // 各部所主管级领导分发
|
public static final String DEPART_LEADER_START_2 = "depart_leader_start_2"; // 各部所主管级领导分发
|
||||||
|
|
||||||
public static final String DEPART_LEADER_END_1 = "depart_leader_end_1"; // 各部所主管级领导汇总
|
public static final String DEPART_LEADER_END_1 = "depart_leader_end_1"; // 各部所主管级领导审批
|
||||||
|
|
||||||
public static final String DEPART_LEADER_COLLECT_2 = "depart_leader_collect_2"; // 各部所主管级领导汇总
|
public static final String DEPART_LEADER_COLLECT_2 = "depart_leader_collect_2"; // 各部所主管级领导汇总
|
||||||
|
|
||||||
public static final String DEPART_LEADER_COLLECT_3 = "depart_leader_collect_3"; // 各部所主管级领导汇总
|
public static final String DEPART_LEADER_COLLECT_3 = "depart_leader_collect_3"; // 各部所主管级领导汇总
|
||||||
|
|
||||||
public static final String DEPART_LEADER_END_4 = "depart_leader_end_4"; // 各部所主管级领导汇总
|
public static final String DEPART_LEADER_END_4 = "depart_leader_end_4"; // 各部所主管级领导审批
|
||||||
|
|
||||||
public static final String MODULE_OWNER_START = "module_owner_start"; // 模块负责人分发
|
public static final String MODULE_OWNER_START = "module_owner_start"; // 模块负责人分发
|
||||||
|
|
||||||
|
|||||||
+88
-6
@@ -113,16 +113,18 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
|||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void approveTask(ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO, boolean pass) {
|
public void approveTask(ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO, boolean pass) {
|
||||||
BasicTaskInfoDTO taskInfo = processInfoVO.getBasicTaskInfoDTO(); // 任务信息
|
|
||||||
|
|
||||||
ProcessFbStandardConsultationVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); // 全部业务信息
|
ProcessFbStandardConsultationVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); // 全部业务信息
|
||||||
ProcessFbStandardConsultation businessBasicInfo = businessInfoDTO.getProcessFbStandardConsultation(); // 业务基本信息
|
ProcessFbStandardConsultation businessBasicInfo = businessInfoDTO.getProcessFbStandardConsultation(); // 业务基本信息
|
||||||
processInfoVO.setBusinessId(businessBasicInfo.getId());
|
String businessId = businessBasicInfo.getId();
|
||||||
|
processInfoVO.setBusinessId(businessId);
|
||||||
|
|
||||||
|
BasicTaskInfoDTO taskInfo = processInfoVO.getBasicTaskInfoDTO(); // 任务信息
|
||||||
String taskId = taskInfo.getTaskId();
|
String taskId = taskInfo.getTaskId();
|
||||||
|
|
||||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||||
processHandleService.isMyTask(taskId); // 判断是否拥有任务处理权
|
processHandleService.isMyTask(taskId); // 判断是否拥有任务处理权
|
||||||
|
String taskDefinitionKey = task.getTaskDefinitionKey(); // 任务定义id
|
||||||
|
String processInstanceId = task.getProcessInstanceId();
|
||||||
|
|
||||||
Execution execution = runtimeService.createExecutionQuery().executionId(task.getExecutionId()).singleResult();
|
Execution execution = runtimeService.createExecutionQuery().executionId(task.getExecutionId()).singleResult();
|
||||||
|
|
||||||
@@ -131,20 +133,98 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
|||||||
log.info("TaskDefinitionKey: {}", task.getTaskDefinitionKey());
|
log.info("TaskDefinitionKey: {}", task.getTaskDefinitionKey());
|
||||||
log.info("任务Name: {}", task.getName());
|
log.info("任务Name: {}", task.getName());
|
||||||
log.info("任务FormKey: {}", task.getFormKey());
|
log.info("任务FormKey: {}", task.getFormKey());
|
||||||
log.info("任务ProcessInstanceId: {}", task.getProcessInstanceId());
|
log.info("任务ProcessInstanceId: {}", processInstanceId);
|
||||||
log.info("任务ExecutionId: {}", task.getExecutionId());
|
log.info("任务ExecutionId: {}", task.getExecutionId());
|
||||||
log.info("任务父ExecutionId: {}", execution.getParentId());
|
log.info("任务父ExecutionId: {}", execution.getParentId());
|
||||||
log.info("=======================================================================");
|
log.info("=======================================================================");
|
||||||
|
|
||||||
|
String userId = CurrentUserUtil.getId();
|
||||||
if (pass) { // 同意
|
if (pass) { // 同意
|
||||||
taskInfo.setCommitFlag(CommitFlagEnum.PASS.getValue());
|
taskInfo.setCommitFlag(CommitFlagEnum.PASS.getValue());
|
||||||
|
switch (taskDefinitionKey) {
|
||||||
|
case ConsultationTaskKey.DEPART_LEADER_END_1: // 主管级领导审批
|
||||||
|
case ConsultationTaskKey.DEPART_LEADER_END_4: // 驳回流程中的主管级领导审批
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "passSecond", true);
|
||||||
|
break;
|
||||||
|
case ConsultationTaskKey.ENGINEER_START_END: // 法规工程师审批
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "passThird", true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new JeroBootException("目前还未开发,请联系管理员");
|
||||||
|
}
|
||||||
} else { // 驳回
|
} else { // 驳回
|
||||||
taskInfo.setCommitFlag(CommitFlagEnum.REJECT.getValue());
|
taskInfo.setCommitFlag(CommitFlagEnum.REJECT.getValue());
|
||||||
throw new JeroBootException("目前还未开发,请联系管理员");
|
LambdaQueryWrapper<ProcessFbConsultationUserLink> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(ProcessFbConsultationUserLink::getBusinessId, businessId);
|
||||||
|
|
||||||
|
List<ProcessFbConsultationUserLink> userLinkList;
|
||||||
|
switch (taskDefinitionKey) {
|
||||||
|
case ConsultationTaskKey.DEPART_LEADER_END_1: // 主管级领导审批
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "passSecond", false);
|
||||||
|
// 分发给退回的模块负责人
|
||||||
|
queryWrapper.eq(ProcessFbConsultationUserLink::getDepartLeaderId, userId);
|
||||||
|
userLinkList = processFbConsultationUserLinkService.list(queryWrapper);
|
||||||
|
List<String> moduleOwnerIdList = userLinkList.stream()
|
||||||
|
.map(ProcessFbConsultationUserLink::getModuleOwnerId)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "moduleOwnerList", moduleOwnerIdList);
|
||||||
|
break;
|
||||||
|
case ConsultationTaskKey.ENGINEER_START_END: // 法规工程师审批
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "passThird", false);
|
||||||
|
// 退回到子流程
|
||||||
|
userLinkList = processFbConsultationUserLinkService.list(queryWrapper);
|
||||||
|
List<String> departLeaderIdList = userLinkList.stream()
|
||||||
|
.map(ProcessFbConsultationUserLink::getDepartLeaderId)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "departLeaderList", departLeaderIdList);
|
||||||
|
processHandleService.updateApprovalRecord(processInfoVO);
|
||||||
|
// 完成当前任务任务
|
||||||
|
taskService.complete(taskId);
|
||||||
|
|
||||||
|
// 法规工程师驳回 任务列表
|
||||||
|
List<Task> chooseTaskList = taskService.createTaskQuery()
|
||||||
|
.processInstanceId(processInstanceId)
|
||||||
|
.processDefinitionKey(ConsultationTaskKey.REJECT)
|
||||||
|
.list();
|
||||||
|
|
||||||
|
// 自动完成任务选择
|
||||||
|
for (Task chooseTask : chooseTaskList) {
|
||||||
|
String chooseTaskAssignee = chooseTask.getAssignee();
|
||||||
|
String chooseTaskId = chooseTask.getId();
|
||||||
|
List<ProcessFbConsultationUserLink> userLinks = userLinkList.stream()
|
||||||
|
.filter(userLink -> chooseTaskAssignee.equals(userLink.getDepartLeaderId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if ("1".equals(userLinks.get(0).getUserType())) { // 驳回给模块负责人
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "passFourth", true);
|
||||||
|
List<String> moduleOwnerList = userLinks.stream()
|
||||||
|
.map(ProcessFbConsultationUserLink::getModuleOwnerId)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "moduleOwnerList", moduleOwnerList);
|
||||||
|
} else { // 驳回给各部所主管级领导
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "passFourth", false);
|
||||||
|
}
|
||||||
|
// 完成驳回任务
|
||||||
|
taskService.complete(chooseTaskId);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case ConsultationTaskKey.DEPART_LEADER_END_4:
|
||||||
|
runtimeService.setVariableLocal(processInstanceId, "passSecond", false);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new JeroBootException("目前还未开发,请联系管理员");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
processHandleService.updateApprovalRecord(processInfoVO);
|
processHandleService.updateApprovalRecord(processInfoVO);
|
||||||
// 完成任务
|
// 完成任务
|
||||||
taskService.complete(taskId);
|
taskService.complete(taskId);
|
||||||
|
|
||||||
|
// 如果流程已经结束
|
||||||
|
if (processHandleService.isProcessFinish(processInstanceId)) {
|
||||||
|
log.info("流程 {} 已经结束", processInstanceId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -190,7 +270,6 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
|||||||
ProcessFbStandardConsultation processFbStandardConsultation = getById(processInfoVO.getBusinessId());
|
ProcessFbStandardConsultation processFbStandardConsultation = getById(processInfoVO.getBusinessId());
|
||||||
processFbStandardConsultationVO.setProcessFbStandardConsultation(processFbStandardConsultation); // 业务基本信息
|
processFbStandardConsultationVO.setProcessFbStandardConsultation(processFbStandardConsultation); // 业务基本信息
|
||||||
|
|
||||||
|
|
||||||
processInfoVO.setBusinessInfoDTO(processFbStandardConsultationVO);
|
processInfoVO.setBusinessInfoDTO(processFbStandardConsultationVO);
|
||||||
return processInfoVO;
|
return processInfoVO;
|
||||||
}
|
}
|
||||||
@@ -240,7 +319,10 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
|||||||
designEngineer(processInfoVO);
|
designEngineer(processInfoVO);
|
||||||
break;
|
break;
|
||||||
case ConsultationTaskKey.MODULE_OWNER_END_1: // 模块负责人汇总填写意见(可跳过)
|
case ConsultationTaskKey.MODULE_OWNER_END_1: // 模块负责人汇总填写意见(可跳过)
|
||||||
|
case ConsultationTaskKey.MODULE_OWNER_END_2: // 模块负责人汇总填写意见(主管级领导驳回后)
|
||||||
|
case ConsultationTaskKey.MODULE_OWNER_END_3: // 法规工程师审批驳回后的子流程中的模块负责人汇总
|
||||||
case ConsultationTaskKey.DEPART_LEADER_COLLECT_2: // 各部所主管级领导汇总(不分发给模块负责人)
|
case ConsultationTaskKey.DEPART_LEADER_COLLECT_2: // 各部所主管级领导汇总(不分发给模块负责人)
|
||||||
|
case ConsultationTaskKey.DEPART_LEADER_COLLECT_3: // 法规工程师审批驳回后的子流程中的各部所主管级领导汇总
|
||||||
log.info("{} 汇总", realName);
|
log.info("{} 汇总", realName);
|
||||||
collect(processInfoVO);
|
collect(processInfoVO);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user