From 08ddfad4530a014094c06fe68b8c2d9a0753403a Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 05 Aug 2026 14:09:29 +0800
Subject: [PATCH] fix(gd): 修复线索事件查询中的SQL语法错误

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdManageDeviceMapper.xml |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdManageDeviceMapper.xml b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdManageDeviceMapper.xml
index 0895772..8befe64 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdManageDeviceMapper.xml
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdManageDeviceMapper.xml
@@ -14,12 +14,22 @@
          <result column="mode_code" property="modeCode"/>
         <result column="create_time" property="createTime"/>
         <result column="device_dept_name" property="deviceDeptName"/>
+        <result column="maintenance_state" property="maintenanceState"/>
     </resultMap>
 
 
     <select id="selectGdManageDevicePage" resultMap="gdManageDeviceResultMap">
         select
-        md.*,
+        md.id,
+        md.device_sn,
+        md.device_name,
+        md.nickname,
+        md.device_payload,
+        md.longitude,
+        md.latitude,
+        md.mode_code,
+        md.create_time,
+        md.maintenance_state,
         bd.dept_name as device_dept_name
         from
         ja_gd_manage_device md
@@ -44,6 +54,9 @@
             </if>
             <if test="param2.deviceType != null and param2.deviceType != ''">
                 and md.device_type::text = #{param2.deviceType}::text
+            </if>
+            <if test="param2.maintenanceState != null">
+                and md.maintenance_state = #{param2.maintenanceState}
             </if>
         </where>
     </select>
@@ -74,6 +87,8 @@
         and d2.device_type = '0'
         <where>
              md.is_deleted = 0
+            AND md.child_sn IS NOT NULL
+            AND trim(md.child_sn) != ''
             <if test="deviceIds != null and deviceIds.size() > 0">
                 and md.id::text in
                 <foreach item="item" collection="deviceIds" index="index" open="(" close=")" separator=",">
@@ -84,8 +99,7 @@
                 and md.device_payload like concat('%', #{devicePayload}, '%')
             </if>
             <if test="geom != null and geom != ''">
-                /* 确保这里是第一个条件时,and 能被 MyBatis 正确处理,或者直接去掉这个 and */
-                AND ST_Intersects ( ST_SetSRID ( md.geom, 4326 ), ST_SetSRID ( ST_GeomFromText ( CONCAT( '\'', #{geom} ,'\'') ), 4326 ) )
+                AND public.st_intersects ( md.geom, public.st_geomfromtext(#{geom}::text, 4326))
             </if>
             <if test="deviceType != null and deviceType != '' ">
                 and md.device_type::text = #{deviceType}::text

--
Gitblit v1.9.3