From ebeb43ea497fafc448c827d1de6796bcaa4e0b52 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 23 Jun 2026 13:59:46 +0800
Subject: [PATCH] add : 吉安支持查询待验收的接口

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdTaskResultMapper.xml |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 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 d97d41d..b223923 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
@@ -24,6 +24,7 @@
         <result column="distribute_user_name" property="distributeUserName"/>
         <result column="distribute_dept_name" property="distributeDeptName"/>
         <result column="patrol_task_name" property="patrolTaskName"/>
+        <result column="attachment_type" property="attachmentType"/>
     </resultMap>
 
     <resultMap id="gdTaskResultExcelResultMap" type="org.sxkj.gd.workorder.excel.GdTaskResultExcel">
@@ -74,6 +75,9 @@
         <if test="gdTaskResult.createUser != null">
             AND tr.create_user = #{gdTaskResult.createUser}
         </if>
+        <if test="gdTaskResult.attachmentType != null">
+            AND tr.attachment_type = #{gdTaskResult.attachmentType}
+        </if>
         ORDER BY tr.create_time DESC
     </select>
 
@@ -91,15 +95,21 @@
                     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 ce1.create_time = ( SELECT MAX( create_time ) FROM ja_gd_clue_event ce2 WHERE CAST(ce2.result_id AS VARCHAR) = CAST(ce1.result_id AS VARCHAR) AND ce2.is_deleted = 0 )
+                ) ce ON CAST(ce.result_id AS VARCHAR) = CAST(tr.id AS VARCHAR)
+            LEFT JOIN blade_user bu ON CAST(bu.id AS VARCHAR) = CAST(ce.create_user AS VARCHAR)
             AND bu.is_deleted = 0
-            LEFT JOIN blade_dept bd ON bd.id :: VARCHAR = ce.create_dept :: VARCHAR
+            LEFT JOIN blade_dept bd ON CAST(bd.id AS VARCHAR) = CAST(ce.create_dept AS VARCHAR)
             AND bd.is_deleted = 0
         WHERE
             tr.is_deleted = 0
           AND tr.patrol_task_id = #{patrolTaskId}
+          <if test="attachmentTypes != null and attachmentTypes.size() > 0">
+          AND tr.attachment_type IN
+          <foreach collection="attachmentTypes" item="type" open="(" separator="," close=")">
+              #{type}
+          </foreach>
+          </if>
     </select>
 
 
@@ -114,7 +124,7 @@
             result_code = #{resultCode},
             result_url = #{resultUrl},
             shoot_time = #{shootTime},
-            photo_data = #{photoData}::jsonb,
+            photo_data = CAST(#{photoData} AS JSONB),
             longitude = #{longitude},
             latitude = #{latitude},
             distribute_status = #{distributeStatus},
@@ -126,4 +136,22 @@
         WHERE id = #{id}
     </update>
 
+    <!-- 批量插入成果信息 -->
+    <insert id="insertBatch" parameterType="java.util.List">
+        INSERT INTO ja_gd_task_result (
+            patrol_task_id, result_code, result_url, shoot_time,
+            photo_data, longitude, latitude, distribute_status, area_code,
+            create_user, create_dept, create_time, update_user, update_time,
+            status, is_deleted, attachment_type, geojson
+        ) VALUES
+        <foreach collection="list" item="item" separator=",">
+            (
+                #{item.patrolTaskId}, #{item.resultCode}, #{item.resultUrl}, #{item.shootTime},
+                CASE WHEN #{item.photoData} IS NULL THEN NULL ELSE CAST(#{item.photoData} AS JSONB) END, #{item.longitude}, #{item.latitude}, #{item.distributeStatus}, #{item.areaCode},
+                #{item.createUser}, #{item.createDept}, #{item.createTime}, #{item.updateUser}, #{item.updateTime},
+                #{item.status}, #{item.isDeleted}, #{item.attachmentType}, #{item.geojson}
+            )
+        </foreach>
+    </insert>
+
 </mapper>

--
Gitblit v1.9.3