From 953dd58984ed62fe71373cfcb48c0fb18cb5df05 Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Thu, 29 Jan 2026 13:58:33 +0800
Subject: [PATCH] 区域划分优化

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 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..3d36ac7 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
@@ -22,4 +22,48 @@
         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