From ab9df564cda29254ee53bb366d8346978b5bab9a Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 04 三月 2025 11:30:21 +0800
Subject: [PATCH] 查询挂起日志

---
 business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java |   33 ++++++++++++++++++++++++++++-----
 1 files changed, 28 insertions(+), 5 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 2d31b69..9773792 100644
--- a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
@@ -11,10 +11,7 @@
 import com.ycl.common.enums.business.HandlerTypeEnum;
 import com.ycl.common.enums.business.ProcessLogEventTypeEnum;
 import com.ycl.domain.entity.ProcessLog;
-import com.ycl.domain.json.DelegateData;
-import com.ycl.domain.json.JumpData;
-import com.ycl.domain.json.RejectData;
-import com.ycl.domain.json.SuperviseData;
+import com.ycl.domain.json.*;
 import com.ycl.domain.query.ProcessLogQuery;
 import com.ycl.domain.vo.ProcessLogVO;
 import com.ycl.framework.utils.PageUtil;
@@ -58,7 +55,7 @@
      * @param eventDataJson json鎵╁睍鍐呭
      */
     @Override
-    public void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, Long projectId, String eventDataJson) {
+    public void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, String projectId, String eventDataJson) {
         ProcessLog log = new ProcessLog();
         log.setTaskId(taskId);
         log.setProcessInsId(flowInsId);
@@ -137,6 +134,30 @@
         return CollectionUtils.isNotEmpty(list);
     }
 
+    @Override
+    public Boolean taskIsHangup(String taskId, String processInsId) {
+        Long num = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(ProcessLog::getProcessInsId, processInsId)
+                .eq(ProcessLog::getTaskId, taskId)
+                .in(ProcessLog::getEventType, ProcessLogEventTypeEnum.HANGUP, ProcessLogEventTypeEnum.CANCEL_HANGUP)
+                .count();
+        return num % 2 != 0;
+    }
+
+    @Override
+    public Boolean taskIsTeamwork(String taskId, String processInsId) {
+        ProcessLog log = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(ProcessLog::getProcessInsId, processInsId)
+                .eq(ProcessLog::getTaskId, taskId)
+                .eq(ProcessLog::getEventType, ProcessLogEventTypeEnum.TEAM_WORK)
+                .one();
+        if (Objects.isNull(log)) {
+            return Boolean.FALSE;
+        } else {
+            // 鍒ゆ柇鍗忓悓浜烘槸鍚﹀叏閮ㄥ畬鎴愪簡鍗忓悓銆俆ODO
+        }
+        return null;
+    }
 
     @Override
     public Result projectProcessLogPage(ProcessLogQuery query) {
@@ -163,6 +184,8 @@
                         superviseData.setSenderName(user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")");
                     }
                     log.setEventDataObj(superviseData);
+                } else if (ProcessLogEventTypeEnum.HANGUP.equals(log.getEventType())) {
+                    log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), HangupData.class));
                 }
             }
         });

--
Gitblit v1.8.0