From b42bdf8eb9baa28c6d2e363ffaebadfc62d2025a Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 03 Apr 2024 11:09:39 +0800
Subject: [PATCH] 区域查询修改,e呼即办,网格员,网格巡查等过滤修改

---
 src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml |   68 ++++++++++++++++++++++++++++------
 1 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
index bf70153..da6df79 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
@@ -7,17 +7,18 @@
         select
         jgwl.*,
         jh.name,jh.phone_number as phone,
-        if(jda.id is not null,jda.address_name,jh.current_address) as address,
-        jda.town_street_name AS townName,
-        jda.nei_name AS neiName,
+        jh.current_address AS address,
+        br.town_name AS townName,
+        br.name AS neiName,
         jg.grid_name,
         bu.real_name as createUserName
         from jczz_grid_work_log jgwl
         left join jczz_household jh on jgwl.household_id = jh.id and jh.is_deleted = 0
         left join jczz_house jhs on jhs.house_code = jh.house_code and jhs.is_deleted = 0
-        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
         LEFT JOIN jczz_grid jg on jhs.grid_code = jg.grid_code and jg.is_deleted = 0
         LEFT JOIN blade_user bu on bu.id = jgwl.create_user and bu.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag on jhs.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
+        left join blade_region br on br.code = jpag.community_code
         where jgwl.is_deleted = 0
         <if test="gridWorkLog.type !=null">
             and jgwl.type = #{gridWorkLog.type}
@@ -41,24 +42,67 @@
             and jh.phone_number like concat('%',#{gridWorkLog.phone},'%')
         </if>
         <if test="gridWorkLog.townName!=null and gridWorkLog.townName!=''">
-            and jda.town_street_name like concat('%',#{gridWorkLog.townName},'%')
+            and br.town_name like concat('%',#{gridWorkLog.townName},'%')
         </if>
         <if test="gridWorkLog.neiName!=null and gridWorkLog.neiName!=''">
-            and jda.nei_name like concat('%',#{gridWorkLog.neiName},'%')
+            and br.name  like concat('%',#{gridWorkLog.neiName},'%')
         </if>
         <if test="gridWorkLog.gridId !=null">
             and jg.id = #{gridWorkLog.gridId}
         </if>
         <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 test="gridWorkLog.roleName != null and gridWorkLog.roleName != ''">
+                    <if test="gridWorkLog.roleName=='wgy'">
+                        <choose>
+                            <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                and jh.grid_code in
+                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jh.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                    <if test="gridWorkLog.roleName=='mj'">
+                        <choose>
+                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                and jpag.community_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jpag.community_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
                 </when>
                 <otherwise>
-                    and jg.community_code in ('')
+                    <choose>
+                        <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                            and
+                            (
+                            jg.grid_code in
+                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                #{code}
+                            </foreach>
+                            or
+                            jpag.community_code in
+                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                #{code}
+                            </foreach>
+                            )
+                        </when>
+                        <otherwise>
+                            and
+                            (
+                            jg.grid_code in ('') or jpag.community_code in ('')
+                            )
+                        </otherwise>
+                    </choose>
                 </otherwise>
             </choose>
         </if>

--
Gitblit v1.9.3