From 74e3d232f5a31f5d7cbe6c1a9796be424c99d696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Wed, 9 Jul 2025 10:43:22 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=B5=81=E4=BB=BB=E5=8A=A1=E5=88=9B=E5=BB=BA=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E5=99=A8=20=E4=BC=A0=E9=80=92=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/common/core/domain/event/ProcessTaskEvent.java | 6 ++++++ .../dromara/workflow/handler/FlowProcessEventHandler.java | 3 ++- .../dromara/workflow/listener/WorkflowGlobalListener.java | 2 +- .../dromara/workflow/service/impl/TestLeaveServiceImpl.java | 4 ++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessTaskEvent.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessTaskEvent.java index a9bcf7e93..44a5dadd0 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessTaskEvent.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessTaskEvent.java @@ -4,6 +4,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.util.Map; /** * 流程任务监听 @@ -56,4 +57,9 @@ public class ProcessTaskEvent implements Serializable { */ private String status; + /** + * 办理参数 + */ + private Map params; + } 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 c465271ca..0486f99bc 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 @@ -56,7 +56,7 @@ public class FlowProcessEventHandler { * @param instance 实例数据 * @param taskId 任务id */ - public void processTaskHandler(String flowCode, Instance instance, Long taskId) { + public void processTaskHandler(String flowCode, Instance instance, Long taskId, Map params) { String tenantId = TenantHelper.getTenantId(); log.info("【流程任务事件发布】租户ID: {}, 流程编码: {}, 业务ID: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 任务ID: {}", tenantId, flowCode, instance.getBusinessId(), instance.getNodeType(), instance.getNodeCode(), instance.getNodeName(), taskId); @@ -69,6 +69,7 @@ public class FlowProcessEventHandler { processTaskEvent.setNodeName(instance.getNodeName()); processTaskEvent.setTaskId(taskId); 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 76f67c07b..05cb27bbb 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 @@ -130,7 +130,7 @@ public class WorkflowGlobalListener implements GlobalListener { } //发布任务事件 if (task != null) { - flowProcessEventHandler.processTaskHandler(definition.getFlowCode(), instance, task.getId()); + flowProcessEventHandler.processTaskHandler(definition.getFlowCode(), instance, task.getId(), params); } if (ObjectUtil.isNull(flowParams)) { return; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java index 17d1c7ca3..3c54c905a 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java @@ -136,7 +136,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService { } /** - * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等) + * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成等) * 正常使用只需#processEvent.flowCode=='leave1' * 示例为了方便则使用startsWith匹配了全部示例key * @@ -164,7 +164,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService { } /** - * 执行任务创建监听 + * 执行任务创建监听(也代表上一条任务完成事件) * 示例:也可通过 @EventListener(condition = "#processTaskEvent.flowCode=='leave1'")进行判断 * 在方法中判断流程节点key * if ("xxx".equals(processTaskEvent.getNodeCode())) {