From eeb3b5c9c794a35d7b7f3c8e56f9eef8eb8d3451 Mon Sep 17 00:00:00 2001
From: xiebin <vip_xiaobin810@163.com>
Date: Wed, 01 Apr 2026 17:20:19 +0800
Subject: [PATCH] opt:兼容人大金仓

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdTaskResultMapper.xml |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdTaskResultMapper.xml b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdTaskResultMapper.xml
index 36fe70d..d1f03c0 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdTaskResultMapper.xml
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdTaskResultMapper.xml
@@ -44,15 +44,21 @@
     </select>
 
     <select id="selectGdTaskResultListByPatrolTaskId" resultMap="gdTaskResultResultMap">
-        select tr.*,
-               IFNULL(bu.real_name, bu.name) as distribute_user_name,
-               bd.dept_name as distribute_dept_name
-        from ja_gd_task_result tr
-                 left join ja_gd_clue_event ce on ce.result_id = tr.id and ce.is_deleted = 0
-                 left join blade_user bu on bu.id = ce.create_user and bu.is_deleted = 0
-                 left join blade_dept bd on bd.id = ce.create_dept and bd.is_deleted = 0
-        where tr.is_deleted = 0
-          and tr.patrol_task_id = #{patrolTaskId}
+        SELECT tr.*,
+               COALESCE(bu.real_name, bu.name) as distribute_user_name,
+               bd.dept_name                  as distribute_dept_name
+        FROM ja_gd_task_result tr
+                 LEFT JOIN (SELECT *
+                            FROM ja_gd_clue_event ce1
+                            WHERE ce1.is_deleted = 0
+                              AND ce1.create_time = (SELECT MAX(create_time)
+                                                     FROM ja_gd_clue_event ce2
+                                                     WHERE ce2.result_id = ce1.result_id::VARCHAR
+                                                       AND ce2.is_deleted = 0)) ce ON ce.result_id = tr.id::VARCHAR
+                 LEFT JOIN blade_user bu ON bu.id = ce.create_user::VARCHAR AND bu.is_deleted = 0
+                 LEFT JOIN blade_dept bd ON bd.id = ce.create_dept::VARCHAR AND bd.is_deleted = 0
+        WHERE tr.is_deleted = 0
+          AND tr.patrol_task_id = #{patrolTaskId}
     </select>
 
 

--
Gitblit v1.9.3