From 70b4182fb75db9a5acd234a0ab4c22fd8f93de92 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 14 Apr 2026 18:07:21 +0800
Subject: [PATCH] fix: 成果下载+成果列表+飞手查询所有

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdTaskResultMapper.xml |   68 ++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 15 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 708485e..e8ee43e 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
@@ -23,6 +23,7 @@
         <result column="is_deleted" property="isDeleted"/>
         <result column="distribute_user_name" property="distributeUserName"/>
         <result column="distribute_dept_name" property="distributeDeptName"/>
+        <result column="patrol_task_name" property="patrolTaskName"/>
     </resultMap>
 
     <resultMap id="gdTaskResultExcelResultMap" type="org.sxkj.gd.workorder.excel.GdTaskResultExcel">
@@ -40,24 +41,61 @@
 
 
     <select id="selectGdTaskResultPage" resultMap="gdTaskResultResultMap">
-        select * from ja_gd_task_result where is_deleted = 0
+        SELECT tr.*, pt.patrol_task_name FROM ja_gd_task_result tr
+        INNER JOIN ja_gd_patrol_task pt ON pt.id = tr.patrol_task_id AND pt.is_deleted = 0
+        <if test="gdTaskResult.workOrderId != null">
+            INNER JOIN ja_gd_work_order wo ON wo.id = pt.work_order_id AND wo.is_deleted = 0
+        </if>
+        WHERE tr.is_deleted = 0
+        <if test="gdTaskResult.workOrderId != null">
+            AND wo.id = #{gdTaskResult.workOrderId}
+        </if>
+        <if test="gdTaskResult.patrolTaskId != null">
+            AND tr.patrol_task_id = #{gdTaskResult.patrolTaskId}
+        </if>
+        <if test="gdTaskResult.patrolTaskName != null and gdTaskResult.patrolTaskName != ''">
+            AND pt.patrol_task_name LIKE concat('%', #{gdTaskResult.patrolTaskName}, '%')
+        </if>
+        <if test="gdTaskResult.resultCode != null and gdTaskResult.resultCode != ''">
+            AND tr.result_code LIKE concat('%', #{gdTaskResult.resultCode}, '%')
+        </if>
+        <if test="gdTaskResult.distributeStatus != null">
+            AND tr.distribute_status = #{gdTaskResult.distributeStatus}
+        </if>
+        <if test="gdTaskResult.areaCode != null and gdTaskResult.areaCode != ''">
+            AND tr.area_code = #{gdTaskResult.areaCode}
+        </if>
+        <if test="gdTaskResult.createDept != null">
+            AND tr.create_dept = #{gdTaskResult.createDept}
+        </if>
+        <if test="gdTaskResult.createUser != null">
+            AND tr.create_user = #{gdTaskResult.createUser}
+        </if>
+        ORDER BY tr.create_time DESC
     </select>
 
     <select id="selectGdTaskResultListByPatrolTaskId" resultMap="gdTaskResultResultMap">
-        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::VARCHAR = ce1.result_id::VARCHAR
-                                                       AND ce2.is_deleted = 0)) ce ON ce.result_id::VARCHAR = tr.id::VARCHAR
-                 LEFT JOIN blade_user bu ON bu.id::VARCHAR = ce.create_user::VARCHAR AND bu.is_deleted = 0
-                 LEFT JOIN blade_dept bd ON bd.id::VARCHAR = ce.create_dept::VARCHAR AND bd.is_deleted = 0
-        WHERE tr.is_deleted = 0
+        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 :: VARCHAR = ce1.result_id :: VARCHAR AND ce2.is_deleted = 0 )
+                ) ce ON ce.result_id :: VARCHAR = tr.id :: VARCHAR
+            LEFT JOIN blade_user bu ON bu.id :: VARCHAR = ce.create_user :: VARCHAR
+            AND bu.is_deleted = 0
+            LEFT JOIN blade_dept bd ON bd.id :: VARCHAR = 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