From 3cbfc1624bb7a23a4dfa62ec4558578b00be56b3 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 04 三月 2025 21:59:55 +0800
Subject: [PATCH] 流程日志查询bug、督办日志bug

---
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java |    4 ++--
 business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java       |    6 +++---
 flowable/src/main/resources/mapper/ProcessLogMapper.xml                    |    1 +
 flowable/src/main/java/com/ycl/domain/query/ProcessLogQuery.java           |    5 +++++
 business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java     |   13 ++++++++-----
 5 files changed, 19 insertions(+), 10 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 f943d23..c41b7db 100644
--- a/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
@@ -1304,7 +1304,7 @@
             }
             // 鍒ゆ柇浠诲姟鏄惁瀛樺湪鐗规畩鎿嶄綔(濡傝烦杩囥�佽浆鍔炵瓑)锛岄渶瑕佸湪鍓嶇灞曠ず鍑烘潵
             ProcessLogQuery query = new ProcessLogQuery();
-            query.setTaskId(taskId);
+            query.setTaskDefKey(node.getUserTask().getId());
             query.setProcessInsId(finalProcessInsId);
             Result result = processLogService.projectProcessLogPage(query);
             List<ProcessLogVO> logList = (List<ProcessLogVO>) result.get("data");
@@ -1375,7 +1375,7 @@
                 }
                 // 鍒ゆ柇浠诲姟鏄惁瀛樺湪鐗规畩鎿嶄綔(濡傝烦杩囥�佽浆鍔炵瓑)锛岄渶瑕佸湪鍓嶇灞曠ず鍑烘潵
                 ProcessLogQuery query = new ProcessLogQuery();
-                query.setTaskId(hisTask.getId());
+                query.setTaskDefKey(node.getUserTask().getId());
                 query.setProcessInsId(hisTask.getProcessInstanceId());
                 Result result = processLogService.projectProcessLogPage(query);
                 List<ProcessLogVO> logList = (List<ProcessLogVO>) result.get("data");
@@ -1427,7 +1427,7 @@
                 }
                 // 鍒ゆ柇浠诲姟鏄惁瀛樺湪鐗规畩鎿嶄綔(濡傝烦杩囥�佽浆鍔炵瓑)锛岄渶瑕佸湪鍓嶇灞曠ず鍑烘潵
                 ProcessLogQuery query = new ProcessLogQuery();
-                query.setTaskId(task.getId());
+                query.setTaskDefKey(node.getUserTask().getId());
                 query.setProcessInsId(task.getProcessInstanceId());
                 Result result = processLogService.projectProcessLogPage(query);
                 List<ProcessLogVO> logList = (List<ProcessLogVO>) result.get("data");
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 9773792..f67a65e 100644
--- a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
@@ -178,12 +178,15 @@
                 } 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));
                 }
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index 8056e84..23c7f21 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -761,7 +761,7 @@
         ProcessLog processLog = new LambdaQueryChainWrapper<>(processLogService.getBaseMapper())
                 .eq(ProcessLog::getTaskId, form.getTaskId())
                 .eq(ProcessLog::getEventType, ProcessLogEventTypeEnum.SUPERVISE)
-                .eq(ProcessLog::getProcessInsId, form.getProcessInsId())
+                .eq(ProcessLog::getProcessInsId, task.getProcessInstanceId())
                 .one();
         List<SuperviseData> dataList;
         if (processLog != null) {
@@ -778,7 +778,7 @@
                 processLog.getId(),
                 processLog.getUserId(),
                 form.getProjectId(),
-                form.getProcessInsId(),
+                task.getProcessInstanceId(),
                 form.getTaskId(),
                 task.getTaskDefinitionKey(),
                 task.getName(),
diff --git a/flowable/src/main/java/com/ycl/domain/query/ProcessLogQuery.java b/flowable/src/main/java/com/ycl/domain/query/ProcessLogQuery.java
index 9e7fb6e..000437a 100644
--- a/flowable/src/main/java/com/ycl/domain/query/ProcessLogQuery.java
+++ b/flowable/src/main/java/com/ycl/domain/query/ProcessLogQuery.java
@@ -30,6 +30,11 @@
     private String taskId;
 
     /**
+     * 浠诲姟瀹氫箟key
+     */
+    private String taskDefKey;
+
+    /**
      * 娴佺▼瀹炰緥id
      */
     private String processInsId;
diff --git a/flowable/src/main/resources/mapper/ProcessLogMapper.xml b/flowable/src/main/resources/mapper/ProcessLogMapper.xml
index 6319ad0..8b788c5 100644
--- a/flowable/src/main/resources/mapper/ProcessLogMapper.xml
+++ b/flowable/src/main/resources/mapper/ProcessLogMapper.xml
@@ -76,6 +76,7 @@
             TFL.deleted = 0 AND TFL.process_ins_id = #{query.processInsId}
             <if test="query.taskId != null and query.taskId != ''">AND TFL.task_id = #{query.taskId}</if>
             <if test="query.projectId != null and query.projectId != ''">AND TFL.project_id = #{query.projectId}</if>
+            <if test="query.taskDefKey != null and query.taskDefKey != ''">AND TFL.task_def_key = #{query.taskDefKey}</if>
         ORDER BY
             TFL.gmt_create DESC
     </select>

--
Gitblit v1.8.0