feat: 企标废止流程支持驳回后更换流程选人
This commit is contained in:
+22
-1
@@ -25,7 +25,9 @@ import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
|||||||
import com.jero.modules.sys.utils.UserUtils;
|
import com.jero.modules.sys.utils.UserUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.activiti.engine.RuntimeService;
|
import org.activiti.engine.RuntimeService;
|
||||||
|
import org.activiti.engine.TaskService;
|
||||||
import org.activiti.engine.runtime.ProcessInstance;
|
import org.activiti.engine.runtime.ProcessInstance;
|
||||||
|
import org.activiti.engine.task.Task;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@@ -55,6 +57,9 @@ public class ProcessEsAbolishServiceImpl extends ServiceImpl<ProcessEsAbolishMap
|
|||||||
@Resource
|
@Resource
|
||||||
private IProcessHandleService processHandleService;
|
private IProcessHandleService processHandleService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private TaskService taskService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startProcess(ESAbolishDataVO abolishData) {
|
public void startProcess(ESAbolishDataVO abolishData) {
|
||||||
// 执行流程发起前的操作
|
// 执行流程发起前的操作
|
||||||
@@ -166,10 +171,26 @@ public class ProcessEsAbolishServiceImpl extends ServiceImpl<ProcessEsAbolishMap
|
|||||||
String userId = UserUtils.getUserId();
|
String userId = UserUtils.getUserId();
|
||||||
CommonVO commonVO = abolishData.getCommon();
|
CommonVO commonVO = abolishData.getCommon();
|
||||||
String taskId = commonVO.getTaskId();
|
String taskId = commonVO.getTaskId();
|
||||||
|
Map<String, Object> flowUser = abolishData.getFlowUser();
|
||||||
|
// 获取流程实例ID
|
||||||
|
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||||
|
// 获取流程实例对象
|
||||||
|
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
|
||||||
|
.processInstanceId(processInstanceId).singleResult();
|
||||||
|
// 获取流程定义ID
|
||||||
|
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||||
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
||||||
throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS);
|
throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
if (flowUser != null) {
|
||||||
|
Map<String, Object> variables = setVariables(flowUser);
|
||||||
|
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||||
|
// 获取执行id
|
||||||
|
String executionId = task.getExecutionId();
|
||||||
|
// 设置流程变量
|
||||||
|
runtimeService.setVariables(executionId, variables);
|
||||||
|
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(flowUser));
|
||||||
|
}
|
||||||
// 设置流程变量
|
// 设置流程变量
|
||||||
runtimeService.setVariable(processInstanceId, "pass", pass);
|
runtimeService.setVariable(processInstanceId, "pass", pass);
|
||||||
// 更新审批表为完成,填充数据
|
// 更新审批表为完成,填充数据
|
||||||
|
|||||||
Reference in New Issue
Block a user