From 82e222ae8a60afd3d0237b4f987f8c850834dad5 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 11 Nov 2023 19:16:51 +0800
Subject: [PATCH] 行政区,楼盘数据过滤,报事报修添加任务房屋地址编码

---
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml |   71 +++++++++++++++++++++++++----------
 1 files changed, 51 insertions(+), 20 deletions(-)

diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
index fecf829..a04fcaa 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -2,6 +2,25 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.springblade.modules.doorplateAddress.mapper.DoorplateAddressMapper">
 
+    <!--过滤网格数据-->
+    <sql id="filterHouseGrid">
+        <if test="houseParam.roleName!=null and houseParam.roleName!=''">
+            <if test="houseParam.roleName=='网格员'">
+                <choose>
+                    <when test="list != null and list.size()>0">
+                        and address_code in
+                        <foreach collection="list" item="houseCode" separator ="," open="("  close=")">
+                            #{houseCode}
+                        </foreach>
+                    </when>
+                    <otherwise>
+                        and address_code in ('')
+                    </otherwise>
+                </choose>
+            </if>
+        </if>
+    </sql>
+
     <!--门牌地址详情查询-->
     <resultMap id="doorplateAddressDetailMap" type="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO"
                autoMapping="true">
@@ -22,12 +41,18 @@
 
     <!--查询区域数据-街道-->
     <select id="getRegionListByGroupTwon" resultType="org.springblade.common.node.TreeNode" >
-        select town_street_code as id,town_street_name as name from jczz_doorplate_address group by town_street_code,town_street_name
+        select town_street_code as id,town_street_name as name from jczz_doorplate_address
+        where 1=1
+        <include refid="filterHouseGrid"/>
+        group by town_street_code,town_street_name
     </select>
 
     <!--查询区域数据-社区-->
     <select id="getRegionListByGroupNei" resultType="org.springblade.common.node.TreeNode" >
-        select nei_code as id,nei_name as name,town_street_code as parentId from jczz_doorplate_address group by nei_code,nei_name,town_street_code
+        select nei_code as id,nei_name as name,town_street_code as parentId from jczz_doorplate_address
+        where 1=1
+        <include refid="filterHouseGrid"/>
+        group by nei_code,nei_name,town_street_code
     </select>
 
     <!--根据社区名称查询小区集合-->
@@ -36,12 +61,13 @@
         where 1=1
         and aoi_name !=''
         and aoi_code !=''
-        <if test="name != null and name!=''">
-            and nei_name = #{name}
+        <if test="houseParam.name != null and houseParam.name!=''">
+            and nei_name = #{houseParam.name}
         </if>
-        <if test="code != null and code!=''">
-            and nei_code = #{code}
+        <if test="houseParam.code != null and houseParam.code!=''">
+            and nei_code = #{houseParam.code}
         </if>
+        <include refid="filterHouseGrid"/>
         group by aoi_code,aoi_name
         union all
         (
@@ -49,12 +75,13 @@
         where 1=1
         and aoi_code !=''
         and sub_aoi != ''
-        <if test="name != null and name!=''">
-            and nei_name = #{name}
+        <if test="houseParam.name != null and houseParam.name!=''">
+            and nei_name = #{houseParam.name}
         </if>
-        <if test="code != null and code!=''">
-            and nei_code = #{code}
+        <if test="houseParam.code != null and houseParam.code!=''">
+            and nei_code = #{houseParam.code}
         </if>
+        <include refid="filterHouseGrid"/>
         group by aoi_code,sub_aoi
         )
         union all
@@ -62,12 +89,13 @@
         select nei_code as id,'自建房/商铺' as name,2 as addressType from jczz_doorplate_address
         where 1=1
         and aoi_code is null
-        <if test="name != null and name!=''">
-            and nei_name = #{name}
+        <if test="houseParam.name != null and houseParam.name!=''">
+            and nei_name = #{houseParam.name}
         </if>
-        <if test="code != null and code!=''">
-            and nei_code = #{code}
+        <if test="houseParam.code != null and houseParam.code!=''">
+            and nei_code = #{houseParam.code}
         </if>
+        <include refid="filterHouseGrid"/>
         group by nei_code
         )
     </select>
@@ -77,9 +105,10 @@
         (
             select building_code as id,ifnull(building_name,'1栋') as name,1 as addressType from jczz_doorplate_address
             where 1=1
-            and aoi_code = #{code}
+            and aoi_code = #{houseParam.code}
             and building_code !=''
             and doorplate_type = '户室牌'
+            <include refid="filterHouseGrid"/>
             group by building_code,building_name
             order by building_name
         )
@@ -87,9 +116,10 @@
         (
             select address_code as id,doorplate_name as name,2 as addressType from jczz_doorplate_address
             where 1=1
-            and aoi_code = #{code}
+            and aoi_code = #{houseParam.code}
             and building_name is null
             and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
+            <include refid="filterHouseGrid"/>
         )
     </select>
 
@@ -170,12 +200,13 @@
         select street_ru_code as id,street_ru_name as name,3 as addressType from jczz_doorplate_address
         where 1=1
         and aoi_code is null
-        <if test="name != null and name!=''">
-            and nei_name = #{name}
+        <if test="houseParam.name != null and houseParam.name!=''">
+            and nei_name = #{houseParam.name}
         </if>
-        <if test="code != null and code!=''">
-            and nei_code = #{code}
+        <if test="houseParam.code != null and houseParam.code!=''">
+            and nei_code = #{houseParam.code}
         </if>
+        <include refid="filterHouseGrid"/>
         group by street_ru_code,street_ru_name
     </select>
 

--
Gitblit v1.9.3