From e75abff0e743fe1c83abeb64f2fe562bbf9ba07c Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 03 三月 2025 11:32:01 +0800
Subject: [PATCH] bug

---
 business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java b/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
index 8c3ec5f..c1585ec 100644
--- a/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
@@ -1282,8 +1282,14 @@
             if (node.getCurrent()) {
                 return Boolean.TRUE;
             }
-            HistoricTaskInstance beforeTask = historyService.createHistoricTaskInstanceQuery().processInstanceId(finalProcessInsId).finished().taskDefinitionKey(node.getBeforeNodeDefId()).singleResult();
-            return Objects.nonNull(beforeTask);
+            List<HistoricTaskInstance> beforeTasks = historyService.createHistoricTaskInstanceQuery()
+                    .processInstanceId(finalProcessInsId)
+                    .finished()
+                    .taskDefinitionKey(node.getBeforeNodeDefId())
+                    .orderByTaskCreateTime()
+                    .desc()
+                    .list();
+            return CollectionUtils.isNotEmpty(beforeTasks) && Objects.nonNull(beforeTasks.get(0));
         }).collect(Collectors.toList());
         List<DoFormDetailVO> vos = beforeNodes.stream().map(node -> {
             if (node.getCurrent()) {
@@ -1354,8 +1360,14 @@
                 if (node.getCurrent()) {
                     return Boolean.TRUE;
                 }
-                HistoricTaskInstance beforeTask = historyService.createHistoricTaskInstanceQuery().processInstanceId(task.getProcessInstanceId()).finished().taskDefinitionKey(node.getBeforeNodeDefId()).singleResult();
-                return Objects.nonNull(beforeTask);
+                List<HistoricTaskInstance> beforeTaskList = historyService.createHistoricTaskInstanceQuery()
+                        .processInstanceId(task.getProcessInstanceId())
+                        .finished()
+                        .taskDefinitionKey(node.getBeforeNodeDefId())
+                        .orderByTaskCreateTime()
+                        .desc()
+                        .list();
+                return CollectionUtils.isNotEmpty(beforeTaskList) && Objects.nonNull(beforeTaskList.get(0));
             }).collect(Collectors.toList());
             List<DoFormDetailVO> vos = dataList.stream().map(node -> {
                 if (node.getCurrent()) {

--
Gitblit v1.8.0