From 55d677758efadb6d42e6d4e595cecc2c50c20d5a Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Sat, 23 Dec 2023 17:19:12 +0800
Subject: [PATCH] bug修复

---
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml |  107 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 87 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 7118c6d..6341475 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -21,6 +21,25 @@
         </if>
     </sql>
 
+    <!--过滤社区数据-->
+    <sql id="filterCommunity">
+        <if test="houseParam.roleName!=null and houseParam.roleName!=''">
+            <if test="houseParam.roleName=='民警' and houseParam.userId!='1726859808689696770'">
+                <choose>
+                    <when test="communityList != null and communityList.size()>0">
+                        and nei_code in
+                        <foreach collection="communityList" item="neiCode" separator ="," open="("  close=")">
+                            #{neiCode}
+                        </foreach>
+                    </when>
+                    <otherwise>
+                        and nei_code in ('')
+                    </otherwise>
+                </choose>
+            </if>
+        </if>
+    </sql>
+
     <!--门牌地址详情查询-->
     <resultMap id="doorplateAddressDetailMap" type="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO"
                autoMapping="true">
@@ -36,6 +55,15 @@
     <!--自定义分页查询-->
     <select id="selectDoorplateAddressPage" resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO">
         select * from jczz_doorplate_address where 1=1
+        <if test="doorplateAddress.aoiName!=null and doorplateAddress.aoiName!=''">
+            and aoi_name like concat('%',#{doorplateAddress.aoiName},'%')
+        </if>
+        <if test="doorplateAddress.addressName!=null and doorplateAddress.addressName!=''">
+            and address_name like concat('%',#{doorplateAddress.addressName},'%')
+        </if>
+        <if test="doorplateAddress.townStreetCode != null and doorplateAddress.townStreetCode != ''">
+            and town_street_code like concat('%',#{doorplateAddress.townStreetCode},'%')
+        </if>
     </select>
 
 
@@ -47,6 +75,7 @@
             and nei_name = '万达社区居民委员会'
         </if>
         <include refid="filterHouseGrid"/>
+        <include refid="filterCommunity"/>
         group by town_street_code,town_street_name
     </select>
 
@@ -58,6 +87,7 @@
             and nei_name = '万达社区居民委员会'
         </if>
         <include refid="filterHouseGrid"/>
+        <include refid="filterCommunity"/>
         group by nei_code,nei_name,town_street_code
     </select>
 
@@ -74,6 +104,7 @@
             and nei_code = #{houseParam.code}
         </if>
         <include refid="filterHouseGrid"/>
+        <include refid="filterCommunity"/>
         group by aoi_code,aoi_name
         union all
         (
@@ -88,6 +119,7 @@
             and nei_code = #{houseParam.code}
         </if>
         <include refid="filterHouseGrid"/>
+        <include refid="filterCommunity"/>
         group by aoi_code,sub_aoi
         )
         union all
@@ -102,6 +134,7 @@
             and nei_code = #{houseParam.code}
         </if>
         <include refid="filterHouseGrid"/>
+        <include refid="filterCommunity"/>
         group by nei_code
         )
         union all
@@ -161,6 +194,9 @@
             and house_name != ''
             and doorplate_type = '户室牌'
             and building_code = #{houseParam.code}
+            <if test="houseParam.searchKey!=null and houseParam.searchKey!=''">
+                and jh.name like concat('%',#{houseParam.searchKey},'%')
+            </if>
             <include refid="filterHouseGrid"/>
         )
         union all
@@ -244,6 +280,7 @@
       and street_ru_code = #{houseParam.code}
       and nei_code = #{houseParam.name}
       and aoi_code is null
+      and doorplate_type = '中门牌'
       <include refid="filterHouseGrid"/>
       order by doorplate_num,sub_door_plate_no
     </select>
@@ -280,7 +317,11 @@
 
     <!--查询社区信息-->
     <select id="getAllDoorplateAddress" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
-        select * from jczz_doorplate_address where nei_name = #{name}
+        select * from jczz_doorplate_address
+        where 1=1
+        <if test="name!=null and name!=''">
+            and nei_name = #{name}
+        </if>
     </select>
 
     <!--获取房屋树-->
@@ -341,11 +382,11 @@
 
     <!--查询所有户室数据-->
     <select id="getHouseList" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
-        select * from jczz_doorplate_address
-        where 1=1 and doorplate_type = '户室牌'
-        and address_code not in (
-            select house_code from jczz_house
-        )
+        select jda.* from jczz_doorplate_address jda
+        left join jczz_house jh on jh.house_code = jda.address_code
+        where 1=1
+        and jh.house_code is null
+        and doorplate_type = '户室牌'
     </select>
 
     <!--查询商超-->
@@ -417,19 +458,45 @@
 
     <!--查询所有的地址表和场所表差集集合(小区和非小区的)-->
     <select id="getPlaceList" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
-        select jda.* from jczz_doorplate_address jda
-        left join jczz_place jp on jp.house_code = jda.address_code and jp.is_deleted =0
-        where 1=1
-        and jp.house_code is null
-        and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
-        union all
-        (
-        select jda.* from jczz_doorplate_address jda
-        left join jczz_place jp on jp.house_code = jda.address_code and jp.is_deleted =0
-        where 1=1
-        and jp.house_code is null
-        and aoi_code is null
-		and doorplate_type='中门牌'
-        )
+        select jda.* from jczz_doorplate_address jda join (
+            select
+            min(jda.id) as id
+            from jczz_doorplate_address jda
+                    left join jczz_district jd on jda.aoi_code = jd.aoi_code
+            where jda.aoi_code != "" and jda.aoi_name !="" and jd.id is null
+                    and (doorplate_type = '大门牌' or doorplate_type = '楼幢牌'  or doorplate_type = '中门牌' or doorplate_type = '单元牌')
+            GROUP BY jda.aoi_code
+            union all
+            (
+            select
+            min(jda.id) as id
+            from jczz_doorplate_address jda
+                    left join jczz_district jd on jda.aoi_code = jd.aoi_code
+            where jda.aoi_code != "" and jda.sub_aoi != ""
+                    and (doorplate_type = '大门牌' or doorplate_type = '楼幢牌'  or doorplate_type = '中门牌')
+            group by jda.aoi_code
+            )
+        ) a on jda.id = a.id
+    </select>
+
+    <!--查询所有的地址表和场所表差集集合(小区和非小区的)-->
+    <select id="getDoorplateAddressVODetail" resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO">
+        select jda.* from jczz_doorplate_address jda where address_code = #{doorplateAddress.addressCode}
+    </select>
+
+    <!--查询所有的社区集合信息-->
+    <select id="getAllCommunityList" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
+        SELECT
+            jda.nei_code,
+            jda.nei_name,
+            jda.town_street_code
+        FROM
+            jczz_doorplate_address jda
+        WHERE
+            1 = 1
+        GROUP BY
+            jda.nei_code,
+            jda.nei_name,
+            jda.town_street_code
     </select>
 </mapper>

--
Gitblit v1.9.3