From c4ab6a24d2825f11a0de0f165667dc533c458a01 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 21 三月 2025 10:57:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
index 1031bfa..306abc1 100644
--- a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
@@ -145,6 +145,26 @@
     }
 
     @Override
+    public Boolean taskIsWait(String taskId, String processInsId) {
+        List<ProcessLog> list = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(ProcessLog::getProcessInsId, processInsId)
+                .eq(ProcessLog::getTaskId, taskId)
+                .list();
+        return list.stream().anyMatch(log -> ProcessLogEventTypeEnum.WAIT.equals(log.getEventType()))
+                && list.stream().filter(log -> ProcessLogEventTypeEnum.FINISHED.equals(log.getEventType())).count() < 1;
+    }
+
+    @Override
+    public Boolean taskIsJump(String taskId, String processInsId) {
+        List<ProcessLog> list = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(ProcessLog::getProcessInsId, processInsId)
+                .eq(ProcessLog::getTaskId, taskId)
+                .eq(ProcessLog::getEventType, ProcessLogEventTypeEnum.JUMP)
+                .list();
+        return list.size() > 0;
+    }
+
+    @Override
     public Boolean taskIsTeamwork(String taskId, String processInsId) {
         ProcessLog log = new LambdaQueryChainWrapper<>(baseMapper)
                 .eq(ProcessLog::getProcessInsId, processInsId)
@@ -175,6 +195,8 @@
                     log.setEventDataObj(delegateData);
                 } else if (ProcessLogEventTypeEnum.JUMP.equals(log.getEventType())) {
                     log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), JumpData.class));
+                } else if (ProcessLogEventTypeEnum.WAIT.equals(log.getEventType())) {
+                    log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), WaitData.class));
                 } else if (ProcessLogEventTypeEnum.REJECT.equals(log.getEventType())) {
                     log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), RejectData.class));
                 } else if (ProcessLogEventTypeEnum.SUPERVISE.equals(log.getEventType())) {

--
Gitblit v1.8.0