From b0b01b7302d2b9c6b2f5c6583d40b92b63e6b5f1 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Sat, 06 Jun 2026 15:28:58 +0800
Subject: [PATCH] feat(workorder): 添加geojson字段支持并优化数据处理

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
index e0c79da..51f5ef1 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
@@ -8,7 +8,7 @@
         <result column="work_order_id" property="workOrderId"/>
         <result column="work_order_name" property="workOrderName"/>
         <result column="patrol_task_name" property="patrolTaskName"/>
-        <result column="patrol_task_type" property="patrolTaskType"/>
+        <result column="patrol_task_type" property="patrolTaskType" typeHandler="org.sxkj.common.handler.GenericListTypeHandler"/>
         <result column="execute_time" property="executeTime"/>
         <result column="patrol_route_url" property="patrolRouteUrl"/>
         <result column="recommend_flyer_name" property="recommendFlyerName"/>
@@ -26,6 +26,7 @@
         <result column="is_deleted" property="isDeleted"/>
         <result column="result_count" property="resultCount"/>
         <result column="issue_event_count" property="issueEventCount"/>
+        <result column="algorithm_ids" property="algorithmIds" typeHandler="org.sxkj.common.handler.ListToStringTypeHandler"/>
     </resultMap>
 
 
@@ -61,10 +62,10 @@
                 and pt.work_order_id::VARCHAR = #{param2.workOrderId}::VARCHAR
             </if>
             <if test="param2.patrolTaskName != null and param2.patrolTaskName != ''">
-                and pt.patrol_task_name like concat(#{param2.patrolTaskName},'%')
+                and pt.patrol_task_name like concat('%',#{param2.patrolTaskName},'%')
             </if>
             <if test="param2.patrolTaskType != null and param2.patrolTaskType != ''">
-                and pt.patrol_task_type::VARCHAR = #{param2.patrolTaskType}::VARCHAR
+                and pt.patrol_task_type like concat('%',#{param2.patrolTaskType},'%')
             </if>
             <if test="param2.taskStatus != null and param2.taskStatus != ''">
                 /* 报错信息中出现了这个参数,务必加强转 */
@@ -80,6 +81,7 @@
                 and pt.execute_time BETWEEN #{param2.startTime}::timestamp AND #{param2.endTime}::timestamp
             </if>
         </where>
+        order by pt.create_time desc, pt.execute_time asc
     </select>
 
 
@@ -87,7 +89,7 @@
         SELECT * FROM ja_gd_patrol_task ${ew.customSqlSegment}
     </select>
 
-    <select id="getPatrolTaskIdById" resultType="org.sxkj.gd.workorder.vo.GdPatrolTaskVO">
+    <select id="getPatrolTaskIdById" resultMap="gdPatrolTaskResultMap">
         SELECT
             pt.*,
             md.airport_id as airport_id
@@ -99,7 +101,7 @@
     </select>
 
 
-    <select id="getPatrolTaskDetail" resultType="org.sxkj.gd.workorder.vo.GdPatrolTaskVO">
+    <select id="getPatrolTaskDetail" resultMap="gdPatrolTaskResultMap">
         SELECT
             pt.*,
             md.airport_id as airport_id,
@@ -143,4 +145,13 @@
         WHERE id = #{workOrderParam.id}
     </update>
 
+    <!-- 根据工单ID查询巡查任务列表(仅id和名称) -->
+    <select id="selectListByWorkOrderId" resultType="org.sxkj.gd.workorder.vo.GdPatrolTaskSimpleVO">
+        SELECT id, patrol_task_name AS patrolTaskName
+        FROM ja_gd_patrol_task
+        WHERE is_deleted = 0
+        AND work_order_id = #{workOrderId}::bigint
+        ORDER BY create_time DESC
+    </select>
+
 </mapper>

--
Gitblit v1.9.3