From 9f8f9d13c42ca8cdccbf351069082a5fdccef2e4 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Mon, 25 Mar 2024 17:30:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml |  114 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 79 insertions(+), 35 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 65b29b2..ab0c9fc 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -41,6 +41,7 @@
         <result property="lat" column="lat"/>
         <result property="address" column="address"/>
         <result property="viewType" column="view_type"/>
+        <result property="houseFlag" column="house_flag"/>
 
 
         <collection property="taskRepairStepList" column="id" select="selectTaskRepairStepList"
@@ -122,7 +123,8 @@
                lng,
                lat,
                address,
-               view_type
+               view_type,
+               house_flag
         from jczz_task_report_for_repairs
     </sql>
 
@@ -152,6 +154,7 @@
         jtrfr.lat,
         jtrfr.address,
         jtrfr.view_type,
+        jtrfr.house_flag,
         br.town_name streetName,
         jg.grid_name,
         jda.aoi_name,
@@ -162,6 +165,7 @@
         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
         <if test="vo.createUser != null and vo.createUser != ''">
             AND jtrfr.create_user = #{vo.createUser}
@@ -211,33 +215,56 @@
             <!-- 物业和居民 -->
             <if test="vo.roleType !=null and (vo.roleType == 'wy' or vo.roleType == 'inhabitant')">
                 <if test="aoiCodeList!=null and aoiCodeList.size()>0">
-                    and jda.aoi_code in
+                    and (
+                    jda.aoi_code in
                     <foreach collection="aoiCodeList" item="item" separator="," open="(" close=")">
                         #{item}
                     </foreach>
+                        or
+                    jp.aoi_code in
+                    <foreach collection="aoiCodeList" item="item" separator="," open="(" close=")">
+                        #{item}
+                    </foreach>
+                    )
                 </if>
 
                 <if test="vo.roleType == 'wy' and vo.confirmUserId != null ">
-                    and jtrfr.confirm_user_id = #{vo.confirmUserId}
+                    or jtrfr.confirm_user_id = #{vo.confirmUserId}
                 </if>
             </if>
-            <!-- 网格员及其他 -->
+            <!-- 其他 -->
             <if test="vo.roleType ==null">
                 <choose>
                     <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
-                        and jg.grid_code in
+                        and (
+                        jg.grid_code in
                         <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                             #{code}
                         </foreach>
+                            or
+                        jp.grid_code in
+                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                            #{code}
+                        </foreach>
+                        )
                     </when>
                 </choose>
-
+            </if>
+            <!-- 网格员 -->
+            <if test="vo.roleName =='wgy'">
                 <choose>
                     <when test="gridCodeList !=null and gridCodeList.size()>0">
-                        and jg.grid_code in
+                        and (
+                        jg.grid_code in
                         <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                             #{code}
                         </foreach>
+                        or
+                        jp.grid_code in
+                        <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                            #{code}
+                        </foreach>
+                        )
                     </when>
                     <otherwise>
                         and jg.grid_code in ('')
@@ -245,9 +272,8 @@
                 </choose>
 
                 <if test="vo.confirmUserId != null ">
-                    and jtrfr.confirm_user_id = #{vo.confirmUserId}
+                    or jtrfr.confirm_user_id = #{vo.confirmUserId}
                 </if>
-
             </if>
         </if>
         ORDER BY jtrfr.create_time DESC
@@ -311,19 +337,7 @@
         <if test="houseCode != null and houseCode != ''">
             and jtrfr.address_code = #{houseCode}
         </if>
-        <if test="isAdministrator==2">
-            <choose>
-                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
-                    and jda.nei_code in
-                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
-                        #{code}
-                    </foreach>
-                </when>
-                <otherwise>
-                    and jda.nei_code in ('')
-                </otherwise>
-            </choose>
-        </if>
+
     </select>
 
 
@@ -332,28 +346,58 @@
         count( 1 )
         FROM
         jczz_task_report_for_repairs jtr
-        LEFT JOIN jczz_doorplate_address jda ON jtr.address_code = jda.address_code
+        LEFT JOIN jczz_house jh ON jh.house_code = jtr.address_code
+        LEFT JOIN jczz_place jp ON jtr.address_code = jp.house_code
         <where>
+            and jtr.is_deleted = 0
+            and jtr.confirm_flag = 1
 
-            <if test="neiCode != null and neiCode != ''">
-                and jda.nei_code = #{neiCode}
-            </if>
-            <if test="userId != null">
-                AND jtr.address_code IN (
+            <if test="userId != null and roleName == 'wgy'" >
+                AND (
+                jp.grid_code IN (
                 SELECT
-                jgr.house_code
+                jg.grid_code
                 FROM
-                jczz_grid_range jgr
-                LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
+                jczz_grid jg
                 LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
                 WHERE
                 jg.is_deleted = 0
-                AND jgm.user_id = #{userId} )
+                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>
-            and jtr.is_deleted = 0
-            and jtr.confirm_flag = 1
-        </where>
 
+            <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>
+        </where>
 
     </select>
 

--
Gitblit v1.9.3