From 861e9b1eb145094dff6d1caf3dba30d7ce0e11d7 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Sat, 02 Mar 2024 17:40:38 +0800
Subject: [PATCH] 房屋查询过滤

---
 src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml |  137 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 104 insertions(+), 33 deletions(-)

diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
index ece7291..3170af0 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
@@ -153,7 +153,7 @@
                 and jt.report_type = #{task.reportType}
             </if>
             <if test="task.reportType == null">
-                and jt.report_type in (2,3,4,5,6,7,8)
+                and jt.report_type in ( 5,8)
             </if>
             and jt.is_deleted = 0
             and jt.house_code is not null
@@ -305,49 +305,120 @@
 
     <select id="selectTaskCount" resultType="int" parameterType="org.springblade.modules.task.vo.TaskVO">
         SELECT
-        count( 1 )
+        count(1)
         FROM
         jczz_task jt
-        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jt.house_code
+        LEFT JOIN jczz_place jp ON jt.house_code=jp.house_code and jp.is_deleted = 0
+        LEFT JOIN blade_user bu on bu.id = jt.create_user and bu.is_deleted = 0
+        LEFT JOIN jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
+        LEFT JOIN blade_region br on br.code = jg.community_code
+        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
         <where>
-            <if test="status != null">
-                and jt.status = #{status}
+            <if test="task.roleName != null and task.roleName != ''">
+                <if test="task.roleName=='wgy'">
+                    <if test="isAdministrator==2">
+                        <choose>
+                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                and jp.grid_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jp.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                </if>
+                <if test="task.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>
-            <if test="frequency != null">
-                and jt.frequency = #{frequency}
+            <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}
+                        </foreach>
+                        or
+                        br.village_code in
+                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                            #{code}
+                        </foreach>
+                        )
+                    </when>
+                    <otherwise>
+                        and
+                        (
+                        jg.grid_code in ('') or br.village_code in ('')
+                        )
+                    </otherwise>
+                </choose>
             </if>
-            <if test="type != null">
-                and jt.type = #{type}
+            <if test="task.status != null and task.status != null">
+                and jt.status = #{task.status}
             </if>
-            <!-- 取保候审 -->
-            <if test="reportType != null and reportType == 1 ">
-                and jt.report_type = 1
+            <if test="task.neiCode != null and task.neiCode != null">
+                and jg.community_code = #{task.neiCode}
+            </if>
+            <if test="task.communityCode != null and task.communityCode != null">
+                and jg.community_code = #{task.communityCode}
+            </if>
+            <if test="task.communityName != null and task.communityName != null">
+                and br.name like concat('%', #{task.communityName}, '%')
+            </if>
+            <if test="task.streetCode != null and task.streetCode != null">
+                and br.town_code = #{task.streetCode}
+            </if>
+            <if test="task.realName != null and task.realName != null">
+                and jp.principal like concat('%', #{task.realName}, '%')
+            </if>
+            <if test="task.phone != null and task.phone != null">
+                and bu.phone like concat('%', #{task.phone}, '%')
+            </if>
+            <if test="task.frequency != null and task.frequency != ''">
+                and jt.frequency = #{task.frequency}
+            </if>
+            <if test="task.name != null and task.name != ''">
+                and jt.name like concat('%', #{task.name}, '%')
+            </if>
+            <if test="task.id != null ">and jt.id = #{task.id}</if>
+            <if test="task.type != null ">and jt.type = #{task.type}</if>
+            <if test="task.remark != null  and task.remark != ''">and jt.remark = #{task.remark}</if>
+            <if test="task.createTime != null ">and jt.create_time = #{task.createTime}</if>
+            <if test="task.createUser != null ">and jt.create_user = #{task.createUser}</if>
+            <if test="task.updateTime != null ">and jt.update_time = #{task.updateTime}</if>
+            <if test="task.updateUser != null ">and jt.update_user = #{task.updateUser}</if>
+            <if test="task.isDeleted != null ">and jt.is_deleted = #{task.isDeleted}</if>
+            <if test="task.houseCode != null  and task.houseCode != ''">and jt.house_code = #{task.houseCode}</if>
+            <if test="task.startTime != null and task.startTime != '' and task.endTime != null and task.endTime != '' ">
+                AND jt.create_time BETWEEN #{task.startTime} and #{task.endTime}
             </if>
             <!-- 场所店铺 -->
-            <if test="reportType != null and reportType == 2 ">
-                and jt.report_type in (2,3,4,5,6,7)
+            <if test="task.reportType != null">
+                and jt.report_type = #{task.reportType}
             </if>
-
-            <if test="name != null and name != ''">
-                and jt.name like concat('%', #{name}, '%')
+            <if test="task.reportType == null">
+                and jt.report_type in (5,8)
             </if>
-            <if test="neiCode != null and neiCode != ''">
-                and jda.nei_code = #{neiCode}
-            </if>
-            <if test="userId != null">
-                AND jt.house_code IN (
-                SELECT
-                jgr.house_code
-                FROM
-                jczz_grid_range jgr
-                LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
-                LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
-                WHERE
-                jg.is_deleted = 0
-                AND jgm.user_id = #{userId} )
-            </if>
+            and jt.is_deleted = 0
+            and jt.house_code is not null
         </where>
-        order by jt.create_time desc
     </select>
 
 

--
Gitblit v1.9.3