From 5745a87f3a139ea2bbdaf4704978e4c151ecc45a Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 23 Jan 2024 17:39:48 +0800
Subject: [PATCH] 物业管理管和项目经理数据过滤

---
 src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml |   68 ++++++++++++++++++++--------------
 1 files changed, 40 insertions(+), 28 deletions(-)

diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
index 00a1ac9..6e9472a 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -174,11 +174,10 @@
         jczz_household jh
         LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
         LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
-        LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
-        LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
+        LEFT JOIN jczz_grid jg on jg.grid_code = jhs.grid_code and jg.is_deleted = 0
         <where>
             <if test="household.userId!=null">
-                AND jg.id IN ( SELECT DISTINCT jgm.grid_id FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
+                AND jg.grid_code IN ( SELECT DISTINCT jgm.grid_code FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
                 )
             </if>
             <if test="household.name!=null and household.name !=''">
@@ -211,8 +210,18 @@
             <if test="household.startTime != null and household.startTime != '' and household.endTime != null and household.endTime != '' ">
                 AND jh.create_time BETWEEN #{household.startTime} and #{household.endTime}
             </if>
-            <if test="household.regionCode!=null and household.regionCode!=''">
-                and jg.community_code like concat(#{household.regionCode},'%')
+            <if test="isAdministrator==2">
+                <choose>
+                    <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                        and jg.community_code in
+                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                            #{code}
+                        </foreach>
+                    </when>
+                    <otherwise>
+                        and jg.community_code in ('')
+                    </otherwise>
+                </choose>
             </if>
             <if test="household.building!=null and household.building!=''">
                 and jhs.building like concat(#{household.building},'%')
@@ -273,12 +282,11 @@
         jczz_household jh
         LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
         LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
-        LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
-        LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
+        LEFT JOIN jczz_grid jg on jg.grid_code = jhs.grid_code and jg.is_deleted = 0
         where jh.is_deleted = 0
         and jh.name != '' and jh.name is not null
         <if test="household.userId!=null">
-            AND jg.id IN ( SELECT DISTINCT jgm.grid_id FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
+            AND jg.grid_code IN ( SELECT DISTINCT jgm.grid_code FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
             )
         </if>
         <if test="household.name!=null and household.name !=''">
@@ -535,7 +543,7 @@
             jczz_doorplate_address jda
             LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
             WHERE
-            jc.res_police_user_id = #{userId})
+            jc.res_police_user_id  like concat('%',#{userId},'%'))
             )
         </if>
         ) a
@@ -587,7 +595,7 @@
             jczz_doorplate_address jda
             LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
             WHERE
-            jc.res_police_user_id = #{userId})
+            jc.res_police_user_id  like concat('%',#{userId},'%'))
             )
         </if>
         GROUP BY age
@@ -658,12 +666,11 @@
         jczz_household jh
         LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
         LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
-        LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
-        LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
+        LEFT JOIN jczz_grid jg on jg.grid_code = jhs.grid_code and jg.is_deleted = 0
         LEFT JOIN jczz_user_house_label juhl on juhl.house_code = jda.address_code and lable_type=1
         <where>
             <if test="household.userId!=null">
-                AND jg.id IN ( SELECT DISTINCT jgm.grid_id FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
+                AND jg.grid_code IN ( SELECT DISTINCT jgm.grid_code FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
                 )
             </if>
             <if test="household.name!=null and household.name !=''">
@@ -779,11 +786,10 @@
         jczz_household jh
         LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
         LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
-        LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
-        LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
+        LEFT JOIN jczz_grid jg on jg.grid_code = jhs.grid_code and jg.is_deleted = 0
         <where>
             <if test="household.userId!=null">
-                AND jg.id IN ( SELECT DISTINCT jgm.grid_id FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
+                AND jg.grid_code IN ( SELECT DISTINCT jgm.grid_code FROM jczz_gridman jgm WHERE jgm.user_id = #{household.userId}
                 )
             </if>
             <if test="household.name!=null and household.name !=''">
@@ -828,17 +834,20 @@
             <if test="household.aoiCode!=null and household.aoiCode!=''">
                 and jhs.district_code = #{household.aoiCode}
             </if>
-            AND EXISTS (
-            SELECT
-            *
+            and jh.id in (
+            SELECT DISTINCT
+            juhl.household_id
             FROM
             jczz_user_house_label juhl
             LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
             WHERE
             juhl.lable_type = 1
-            AND jl.id = #{household.labelId}
-            AND jl.parent_id = #{household.parentId}
-            AND juhl.household_id = jh.id
+            <if test="household.labelId != null ">
+                AND jl.id = #{household.labelId}
+            </if>
+            <if test="household.parentId != null ">
+                AND jl.parent_id = #{household.parentId}
+            </if>
             AND juhl.label_id IS NOT NULL
             )
             and jh.is_deleted = 0
@@ -852,9 +861,10 @@
         left join jczz_user_house_label juhl on juhl.household_id = jh.id
         where jh.is_deleted = 0
         and juhl.lable_type = 1
-        and juhl.color = '#30D17C'
+        and juhl.color = 'green'
         and jh.id in (
-        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=30
+        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(),
+        create_time )=30
         )
         <choose>
             <when test="list!=null and list.size()>0">
@@ -873,9 +883,10 @@
         left join jczz_user_house_label juhl on juhl.household_id = jh.id
         where jh.is_deleted = 0
         and juhl.lable_type = 1
-        and juhl.color = '#FFB42B'
+        and juhl.color = 'yellow'
         and jh.id in (
-        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=14
+        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(),
+        create_time )=14
         )
         <choose>
             <when test="list!=null and list.size()>0">
@@ -895,9 +906,10 @@
         left join jczz_user_house_label juhl on juhl.household_id = jh.id
         where jh.is_deleted = 0
         and juhl.lable_type = 1
-        and juhl.color = '#EA1F1F'
+        and juhl.color = 'red'
         and jh.id in (
-        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=7
+        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(),
+        create_time )=7
         )
         <choose>
             <when test="list!=null and list.size()>0">

--
Gitblit v1.9.3