From 7c2efb1aefdd004ae45672896138e3fdb97886c0 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: Thu, 17 Apr 2025 14:00:13 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20getNextNodeList?= =?UTF-8?q?=20=E5=8F=AA=E8=8E=B7=E5=8F=96=E4=B8=AD=E9=97=B4=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E7=94=A8=E4=BA=8E=E5=AE=A1=E6=89=B9=20=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E5=85=B6=E4=BB=96=E6=97=A0=E7=94=A8=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/workflow/service/impl/FlwTaskServiceImpl.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 90c96a4f4..5685ac3dc 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -587,13 +587,15 @@ public class FlwTaskServiceImpl implements IFlwTaskService { Instance instance = insService.getById(task.getInstanceId()); Definition definition = defService.getById(task.getDefinitionId()); Map mergeVariable = MapUtil.mergeAll(instance.getVariableMap(), variables); - //获取下一节点列表 + // 获取下一节点列表 List nextNodeList = nodeService.getNextNodeList(task.getDefinitionId(), task.getNodeCode(), null, SkipType.PASS.getKey(), mergeVariable); List nextFlowNodes = BeanUtil.copyToList(nextNodeList, FlowNode.class); + // 只获取中间节点 + nextFlowNodes = StreamUtils.filter(nextFlowNodes, node -> NodeType.BETWEEN.getKey().equals(node.getNodeType())); if (CollUtil.isNotEmpty(nextNodeList)) { - //构建以下节点数据 + // 构建以下节点数据 List buildNextTaskList = StreamUtils.toList(nextNodeList, node -> taskService.addTask(node, instance, definition, null)); - //办理人变量替换 + // 办理人变量替换 ExpressionUtil.evalVariable(buildNextTaskList, mergeVariable); for (FlowNode flowNode : nextFlowNodes) { buildNextTaskList.stream().filter(t -> t.getNodeCode().equals(flowNode.getNodeCode())).findFirst().ifPresent(t -> {