diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esEnable/service/impl/ProcessEsEnableServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esEnable/service/impl/ProcessEsEnableServiceImpl.java index 6bfb9d2e..6126821a 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esEnable/service/impl/ProcessEsEnableServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esEnable/service/impl/ProcessEsEnableServiceImpl.java @@ -25,7 +25,9 @@ import com.jero.modules.activiti.service.ProcessNodeLinkService; import com.jero.modules.sys.utils.UserUtils; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.RuntimeService; +import org.activiti.engine.TaskService; import org.activiti.engine.runtime.ProcessInstance; +import org.activiti.engine.task.Task; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -54,6 +56,9 @@ public class ProcessEsEnableServiceImpl extends ServiceImpl flowUser = enableData.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)) { throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS); } - String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId); + if (flowUser != null) { + Map 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); // 更新审批表为完成,填充数据