From 2358538cb53e2784caf8f4e09d9f638f30e55211 Mon Sep 17 00:00:00 2001
From: xiebin <vip_xiaobin810@163.com>
Date: Fri, 03 Apr 2026 13:45:35 +0800
Subject: [PATCH] opt: ST_GeomFromText-替换人大金仓-ST_GeometryFromText

---
 drone-task/drone-odm/src/main/java/org/sxkj/odm/mapper/OdmTaskInfoMapper.xml |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drone-task/drone-odm/src/main/java/org/sxkj/odm/mapper/OdmTaskInfoMapper.xml b/drone-task/drone-odm/src/main/java/org/sxkj/odm/mapper/OdmTaskInfoMapper.xml
index 3e3e978..808e035 100644
--- a/drone-task/drone-odm/src/main/java/org/sxkj/odm/mapper/OdmTaskInfoMapper.xml
+++ b/drone-task/drone-odm/src/main/java/org/sxkj/odm/mapper/OdmTaskInfoMapper.xml
@@ -12,10 +12,10 @@
         wfe.gsd
         FROM
         odm_task_info oti
-        left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR
-        left join manage_device md on md.device_sn = wj.dock_sn::VARCHAR
+        left join wayline_job wj on wj.job_id::VARCHAR = oti.wayline_job_id::VARCHAR
+        left join manage_device md on md.device_sn::VARCHAR = wj.dock_sn::VARCHAR
         left join blade_dept bd on bd.id = md.dept_id::VARCHAR and bd.is_deleted = 0
-        left join wayline_file_extension wfe on wj.file_id = wfe.wayline_id::VARCHAR
+        left join wayline_file_extension wfe on wj.file_id::VARCHAR = wfe.wayline_id::VARCHAR
         <where>
             and oti.is_deleted = 0
             <if test="odmTaskInfo.waylineJobId!=null and odmTaskInfo.waylineJobId!=''">
@@ -92,7 +92,7 @@
         select oti.*,wj.job_type as waylineType,wj.dkbh,wj.workspace_id as workspaceId,wj.dock_sn as deviceSn,wj.name as waylineJobName,
                date_format(FROM_UNIXTIME( wj.completed_time/ 1000),'%Y-%m-%d %H:%i:%s') as completedTime
         from odm_task_info oti
-        left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR and wj.is_deleted = 0
+        left join wayline_job wj on wj.job_id::VARCHAR = oti.wayline_job_id::VARCHAR and wj.is_deleted = 0
         where
         oti.running_progress &lt; 1.0 and oti.is_update = 0 and oti.is_deleted = 0
     </select>
@@ -124,10 +124,10 @@
         oti.vox_grid_tiles_path,
         oti.device_sn,
         wj.dkbh,
-        IFNULL( ST_AsText ( oti.geom ), ifnull( tli.sdfw, tli.dkfw )) AS geom
+        COALESCE( ST_AsText ( oti.geom ), COALESCE( tli.sdfw, tli.dkfw )) AS geom
         FROM odm_task_info oti
-        left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR
-        left join tb_lot_info tli on tli.dkbh = wj.dkbh::VARCHAR
+        left join wayline_job wj on wj.job_id::VARCHAR = oti.wayline_job_id::VARCHAR
+        left join tb_lot_info tli on tli.dkbh::VARCHAR = wj.dkbh::VARCHAR
         where oti.is_deleted = 0
         <if test="runningProgress!=null">
             and oti.running_progress = 1.00::VARCHAR
@@ -174,7 +174,7 @@
         oti.vox_grid_tiles_path,
         oti.device_sn,
         tli.dkbh,
-        IFNULL( ST_AsText ( oti.geom ), ifnull( tli.sdfw, tli.dkfw )) AS geom
+        COALESCE( ST_AsText ( oti.geom ), COALESCE( tli.sdfw, tli.dkfw )) AS geom
         FROM
         odm_task_info oti
         LEFT JOIN wayline_job wj ON wj.job_id = oti.wayline_job_id::VARCHAR AND wj.is_deleted = 0
@@ -195,7 +195,7 @@
         </if>
         <if test="lotInfoId != null and lotInfoId != ''">
             AND (
-                FIND_IN_SET(#{lotInfoId}, wj.lot_info_id) > 0
+                #{lotInfoId} = ANY(string_to_array(wj.lot_info_id, ',')::bigint[])
                 OR wj.lot_info_id = #{lotInfoId}
             )
         </if>
@@ -363,7 +363,7 @@
     <!--根据经纬度获取tif数据-->
     <select id="getTifDataByCoord" resultType="org.sxkj.odm.entity.OdmTaskInfo">
         SELECT * FROM odm_task_info
-        WHERE ST_Contains(geom, ST_GeomFromText(concat('POINT(',#{longitude},' ',#{latitude}, ')'))) and is_deleted = 0
+        WHERE ST_Contains(geom, ST_GeometryFromText(concat('POINT(',#{longitude},' ',#{latitude}, ')'))) and is_deleted = 0
         ORDER BY id desc
     </select>
 
@@ -376,7 +376,7 @@
           AND dem_tif_path IS NOT NULL
           AND ST_Distance_Sphere(
                   ST_Centroid(geom), -- geom中心点
-                  ST_GeomFromText(concat('POINT(', #{longitude}, ' ', #{latitude}, ')'))) &lt;= 1000
+                  ST_GeometryFromText(concat('POINT(', #{longitude}, ' ', #{latitude}, ')'))) &lt;= 1000
         ORDER BY id DESC
     </select>
 
@@ -426,7 +426,7 @@
             type = #{odmTaskInfo.type},
         </if>
         <if test="odmTaskInfo.geom !=null and odmTaskInfo.geom !=''">
-            geom = ST_GeomFromText(${odmTaskInfo.geom})
+            geom = ST_GeometryFromText(${odmTaskInfo.geom})
         </if>
         where id = #{odmTaskInfo.id}
     </update>

--
Gitblit v1.9.3