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/house/mapper/HouseMapper.xml |   95 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 73 insertions(+), 22 deletions(-)

diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
index 61c571c..a9df469 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -133,10 +133,12 @@
     <select id="selectHousePage" resultMap="houseAndHouseLabelMap">
         select
         jh.*,
-        concat(building," ",unit," ",room) as address,
-        jda.town_street_name as townStreetName,jda.nei_name as neiName
+        concat(jh.building," ",jh.unit," ",jh.room) as address,
+        br.town_name as townStreetName,br.name as neiName
         from jczz_house jh
-        left join jczz_doorplate_address jda on jda.address_code = jh.house_code
+        left join jczz_grid_range jgr on jgr.house_code = jh.house_code
+        left join jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
+        left join blade_region br on br.code = jg.community_code
         where jh.is_deleted = 0
         <if test="house.id != null "> and jh.id = #{house.id}</if>
         <if test="house.streetCode != null and house.streetCode != ''">
@@ -148,10 +150,10 @@
             and jh.district_name like concat('%',#{house.districtName},'%')
         </if>
         <if test="house.townStreetName!=null and house.townStreetName!=''">
-            and jda.town_street_name like concat('%',#{house.townStreetName},'%')
+            and br.town_name like concat('%',#{house.townStreetName},'%')
         </if>
         <if test="house.neiName!=null and house.neiName!=''">
-            and jda.nei_name like concat('%',#{house.neiName},'%')
+            and br.name like concat('%',#{house.neiName},'%')
         </if>
         <if test="house.houseName != null  and house.houseName != ''"> and jh.house_name like concat('%',#{house.houseName},'%')</if>
         <if test="house.phone != null  and house.phone != ''"> and jh.phone = #{house.phone}</if>
@@ -172,11 +174,20 @@
     <select id="getHouseDetail" resultMap="houseAndHouseLabelMap">
         select
         jh.*,
-        jhl.id as cid,jhl.*,jhl.remark as cremark
+        jhl.id as cid,jhl.*,jhl.remark as cremark,
+        br.code as neiCode,jg.id as gridId,br.town_code as streetCode
         from jczz_house jh
         left join jczz_user_house_label jhl on jh.house_code = jhl.house_code and jhl.lable_type = 2
+        left join jczz_grid_range jgr on jgr.house_code = jh.house_code
+        left join jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
+        left join blade_region br on br.code = jg.community_code
         where jh.is_deleted = 0
-        and jh.house_code = #{house.houseCode}
+        <if test="house.houseCode!=null and house.houseCode!=''">
+            and jh.house_code = #{house.houseCode}
+        </if>
+        <if test="house.id!=null">
+            and jh.id = #{house.id}
+        </if>
     </select>
 
     <!--房屋数据导出-->
@@ -287,7 +298,7 @@
         <if test="aoiCode != null  and aoiCode != ''">
             and jda.aoi_code=#{aoiCode}
         </if>
-        <if test="userId != null">
+        <if test="userId != null and roleType == '1'">
         AND jda.address_code IN (
         SELECT DISTINCT
         jgr.house_code
@@ -299,6 +310,16 @@
         jgm.user_id = #{userId}
         AND jg.is_deleted = 0
         )
+        </if>
+        <if test="userId != null and roleType == '3'">
+            AND jda.address_code IN (SELECT
+            jda.address_code
+            FROM
+            jczz_doorplate_address jda
+            LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
+            WHERE
+            jc.res_police_user_id = #{userId})
+            )
         </if>
         ) a
 
@@ -331,7 +352,7 @@
         <if test="aoiCode != null  and aoiCode != ''">
             and jda.aoi_code=#{aoiCode}
         </if>
-        <if test="userId != null">
+        <if test="userId != null and roleType == '1'">
             AND jda.address_code IN (
             SELECT DISTINCT
             jgr.house_code
@@ -342,6 +363,16 @@
             WHERE
             jgm.user_id = #{userId}
             AND jg.is_deleted = 0
+            )
+        </if>
+        <if test="userId != null and roleType == '3'">
+            AND jda.address_code IN (SELECT
+            jda.address_code
+            FROM
+            jczz_doorplate_address jda
+            LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
+            WHERE
+            jc.res_police_user_id = #{userId})
             )
         </if>
         ) a
@@ -371,18 +402,28 @@
         <if test="aoiCode != null  and aoiCode != ''">
             and jda.aoi_code=#{aoiCode}
         </if>
-        <if test="userId != null">
-        AND jda.address_code IN (
-        SELECT
-        jgr.house_code
-        FROM
-        jczz_grid jg
-        LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
-        LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
-        WHERE
-        jgm.user_id = #{userId}
-        AND jg.is_deleted = 0
-        )
+        <if test="userId != null and roleType == '1'">
+            AND jda.address_code IN (
+            SELECT DISTINCT
+            jgr.house_code
+            FROM
+            jczz_grid jg
+            LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
+            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+            WHERE
+            jgm.user_id = #{userId}
+            AND jg.is_deleted = 0
+            )
+        </if>
+        <if test="userId != null and roleType == '3'">
+            AND jda.address_code IN (SELECT
+            jda.address_code
+            FROM
+            jczz_doorplate_address jda
+            LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
+            WHERE
+            jc.res_police_user_id = #{userId})
+            )
         </if>
     </select>
 
@@ -412,7 +453,7 @@
         <if test="aoiCode != null  and aoiCode != ''">
             and jda.aoi_code=#{aoiCode}
         </if>
-        <if test="userId != null">
+        <if test="userId != null and roleType == '1'">
             AND jda.address_code IN (
             SELECT DISTINCT
             jgr.house_code
@@ -425,6 +466,16 @@
             AND jg.is_deleted = 0
             )
         </if>
+        <if test="userId != null and roleType == '3'">
+            AND jda.address_code IN (SELECT
+            jda.address_code
+            FROM
+            jczz_doorplate_address jda
+            LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
+            WHERE
+            jc.res_police_user_id = #{userId})
+            )
+        </if>
         ) a
 
 

--
Gitblit v1.9.3