From 016e47ea961d84a186db0bbd45cd6d7eaaa57bc3 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 26 Jan 2024 16:30:20 +0800
Subject: [PATCH] 文章添加小区id 字段

---
 src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml |   62 ++++++++++++++++++++++++------
 1 files changed, 49 insertions(+), 13 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 7fdab1b..32bbdde 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -174,11 +174,12 @@
         <if test="vo.confirmFlag != null">
             AND jtrfr.confirm_flag = #{vo.confirmFlag}
         </if>
-        <if test="vo.confirmUserId != null">
-            AND jtrfr.confirm_user_id = #{vo.confirmUserId}
-        </if>
+
         <if test="vo.status != null">
             AND jtrfr.status = #{vo.status}
+        </if>
+        <if test="vo.addressCode != null">
+            AND jtrfr.address_code = #{vo.addressCode}
         </if>
         <if test="vo.viewType != null">
             AND jtrfr.view_type = #{vo.viewType}
@@ -186,24 +187,41 @@
         <if test="vo.startTime != null and vo.startTime != '' and vo.endTime != null and vo.endTime != '' ">
             AND jtrfr.create_time BETWEEN #{vo.startTime} and #{vo.endTime}
         </if>
-        <if test="vo.regionCode != null and vo.regionCode !='' ">
-            and jg.community_code like concat('%',#{vo.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>
+            </choose>
         </if>
         <if test="vo.roleName!=null and vo.roleName!=''">
             <if test="vo.roleName=='网格员'">
                 <choose>
                     <when test="list != null and list.size()>0">
-                        and jda.address_code in
-                        <foreach collection="list" item="houseCode" separator ="," open="("  close=")">
+                        and (jda.address_code in
+                        <foreach collection="list" item="houseCode" separator="," open="(" close=")">
                             #{houseCode}
                         </foreach>
+                        or jtrfr.confirm_user_id = #{vo.confirmUserId})
                     </when>
                     <otherwise>
-                        and jda.address_code in ('')
+                        and (jda.address_code in ('')
+                        or jtrfr.confirm_user_id = #{vo.confirmUserId})
                     </otherwise>
                 </choose>
             </if>
         </if>
+
+        <if test="aoiCodeList!=null and aoiCodeList.size()>0">
+            and jda.aoi_code in
+            <foreach collection="aoiCodeList" item="item" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+
         ORDER BY jtrfr.create_time DESC
     </select>
 
@@ -245,7 +263,7 @@
             jczz_doorplate_address jda
             LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
             WHERE
-            jc.res_police_user_id = #{userId})
+            jc.res_police_user_id like concat('%',#{userId},'%'))
             )
         </if>
     </select>
@@ -253,12 +271,30 @@
 
     <select id="getStatisticsCount" resultType="org.springblade.modules.task.vo.TaskReportStatistics">
         SELECT
-        COUNT( 1 ) AS total,
-        ifnull(SUM( CASE WHEN STATUS = 10 THEN 1 ELSE 0 END ),0) AS handle
-        FROM jczz_task_report_for_repairs
+        count( 1 ) AS total,
+        ifnull( sum( CASE WHEN STATUS = 10 THEN 1 ELSE 0 END ), 0 ) AS handle
+        FROM
+        jczz_task_report_for_repairs jtrfr
+        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jtrfr.address_code
         WHERE is_deleted = 0
         <if test="userId != null">
-            and create_user = #{userId}
+            and jtrfr.create_user = #{userId}
+        </if>
+        <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>
 

--
Gitblit v1.9.3