From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送

---
 src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml |   96 +++++++++++++++++++++++------------------------
 1 files changed, 47 insertions(+), 49 deletions(-)

diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
index 704caba..ddd595c 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -160,15 +160,19 @@
         jda.aoi_name,
         br.village_name communityName,
         jda.address_name as addressName
-        from jczz_task_report_for_repairs jtrfr
-        left join jczz_doorplate_address jda on jda.address_code = jtrfr.address_code
+        FROM jczz_task_report_for_repairs jtrfr
+        LEFT JOIN jczz_doorplate_address jda on jda.address_code = jtrfr.address_code
         LEFT JOIN jczz_house jh on jh.house_code=jtrfr.address_code
-        left join jczz_grid jg on jg.grid_code = jh.grid_code and jg.is_deleted = 0
-        left join blade_region br on br.code = jg.community_code
         LEFT JOIN jczz_place jp on jtrfr.address_code = jp.house_code and jp.is_deleted = 0
-        where jtrfr.is_deleted = 0
+        LEFT JOIN jczz_grid jg on (jg.grid_code = jh.grid_code or jg.grid_code = jp.grid_code)  and jg.is_deleted = 0
+        LEFT JOIN blade_region br on br.code = jg.community_code
+        WHERE jtrfr.is_deleted = 0
         <if test="vo.createUser != null and vo.createUser != ''">
             AND jtrfr.create_user = #{vo.createUser}
+        </if>
+
+        <if test="communityCode !=null and communityCode !=''">
+            and jg.community_code = #{communityCode}
         </if>
 
         <if test="vo.houseCode != null and vo.houseCode != ''">
@@ -269,6 +273,12 @@
                             #{code}
                         </foreach>
                         )
+                        <if test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                            and jg.community_code in
+                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                #{code}
+                            </foreach>
+                        </if>
                     </when>
                     <otherwise>
                         and jg.grid_code in ('')
@@ -353,6 +363,7 @@
         LEFT JOIN jczz_house jh ON jh.house_code = jtr.address_code
         LEFT JOIN jczz_place jp ON jtr.address_code = jp.house_code
         LEFT JOIN jczz_grid jg on (jh.grid_code = jg.grid_code or jp.grid_code = jg.grid_code )
+        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
         <where>
             and jtr.is_deleted = 0
             and jtr.confirm_flag = 1
@@ -360,50 +371,37 @@
                 and jg.community_code = #{neiCode}
             </if>
 
-            <if test="userId != null and roleName == 'wgy'">
-                AND (
-                jp.grid_code IN (
-                SELECT
-                jg.grid_code
-                FROM
-                jczz_grid jg
-                LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
-                WHERE
-                jg.is_deleted = 0
-                AND jgm.user_id = #{userId}
-                )
-                OR jh.grid_code IN (
-                SELECT
-                jg.grid_code
-                FROM
-                jczz_grid jg
-                LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
-                WHERE
-                jg.is_deleted = 0
-                AND jgm.user_id = #{userId}
-                ))
-            </if>
-
-            <if test="userId != null and roleName == 'mj'">
-                AND (
-                jp.jw_grid_code IN (
-                SELECT
-                jpag.jw_grid_code
-                FROM
-                jczz_police_affairs_grid jpag
-                WHERE
-                jpag.is_deleted = 0
-                AND jpag.police_user_id = #{userId}
-                )
-                OR jh.jw_grid_code IN (
-                SELECT
-                jpag.jw_grid_code
-                FROM
-                jczz_police_affairs_grid jpag
-                WHERE
-                jpag.is_deleted = 0
-                AND jpag.police_user_id = #{userId}
-                ))
+            <if test="roleName != null and roleName != ''">
+                <if test="roleName=='wgy'">
+                    <if test="isAdministrator==2">
+                        <choose>
+                            <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                and jg.grid_code in
+                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jg.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                </if>
+                <if test="roleName=='mj'">
+                    <if test="isAdministrator==2">
+                        <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>
+                </if>
             </if>
         </where>
 

--
Gitblit v1.9.3