From 876ce063e5026dc934667dedfb0b658a22b9c43d Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 21 Feb 2024 16:52:35 +0800
Subject: [PATCH] 报事报修物业人员查询优化

---
 src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml |   56 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 40 insertions(+), 16 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 7e42e37..65b29b2 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -208,24 +208,48 @@
             AND jtrfr.create_time BETWEEN #{vo.startTime} and #{vo.endTime}
         </if>
         <if test="isAdministrator==2">
-            <choose>
-                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
-                    and jg.grid_code in
-                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
-                        #{code}
+            <!-- 物业和居民 -->
+            <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
+                    <foreach collection="aoiCodeList" item="item" separator="," open="(" close=")">
+                        #{item}
                     </foreach>
-                </when>
-            </choose>
+                </if>
+
+                <if test="vo.roleType == 'wy' and vo.confirmUserId != null ">
+                    and 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
+                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                            #{code}
+                        </foreach>
+                    </when>
+                </choose>
+
+                <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 test="vo.confirmUserId != null ">
+                    and jtrfr.confirm_user_id = #{vo.confirmUserId}
+                </if>
+
+            </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>
 

--
Gitblit v1.9.3