From c10d6358b9f014375a13821465bc978d0c0da22e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 29 May 2024 17:17:08 +0800
Subject: [PATCH] 通过E呼即办数据统计

---
 src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml |   47 +++++++++++++++++++++++++++++------------------
 1 files changed, 29 insertions(+), 18 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 d2e5948..fc69a04 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridmanMapper.xml
@@ -25,7 +25,7 @@
         br.name as communityName,
         br.town_name as townName
         from jczz_gridman jgm
-        left join jczz_grid jg on jg.id = jgm.grid_id and jg.is_deleted = 0
+        left join jczz_grid jg on jg.grid_code = jgm.grid_code and jg.is_deleted = 0
         left join blade_region br on br.code = jg.community_code
         where jgm.is_deleted = 0
         <if test="gridman.gridmanName!=null and gridman.gridmanName!=''">
@@ -46,8 +46,18 @@
         <if test="gridman.townName!=null and gridman.townName!=''">
             and br.town_name like concat('%',#{gridman.townName},'%')
         </if>
-        <if test="gridman.regionCode != null and gridman.regionCode !='' ">
-            and jg.community_code like concat('%',#{gridman.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>
     </select>
 
@@ -68,11 +78,11 @@
     <select id="getGridStatistics" resultType="java.lang.Integer">
         SELECT count(1) number
         FROM jczz_gridman jgm
-        LEFT JOIN jczz_grid jg  ON jg.id = jgm.grid_id
+        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}
+            and jgm.user_id= #{userId}
         </if>
     </select>
 
@@ -91,9 +101,8 @@
             jda.aoi_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
-            LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jgr.house_code
+            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
@@ -116,9 +125,8 @@
             jda.aoi_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
-            LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jgr.house_code
+            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
@@ -133,7 +141,7 @@
         select
         jgm.*,jg.community_code communityCode
         from jczz_gridman jgm
-        left join jczz_grid jg on jg.id = jgm.grid_id and jg.is_deleted = 0
+        left join jczz_grid jg on jg.grid_code = jgm.grid_code and jg.is_deleted = 0
         where jgm.is_deleted = 0
         and jgm.id = #{gridman.id}
     </select>
@@ -149,15 +157,18 @@
     </select>
 
     <select id="getGridManByCode" resultType="org.springblade.modules.system.entity.User">
-
         SELECT
-            *
+            bu.*
         FROM
             blade_user bu
-                LEFT JOIN jczz_gridman jgm ON bu.id = jgm.user_id
-                LEFT JOIN jczz_grid jg ON jgm.grid_id = jg.id
-                LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+            LEFT JOIN jczz_gridman jgm ON bu.id = jgm.user_id
+            LEFT JOIN jczz_grid jg ON jgm.grid_code = jg.grid_code
         WHERE
-            jgr.house_code = #{houseCode}
+            jg.community_code IN
+            (
+            SELECT jg.community_code FROM jczz_grid jg LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+            WHERE jgr.house_code = #{houseCode}
+            )
+            AND bu.is_deleted = 0
     </select>
 </mapper>

--
Gitblit v1.9.3