From f401c17e3a857bb0dc9f7ca2ea5b1797d253b496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=90=AC=E7=A0=96=E7=9A=84=E5=B0=8F=E5=BA=84?= <1909017815@qq.com> Date: Wed, 10 Dec 2025 10:48:49 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=A9=B3=E5=9B=9E?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E8=8A=82=E7=82=B9=E9=87=8D=E5=A4=8D=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 搬砖的小庄 <1909017815@qq.com> --- .../workflow/service/impl/FlwTaskServiceImpl.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 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 5186bffea..003203c99 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 @@ -527,20 +527,19 @@ public class FlwTaskServiceImpl implements IFlwTaskService { } //获取可驳回的前置节点 List nodes = nodeService.previousNodeList(task.getDefinitionId(), nowNodeCode); - List taskList = hisTaskService.getByInsId(task.getInstanceId()); - + List hisTaskList = hisTaskService.getByInsId(task.getInstanceId()); Map nodeMap = StreamUtils.toIdentityMap(nodes, Node::getNodeCode); + Set added = new HashSet<>(); List backNodeList = new ArrayList<>(); - for (HisTask hisTask : taskList) { + for (HisTask hisTask : hisTaskList) { Node nodeValue = nodeMap.get(hisTask.getNodeCode()); - if (nodeValue != null) { + if (nodeValue != null && NodeType.BETWEEN.getKey().equals(nodeValue.getNodeType()) && added.add(nodeValue.getNodeCode())) { backNodeList.add(nodeValue); } } if (CollUtil.isNotEmpty(backNodeList)) { - List prefixOrSuffixNodes = StreamUtils.filter(backNodeList, e -> NodeType.BETWEEN.getKey().equals(e.getNodeType())); - Collections.reverse(prefixOrSuffixNodes); - return prefixOrSuffixNodes; + Collections.reverse(backNodeList); + return backNodeList; } return nodes; }