feat(企标稽查计划): 完善流程

This commit is contained in:
yjz
2023-11-16 10:59:12 +08:00
parent d474aef1af
commit 6c9650354b
5 changed files with 31 additions and 72 deletions
@@ -20,6 +20,7 @@ public enum ProcessType {
ES_CHANGE("企标变更流程", "7", "es-change", "ProcessEsChangeServiceImpl"),
ES_RECHECK("企标复审流程", "8", "es-recheck", "ProcessEsRecheckServiceImpl"),
ES_ENABLE("已封存企标启用流程", "9", "es-enable", "ProcessEsEnableServiceImpl"),
ES_INSPECT_PLAN("企标稽查计划", "16", "es-inspect_plan", "ProcessEsInspectPlanServiceImpl"),
;
private final String name;
@@ -15,7 +15,7 @@ public class EsInspectPlanCommon {
/**
* 企标稽查计划key
*/
public static final String KEY = "Process_1dgrvyk";
public static final String KEY = "inspect_plan";
/**
* 企标稽查计划key
@@ -23,12 +23,20 @@ public class EsInspectPlanCommon {
public static final String NAME = "企业稽查计划";
/**
* 网关判断
* 企业稽查计划流程开始节点
*/
public static final String PASS = "pass";
public static final String PROCESS_NODE_START = "稽查联络人发起计划";
/**
* 企业稽查计划流程结束节点
*/
public static final String PROCESS_NODE_END = "联络人主管级领导批准";
/**
* 会签
*审批意见 1:通过 2:驳回
*/
public static final String INVOLVE_LIST = "involveList";
public static final String PROCESS_COMMIT_FLAG_1 = "1";
/**
*审批意见 1:通过 2:驳回
*/
public static final String PROCESS_COMMIT_FLAG_2 = "2";
}
@@ -9,7 +9,6 @@ import com.jero.common.util.SnowflakeUtils;
import com.jero.modules.activiti.entity.ProcessNode;
import com.jero.modules.activiti.process.esinspectplan.service.IEsInspectPlanFlowService;
import com.jero.modules.activiti.process.esinspectplan.vo.EsInspectPlanFlowVO;
import com.jero.modules.activiti.process.esinspectplan.vo.FlowRefusalVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -110,16 +109,4 @@ public class EsInspectPlanFlowController {
esInspectPlanFlowService.flowTransfer(taskId, userId);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
/**
* 企标稽查计划流程-流程驳回
* @return 结果对象
*/
@AutoLog(value = "企标稽查计划流程-流程驳回")
@ApiOperation(value="企标稽查计划流程-流程驳回", notes="企标稽查计划流程-流程驳回")
@PostMapping(value = "/flowRefusal")
public Result<T> flowRefusal(@RequestBody FlowRefusalVO flowRefusalVO) {
esInspectPlanFlowService.flowRefusal(flowRefusalVO);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
}
@@ -2,7 +2,6 @@ package com.jero.modules.activiti.process.esinspectplan.service;
import com.jero.modules.activiti.entity.ProcessNode;
import com.jero.modules.activiti.process.esinspectplan.vo.EsInspectPlanFlowVO;
import com.jero.modules.activiti.process.esinspectplan.vo.FlowRefusalVO;
import java.util.List;
@@ -46,11 +45,4 @@ public interface IEsInspectPlanFlowService {
* @param userId
*/
void flowTransfer(String taskId, String userId);
/**
* 企标稽查计划流程-流程驳回
*
* @param flowRefusalVO
*/
void flowRefusal(FlowRefusalVO flowRefusalVO);
}
@@ -11,13 +11,11 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.entity.ProcessNode;
import com.jero.modules.activiti.entity.ProcessNodeLink;
import com.jero.modules.activiti.enums.FinishFlagEnum;
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
import com.jero.modules.activiti.process.esinspectplan.common.EsInspectPlanCommon;
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
import com.jero.modules.activiti.process.esinspectplan.service.IEsInspectPlanFlowService;
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanService;
import com.jero.modules.activiti.process.esinspectplan.vo.EsInspectPlanFlowVO;
import com.jero.modules.activiti.process.esinspectplan.vo.FlowRefusalVO;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.service.ProcessNodeLinkService;
@@ -31,6 +29,7 @@ import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -51,41 +50,36 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
private final ProcessAllService processAllService;
private final ProcessApprovalRecordService processApprovalRecordService;
private final IProcessEsInspectPlanService processEsInspectPlanService;
private final TaskService taskService;
private final RepositoryService repositoryService;
private final ISysUserService sysUserService;
private final ProcessNodeService processNodeService;
private final ProcessNodeLinkService processNodeLinkService;
private final ActFlowCommonService actFlowCommonService;
private final SendMessageAPI sendMessageAPI;
public EsInspectPlanFlowServiceImpl(ProcessAllService processAllService,
ProcessApprovalRecordService processApprovalRecordService,
IProcessEsInspectPlanService processEsInspectPlanService,
TaskService taskService,
RepositoryService repositoryService,
ISysUserService sysUserService,
ProcessNodeService processNodeService,
ProcessNodeLinkService processNodeLinkService,
ActFlowCommonService actFlowCommonService,
SendMessageAPI sendMessageAPI) {
this.processAllService = processAllService;
this.processApprovalRecordService = processApprovalRecordService;
this.processEsInspectPlanService = processEsInspectPlanService;
this.taskService = taskService;
this.repositoryService = repositoryService;
this.sysUserService = sysUserService;
this.processNodeService = processNodeService;
this.processNodeLinkService = processNodeLinkService;
this.actFlowCommonService = actFlowCommonService;
this.sendMessageAPI = sendMessageAPI;
}
// ProcessEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// RunTimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
@Autowired
private TaskService taskService;
@Override
public void flowStart(EsInspectPlanFlowVO esInspectPlanFlowVO) {
// 流程信息
@@ -123,15 +117,13 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
processApprovalRecord.setUserId(loginUser.getId());
processApprovalRecordService.update(processApprovalRecord,
new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getProcessInstanceId, processInstance.getId()));
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
// 新增流程实例节点关联用户表
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map));
// 自动完成第一个节点
if (task != null) {
taskService.complete(task.getId());
}
taskService.complete(task.getId());
}
private Map<String, Object> listToString(Map<String, Object> map) {
@@ -207,6 +199,7 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
@Override
public void flowApproval(EsInspectPlanFlowVO esInspectPlanFlowVO) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 流程信息
ProcessAll processAll = esInspectPlanFlowVO.getProcessAll();
// 流程审批信息
@@ -215,26 +208,22 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
Map<String, Object> map = esInspectPlanFlowVO.getMap();
// 更新流程审批信息
processApprovalRecordService.update(processApprovalRecord,
processApprovalRecordService.update(
new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId()));
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
.eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId())
.set(StringUtils.isNotBlank(processApprovalRecord.getCommitText()),
ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText())
.set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag())
.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue()));
Task task = taskService.createTaskQuery().taskId(processAll.getTaskId()).singleResult();
if (task!= null) {
// 完成任务
taskService.complete(task.getId(), map);
// 查询当前流程实例的任务数量
long activeTaskCount = taskService.createTaskQuery()
.processInstanceId(processAll.getProcessInstanceId())
.active()
.count();
if (activeTaskCount == 0){
// 任务结束
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getProcessInstanceId, processAll.getProcessInstanceId())
.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue()));
// 任务结束
if (EsInspectPlanCommon.PROCESS_NODE_END.equals(task.getName())
&& map.containsKey("pass") && (boolean) map.get("pass")){
// 抄送消息 通过hiwork 给稽查联络人抄送消息
List<ProcessNode> processNodeList = queryPersonInfo(EsInspectPlanCommon.NAME, processAll.getProcessInstanceId());
if (!processNodeList.isEmpty()){
@@ -266,22 +255,4 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
// 转办
taskService.setAssignee(taskId, userId);
}
@Override
public void flowRefusal(FlowRefusalVO flowRefusalVO) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String taskId = flowRefusalVO.getTaskId();
Task task = taskService.createTaskQuery()
.processInstanceId(taskId)
.singleResult();
if (task != null){
// 更新流程审批信息
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getTaskId, taskId)
.set(ProcessApprovalRecord::getUserId, loginUser.getId()));
// 驳回
actFlowCommonService.completeTask(taskId, loginUser.getId());
}
}
}