diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java index 5cd944ac3..c7ce84e1e 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java @@ -4,6 +4,7 @@ import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.warm.flow.core.entity.Instance; +import org.dromara.warm.flow.core.entity.Task; import org.dromara.workflow.api.event.ProcessDeleteEvent; import org.dromara.workflow.api.event.ProcessEvent; import org.dromara.workflow.api.event.ProcessTaskEvent; @@ -53,24 +54,24 @@ public class FlowProcessEventHandler { /** * 执行创建任务监听 * - * @param flowCode 流程定义编码 - * @param instance 实例数据 - * @param taskId 任务id + * @param flowCode 流程定义编码 + * @param instance 实例数据 + * @param nextTask 任务 * @param params 上一个任务的办理参数 */ - public void processTaskHandler(String flowCode, Instance instance, Long taskId, Map params) { + public void processTaskHandler(String flowCode, Instance instance, Task nextTask, Map params) { String tenantId = TenantHelper.getTenantId(); log.info("【流程任务事件发布】租户ID: {}, 流程编码: {}, 业务ID: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 任务ID: {}", - tenantId, flowCode, instance.getBusinessId(), instance.getNodeType(), instance.getNodeCode(), instance.getNodeName(), taskId); + tenantId, flowCode, instance.getBusinessId(), nextTask.getNodeType(), nextTask.getNodeCode(), nextTask.getNodeName(), nextTask.getId()); ProcessTaskEvent processTaskEvent = new ProcessTaskEvent(); processTaskEvent.setTenantId(tenantId); processTaskEvent.setFlowCode(flowCode); processTaskEvent.setInstanceId(instance.getId()); processTaskEvent.setBusinessId(instance.getBusinessId()); - processTaskEvent.setNodeType(instance.getNodeType()); - processTaskEvent.setNodeCode(instance.getNodeCode()); - processTaskEvent.setNodeName(instance.getNodeName()); - processTaskEvent.setTaskId(taskId); + processTaskEvent.setNodeType(nextTask.getNodeType()); + processTaskEvent.setNodeCode(nextTask.getNodeCode()); + processTaskEvent.setNodeName(nextTask.getNodeName()); + processTaskEvent.setTaskId(nextTask.getId()); processTaskEvent.setStatus(instance.getFlowStatus()); processTaskEvent.setParams(params); SpringUtils.context().publishEvent(processTaskEvent); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java index 9a918d331..0d2ecc882 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java @@ -211,7 +211,7 @@ public class WorkflowGlobalListener implements GlobalListener { //发布任务事件 if (CollUtil.isNotEmpty(nextTasks)) { for (Task nextTask : nextTasks) { - flowProcessEventHandler.processTaskHandler(definition.getFlowCode(), instance, nextTask.getId(), params); + flowProcessEventHandler.processTaskHandler(definition.getFlowCode(), instance, nextTask, params); } } if (ObjectUtil.isNull(flowParams)) {