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/house/mapper/HouseRentalMapper.xml |   76 +++++++++++++++++++++++++++++++------
 1 files changed, 63 insertions(+), 13 deletions(-)

diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
index ca1a811..0b9d91c 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -188,7 +188,9 @@
         <if test="vo.startTime != null and vo.startTime != '' and vo.endTime != null and vo.endTime != '' ">
             AND jhr.create_time BETWEEN #{vo.startTime} and #{vo.endTime}
         </if>
+
         <include refid="filterData"/>
+
         order by jhr.create_time desc,jhr.id desc
     </select>
 
@@ -359,21 +361,69 @@
         FROM
         jczz_house_rental jhr
         LEFT JOIN jczz_doorplate_address jda ON jhr.house_code = jda.address_code
+        LEFT JOIN jczz_house jh ON jh.house_code = jhr.house_code
+        AND jh.is_deleted = 0
+        LEFT JOIN jczz_grid jg ON jg.grid_code = jh.grid_code
+        AND jg.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag ON jh.jw_grid_code = jpag.jw_grid_code
+        AND jpag.is_deleted = 0
         <where>
-            <if test="neiCode != null and neiCode != ''">
-                and jda.nei_code = #{neiCode}
+            <if test="house.neiCode != null and house.neiCode != ''">
+                and jda.nei_code = #{house.neiCode}
             </if>
-            <if test="userId != null">
-                AND jhr.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 test="isAdministrator==2">
+                <choose>
+                    <when test="house.roleName != null and house.roleName != ''">
+                        <if test="house.roleName=='wgy'">
+                            <choose>
+                                <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                    and jh.grid_code in
+                                    <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                        #{code}
+                                    </foreach>
+                                </when>
+                                <otherwise>
+                                    and jh.grid_code in ('')
+                                </otherwise>
+                            </choose>
+                        </if>
+                        <if test="house.roleName=='mj'">
+                            <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>
+                    </when>
+                    <otherwise>
+                        <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
+                                jpag.community_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                                )
+                            </when>
+                            <otherwise>
+
+                            </otherwise>
+                        </choose>
+                    </otherwise>
+                </choose>
             </if>
             and jhr.is_deleted = 0
             and jhr.audit_status = 0

--
Gitblit v1.9.3