From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送

---
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml |  119 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 89 insertions(+), 30 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 3cd380b..48f095c 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="filterGrid">
+        <if test="houseParam.roleName!=null and houseParam.roleName!=''">
+            <if test="houseParam.roleName=='wgy' and houseParam.userId!='1726859808689696770'">
+                <choose>
+                    <when test="list != null and list.size()>0">
+                        and jgr.grid_code in
+                        <foreach collection="list" item="gridCode" separator ="," open="("  close=")">
+                            #{gridCode}
+                        </foreach>
+                    </when>
+                    <otherwise>
+                        and jgr.grid_code in ('')
+                    </otherwise>
+                </choose>
+            </if>
+        </if>
+    </sql>
+
 
 
     <!--过滤社区数据-->
@@ -57,15 +76,38 @@
 
     <!--自定义分页查询-->
     <select id="selectDoorplateAddressPage" resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO">
-        select * from jczz_doorplate_address where 1=1
+        SELECT
+        jda.*
+        FROM
+        jczz_doorplate_address jda LEFT JOIN jczz_district jd on jda.aoi_code=jd.aoi_code
+        where 1=1
         <if test="doorplateAddress.aoiName!=null and doorplateAddress.aoiName!=''">
-            and aoi_name like concat('%',#{doorplateAddress.aoiName},'%')
+            and jda.aoi_name like concat('%',#{doorplateAddress.aoiName},'%')
         </if>
         <if test="doorplateAddress.addressName!=null and doorplateAddress.addressName!=''">
-            and address_name like concat('%',#{doorplateAddress.addressName},'%')
+            and jda.address_name like concat('%',#{doorplateAddress.addressName},'%')
         </if>
         <if test="doorplateAddress.townStreetCode != null and doorplateAddress.townStreetCode != ''">
-            and town_street_code like concat('%',#{doorplateAddress.townStreetCode},'%')
+            and jda.town_street_code like concat('%',#{doorplateAddress.townStreetCode},'%')
+        </if>
+
+        <if test="doorplateAddress.houseName != null and doorplateAddress.houseName != ''">
+            and jda.house_name like concat('%',#{doorplateAddress.houseName},'%')
+        </if>
+
+        <if test="doorplateAddress.buildingName != null and doorplateAddress.buildingName != ''">
+            and jda.building_name like concat('%',#{doorplateAddress.buildingName},'%')
+        </if>
+
+        <if test="doorplateAddress.unitName != null and doorplateAddress.unitName != ''">
+            and jda.unit_name like concat('%',#{doorplateAddress.unitName},'%')
+        </if>
+
+        <if test="doorplateAddress.districtIds != null ">
+            and jd.id in
+        <foreach collection="doorplateAddress.districtIds" item="districtId" separator ="," open="("  close=")">
+            #{districtId}
+        </foreach>
         </if>
     </select>
 
@@ -166,9 +208,9 @@
 
     <!--根据社区名称查询小区集合-->
     <select id="getDistrictList" resultType="org.springblade.common.node.TreeStringNode" >
-        select aoi_code as id,aoi_name as name,1 as addressType from jczz_doorplate_address
-        where 1=1
-        and aoi_name !=''
+        select aoi_code as id,aoi_name as name,1 as addressType from jczz_doorplate_address jda
+        left join jczz_grid_range jgr on jda.address_code = jgr.house_code
+        where aoi_name !=''
         and aoi_code !=''
         <if test="houseParam.name != null and houseParam.name!=''">
             and nei_name = #{houseParam.name}
@@ -176,14 +218,14 @@
         <if test="houseParam.code != null and houseParam.code!=''">
             and nei_code = #{houseParam.code}
         </if>
-        <include refid="filterHouseGrid"/>
+        <include refid="filterGrid"/>
         <include refid="filterCommunity"/>
         group by aoi_code,aoi_name
         union all
         (
-        select aoi_code as id,sub_aoi as name,1 as addressType from jczz_doorplate_address
-        where 1=1
-        and aoi_code !=''
+        select aoi_code as id,sub_aoi as name,1 as addressType from jczz_doorplate_address jda
+        left join jczz_grid_range jgr on jda.address_code = jgr.house_code
+        where aoi_code !=''
         and aoi_name is null
         and sub_aoi != ''
         <if test="houseParam.name != null and houseParam.name!=''">
@@ -192,22 +234,22 @@
         <if test="houseParam.code != null and houseParam.code!=''">
             and nei_code = #{houseParam.code}
         </if>
-        <include refid="filterHouseGrid"/>
+        <include refid="filterGrid"/>
         <include refid="filterCommunity"/>
         group by aoi_code,sub_aoi
         )
         union all
         (
-        select nei_code as id,'自建房/商铺' as name,2 as addressType from jczz_doorplate_address
-        where 1=1
-        and aoi_code is null
+        select nei_code as id,'自建房/商铺' as name,2 as addressType from jczz_doorplate_address jda
+        left join jczz_grid_range jgr on jda.address_code = jgr.house_code
+        where aoi_code is null
         <if test="houseParam.name != null and houseParam.name!=''">
             and nei_name = #{houseParam.name}
         </if>
         <if test="houseParam.code != null and houseParam.code!=''">
             and nei_code = #{houseParam.code}
         </if>
-        <include refid="filterHouseGrid"/>
+        <include refid="filterGrid"/>
         <include refid="filterCommunity"/>
         group by nei_code
         )
@@ -229,23 +271,23 @@
     <!--根据小区名称查询楼栋/商铺集合-->
     <select id="getBuildingList" resultType="org.springblade.common.node.TreeStringNode" >
         (
-            select building_code as id,ifnull(building_name,'1栋') as name,1 as addressType from jczz_doorplate_address
-            where 1=1
-            and aoi_code = #{houseParam.code}
+            select building_code as id,ifnull(building_name,'1栋') as name,1 as addressType from jczz_doorplate_address jda
+            left join jczz_grid_range jgr on jda.address_code = jgr.house_code
+            where aoi_code = #{houseParam.code}
             and building_code !=''
             and doorplate_type = '户室牌'
-            <include refid="filterHouseGrid"/>
+            <include refid="filterGrid"/>
             group by building_code,building_name
             order by building_name
         )
         union all
         (
-            select address_code as id,doorplate_name as name,2 as addressType from jczz_doorplate_address
-            where 1=1
-            and aoi_code = #{houseParam.code}
+            select address_code as id,doorplate_name as name,2 as addressType from jczz_doorplate_address jda
+            left join jczz_grid_range jgr on jda.address_code = jgr.house_code
+            where aoi_code = #{houseParam.code}
             and building_name is null
             and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
-            <include refid="filterHouseGrid"/>
+            <include refid="filterGrid"/>
         )
     </select>
 
@@ -268,6 +310,7 @@
             juhl.id as cid,juhl.house_code,juhl.label_id,juhl.label_name,juhl.color,juhl.household_id,
             juhlh.color as houseColor
             from jczz_doorplate_address jda
+            left join jczz_grid_range jgr on jda.address_code = jgr.house_code
             left join
             (
                 SELECT house_code, NAME, relationship FROM jczz_household WHERE id in(
@@ -285,7 +328,7 @@
             <if test="houseParam.searchKey!=null and houseParam.searchKey!=''">
                 and jh.name like concat('%',#{houseParam.searchKey},'%')
             </if>
-            <include refid="filterHouseGrid"/>
+            <include refid="filterGrid"/>
         )
         union all
         (
@@ -294,13 +337,14 @@
             juhl.id as cid,juhl.house_code,juhl.label_id,juhl.label_name,juhl.color,juhl.household_id,
             juhlh.color as houseColor
             from jczz_doorplate_address jda2
+            left join jczz_grid_range jgr on jda2.address_code = jgr.house_code
             left join jczz_user_house_label juhl on juhl.house_code = jda2.address_code and juhl.lable_type=1
             left join jczz_user_house_label juhlh on juhlh.house_code = jda2.address_code and juhlh.lable_type=2
             where 1=1
             and building_code = #{houseParam.code}
             and building_name != ''
             and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
-            <include refid="filterHouseGrid"/>
+            <include refid="filterGrid"/>
         )
     </select>
 
@@ -349,7 +393,8 @@
 
     <!--根据社区查询街路巷集合-->
     <select id="getStreetRuList" resultType="org.springblade.common.node.TreeStringNode" >
-        select street_ru_code as id,street_ru_name as name,3 as addressType from jczz_doorplate_address
+        select street_ru_code as id,street_ru_name as name,3 as addressType from jczz_doorplate_address jda
+        left join jczz_grid_range jgr on jda.address_code = jgr.house_code
         where 1=1
         and aoi_code is null
         <if test="houseParam.name != null and houseParam.name!=''">
@@ -358,7 +403,7 @@
         <if test="houseParam.code != null and houseParam.code!=''">
             and nei_code = #{houseParam.code}
         </if>
-        <include refid="filterHouseGrid"/>
+        <include refid="filterGrid"/>
         group by street_ru_code,street_ru_name
     </select>
 
@@ -367,13 +412,14 @@
       select address_code as addressCode,
       IFNULL(CONCAT(doorplate_num,sub_door_plate_no), IF(doorplate_num IS NULL, sub_door_plate_no, doorplate_num)) as floor,
       3 as addressType
-      from jczz_doorplate_address
+      from jczz_doorplate_address jda
+      left join jczz_grid_range jgr on jda.address_code = jgr.house_code
       where 1=1
       and street_ru_code = #{houseParam.code}
       and nei_code = #{houseParam.name}
       and aoi_code is null
       and doorplate_type = '中门牌'
-      <include refid="filterHouseGrid"/>
+      <include refid="filterGrid"/>
       order by doorplate_num,sub_door_plate_no
     </select>
 
@@ -572,6 +618,19 @@
         <if test="townName!=null and townName!=''">
             and jda.town_street_name like concat('%',#{townName},'%')
         </if>
+        limit 0,1000
+    </select>
+
+    <!--查询未入库的场所-->
+    <select id="getNotPlaceListCount" resultType="java.lang.Integer">
+        select count(*) from jczz_doorplate_address jda
+        left join jczz_place jp on jda.address_code=jp.house_code and jp.is_deleted = 0
+        where 1=1
+        and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
+        and jp.id is null
+        <if test="townName!=null and townName!=''">
+            and jda.town_street_name like concat('%',#{townName},'%')
+        </if>
     </select>
 
     <!--查询场所标准地址数据-->

--
Gitblit v1.9.3