From 60e1a68fa319cd9e92d632bf678b31af20973508 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Mon, 24 Jun 2024 19:12:05 +0800
Subject: [PATCH] 驾驶舱添加社区筛选优化

---
 src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml |   91 ++++++++++++++++++++++++++-------------------
 1 files changed, 52 insertions(+), 39 deletions(-)

diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
index fc69a04..5984178 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
@@ -79,11 +79,16 @@
         SELECT count(1) number
         FROM jczz_gridman jgm
         LEFT JOIN jczz_grid jg ON jg.grid_code = jgm.grid_code
-        WHERE jg.community_code = #{code}
-        AND jg.is_deleted = 0
-        <if test="userId!=null and roleType == '1'">
-            and jgm.user_id= #{userId}
-        </if>
+        <where>
+            jg.community_code in
+            <foreach collection="communityCodeList" item="code" open="(" close=")" separator=",">
+                #{code}
+            </foreach>
+            AND jg.is_deleted = 0
+            <if test="userId!=null and roleType == '1'">
+                and jgm.user_id= #{userId}
+            </if>
+        </where>
     </select>
 
     <select id="getCompanyStatistics" resultType="java.lang.Integer">
@@ -92,23 +97,27 @@
         FROM
         jczz_property_company_district jpcd
         LEFT JOIN jczz_district jd ON jd.id = jpcd.district_id
-        WHERE
-        jd.community_code = #{code}
-        and jpcd.is_deleted= 0
-        <if test="userId!=null and roleType == '1'">
-            AND jd.aoi_code in (
-            SELECT distinct
-            jda.aoi_code
-            FROM
-            jczz_grid jg
-            LEFT JOIN jczz_gridman jgm ON jg.grid_code = jgm.grid_code
-            LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jg.house_code
-            WHERE
-            jgm.user_id = #{userId}
-            AND jg.is_deleted = 0
-            AND jda.aoi_code IS NOT NULL
-            )
-        </if>
+        <where>
+            jd.community_code in
+            <foreach collection="communityCodeList" item="code" open="(" close=")" separator=",">
+                #{code}
+            </foreach>
+            and jpcd.is_deleted= 0
+            <if test="userId!=null and roleType == '1'">
+                AND jd.aoi_code in (
+                SELECT distinct
+                jda.aoi_code
+                FROM
+                jczz_grid jg
+                LEFT JOIN jczz_gridman jgm ON jg.grid_code = jgm.grid_code
+                LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jg.house_code
+                WHERE
+                jgm.user_id = #{userId}
+                AND jg.is_deleted = 0
+                AND jda.aoi_code IS NOT NULL
+                )
+            </if>
+        </where>
     </select>
 
     <select id="getOwnersCommitteeStatistics" resultType="java.lang.Integer">
@@ -116,23 +125,27 @@
         count(1)
         FROM jczz_owners_committee joc LEFT JOIN
         jczz_district jd ON jd.id = joc.area_id
-        WHERE
-        jd.community_code = #{code}
-        and joc.delete_flag= 0
-        <if test="userId!=null and roleType == '1'">
-            AND jd.aoi_code in (
-            SELECT distinct
-            jda.aoi_code
-            FROM
-            jczz_grid jg
-            LEFT JOIN jczz_gridman jgm ON jg.grid_code = jgm.grid_code
-            LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jg.house_code
-            WHERE
-            jgm.user_id = #{userId}
-            AND jg.is_deleted = 0
-            AND jda.aoi_code IS NOT NULL
-            )
-        </if>
+        <where>
+            jd.community_code in
+            <foreach collection="communityCodeList" item="code" open="(" close=")" separator=",">
+                #{code}
+            </foreach>
+            and joc.delete_flag= 0
+            <if test="userId!=null and roleType == '1'">
+                AND jd.aoi_code in (
+                SELECT distinct
+                jda.aoi_code
+                FROM
+                jczz_grid jg
+                LEFT JOIN jczz_gridman jgm ON jg.grid_code = jgm.grid_code
+                LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jg.house_code
+                WHERE
+                jgm.user_id = #{userId}
+                AND jg.is_deleted = 0
+                AND jda.aoi_code IS NOT NULL
+                )
+            </if>
+        </where>
     </select>
 
 

--
Gitblit v1.9.3