From a48221b7377fc843f3e9fd9afadcc9e0db3e0394 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 23 Jan 2026 14:44:22 +0800
Subject: [PATCH] 机构和区划接口优化

---
 drone-service/drone-system/src/main/java/org/sxkj/system/mapper/RegionMapper.xml |   85 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 70 insertions(+), 15 deletions(-)

diff --git a/drone-service/drone-system/src/main/java/org/sxkj/system/mapper/RegionMapper.xml b/drone-service/drone-system/src/main/java/org/sxkj/system/mapper/RegionMapper.xml
index 39f9ca1..e52dede 100644
--- a/drone-service/drone-system/src/main/java/org/sxkj/system/mapper/RegionMapper.xml
+++ b/drone-service/drone-system/src/main/java/org/sxkj/system/mapper/RegionMapper.xml
@@ -57,10 +57,11 @@
 
     <select id="lazyList" resultMap="regionVOResultMap">
         SELECT
-            region.*,
-            ( SELECT CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM blade_region WHERE parent_code = region.code ) AS "has_children"
+        region.*,
+        ( SELECT CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM blade_region WHERE parent_code = region.code ) AS
+        "has_children"
         FROM
-            blade_region region
+        blade_region region
         <where>
             <if test="param1!=null">
                 and region.parent_code = #{param1}
@@ -76,14 +77,15 @@
 
     <select id="lazyTree" resultMap="treeNodeResultMap">
         SELECT
-            region.code AS "id",
-            region.parent_code AS "parent_id",
-            region.name AS "title",
-            region.code AS "value",
-            region.code AS "key",
-            ( SELECT CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM blade_region WHERE parent_code = region.code ) AS "has_children"
+        region.code AS "id",
+        region.parent_code AS "parent_id",
+        region.name AS "title",
+        region.code AS "value",
+        region.code AS "key",
+        ( SELECT CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM blade_region WHERE parent_code = region.code ) AS
+        "has_children"
         FROM
-            blade_region region
+        blade_region region
         <where>
             <if test="param1!=null">
                 and region.parent_code = #{param1}
@@ -99,19 +101,72 @@
     </select>
 
     <select id="exportRegion" resultType="org.sxkj.system.excel.RegionExcel">
-        SELECT * FROM blade_region ${ew.customSqlSegment}
+        SELECT *
+        FROM blade_region ${ew.customSqlSegment}
     </select>
 
     <!--查询parentCode 长度少于12 的-->
     <select id="getCodeLess12DataCount" resultType="java.lang.Integer">
-        SELECT count(*) FROM blade_region
+        SELECT count(*)
+        FROM blade_region
         where length(parent_code) &lt; 12
     </select>
 
     <!--查询parentCode 长度少于12 的-->
     <select id="getCodeLess12DataList" resultType="org.sxkj.system.entity.Region">
-        SELECT * FROM blade_region
-        where length(parent_code) &lt; 12
-        limit 0,#{size}
+        SELECT *
+        FROM blade_region
+        where length(parent_code) &lt; 12 limit 0,#{size}
+    </select>
+    <select id="selectRegionPage" resultType="org.sxkj.system.vo.RegionVO">
+        SELECT
+            id,
+            code,
+            parent_code,
+            ancestors,
+            `name`,
+            province_code,
+            province_name,
+            city_code,
+            city_name,
+            district_code,
+            district_name,
+            town_code,
+            town_name,
+            village_code,
+            village_name,
+            region_level,
+            type,
+            sort,
+            remark,
+            `status`,
+            CASE
+            WHEN
+                region_level = '5' THEN town_name
+            WHEN
+                region_level = '4' THEN district_name
+            WHEN
+                region_level = '3' THEN city_name
+            ELSE NULL
+            END AS parent_name
+        FROM
+            blade_region
+        <where>
+            <if test="param2.status!=null">
+                and status = #{param1.status}
+            </if>
+            <if test="param2.cityCode!=null and param2.cityCode!='' ">
+                and city_code like concat(concat('%', #{param2.cityCode}),'%')
+            </if>
+            <if test="param2.districtName!=null and param2.districtName!=''">
+                and district_name like concat(concat('%', #{param2.districtName}),'%')
+            </if>
+            <if test="param2.parentName!=null and param2.parentName!=''">
+                and parent_name like concat(concat('%', #{param2.parentName}),'%')
+            </if>
+            <if test="param2.regionLevel!=null">
+                and region_level = #{param2.regionLevel}
+            </if>
+        </where>
     </select>
 </mapper>

--
Gitblit v1.9.3