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 |   65 ++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 13 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 7997fbd..306abc1 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);
@@ -148,6 +145,41 @@
     }
 
     @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)
+                .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) {
         List<ProcessLogVO> list = baseMapper.projectProcessLogPage(query);
         // json鍙嶅簭鍒楀寲
@@ -163,15 +195,22 @@
                     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())) {
-                    SuperviseData superviseData = JSON.parseObject(log.getEventDataJson(), SuperviseData.class);
-                    SysUser user = userService.selectUserById(Long.parseLong(superviseData.getSenderId()));
-                    if (Objects.nonNull(user)) {
-                        superviseData.setSenderName(user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")");
+                    List<SuperviseData> superviseDataList = JSON.parseArray(log.getEventDataJson(), SuperviseData.class);
+                    if (CollectionUtils.isNotEmpty(superviseDataList)) {
+                        SysUser user = userService.selectUserById(Long.parseLong(superviseDataList.get(0).getSenderId()));
+                        if (Objects.nonNull(user)) {
+                            superviseDataList.get(0).setSenderName(user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")");
+                        }
+                        log.setEventDataObj(superviseDataList.get(0));
                     }
-                    log.setEventDataObj(superviseData);
+
+                } else if (ProcessLogEventTypeEnum.HANGUP.equals(log.getEventType())) {
+                    log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), HangupData.class));
                 }
             }
         });
@@ -193,13 +232,13 @@
             }
         } else if (HandlerTypeEnum.USER.equals(handlerType)) {
             List<SysUser> users = userService.selectUserByIds(ids);
-            names = users.stream().map(user -> user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")").collect(Collectors.toList());
+            names.addAll(users.stream().map(user -> user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")").collect(Collectors.toList()));
         } else if (HandlerTypeEnum.DEPT.equals(handlerType)) {
             List<SysDept> depts = deptService.selectDeptByIds(ids);
-            names = depts.stream().map(SysDept::getDeptName).collect(Collectors.toList());
+            names.addAll(depts.stream().map(SysDept::getDeptName).collect(Collectors.toList()));
         } else if (HandlerTypeEnum.ROLE.equals(handlerType)) {
             List<SysRole> roles = roleService.selectRoleByIds(ids);
-            names = roles.stream().map(SysRole::getRoleName).collect(Collectors.toList());
+            names.addAll(roles.stream().map(SysRole::getRoleName).collect(Collectors.toList()));
         }
     }
 }

--
Gitblit v1.8.0