From 90f14a4ce0100889b29a97017b385694ef3f8f2a Mon Sep 17 00:00:00 2001
From: xiebin <vip_xiaobin810@163.com>
Date: Thu, 29 Jan 2026 14:04:03 +0800
Subject: [PATCH] update-区域划分大屏

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml |   68 +++++++++++++++++++++++++++++++++
 1 files changed, 67 insertions(+), 1 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml
index 612bbe3..0a28ec7 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml
@@ -12,14 +12,80 @@
         <result column="area_code" property="areaCode"/>
     </resultMap>
 
+    <select id="getByAreaDivideId" resultMap="fwAreaDivideExtResultMap">
+        select
+            id,
+            area_divide_id,
+            area_type_key,
+            area_type_value,
+            case
+                when geom is null then null
+                when ST_SRID(geom) is null
+                    or ST_SRID(geom) = 0 then ST_AsText(geom)
+                else concat(ST_AsText(ST_SwapXY(geom)), ' | ', ST_SRID(geom))
+                end as geom,
+            area_code,
+            create_user,
+            create_dept,
+            create_time,
+            update_user,
+            update_time,
+            status,
+            is_deleted
+        from ja_fw_area_divide_ext where is_deleted = 0 and area_divide_id = #{areaDivideId}
+    </select>
+
 
     <select id="selectFwAreaDivideExtPage" resultMap="fwAreaDivideExtResultMap">
         select * from ja_fw_area_divide_ext where is_deleted = 0
     </select>
 
-
     <select id="exportFwAreaDivideExt" resultType="org.sxkj.fw.area.excel.FwAreaDivideExtExcel">
         SELECT * FROM ja_fw_area_divide_ext ${ew.customSqlSegment}
     </select>
 
+    <insert id="insertBatchWithGeom">
+        insert into ja_fw_area_divide_ext (
+            area_divide_id,
+            area_type_key,
+            area_type_value,
+            geom,
+            area_code,
+            create_user,
+            create_dept,
+            create_time,
+            update_user,
+            update_time,
+            status,
+            is_deleted
+        ) values
+        <foreach collection="list" item="item" separator=",">
+            (
+                #{item.areaDivideId},
+                #{item.areaTypeKey},
+                #{item.areaTypeValue},
+                <choose>
+                    <when test="item.geom != null and item.geom != ''">
+                        case
+                            when instr(#{item.geom}, '|') &gt; 0 then ST_SRID(
+                                ST_GeomFromText(trim(substring_index(#{item.geom}, '|', 1))),
+                                cast(trim(substring_index(#{item.geom}, '|', -1)) as unsigned)
+                            )
+                            else ST_GeomFromText(trim(#{item.geom}))
+                        end
+                    </when>
+                    <otherwise>null</otherwise>
+                </choose>,
+                #{item.areaCode},
+                #{item.createUser},
+                #{item.createDept},
+                #{item.createTime},
+                #{item.updateUser},
+                #{item.updateTime},
+                IFNULL(#{item.status}, '0'),
+                IFNULL(#{item.isDeleted}, 0)
+            )
+        </foreach>
+    </insert>
+
 </mapper>

--
Gitblit v1.9.3