From 19dd4271eeffa8ae57b8529f8b5e327fbf1b8d97 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 20 Feb 2024 15:45:11 +0800
Subject: [PATCH] 出租屋查询先调整

---
 src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml |   82 +++++++++++++++++++++++++++++++++--------
 1 files changed, 66 insertions(+), 16 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 efbea42..2d1abd6 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -54,18 +54,81 @@
             jczz_house_rental
     </sql>
 
+    <sql id="filterData">
+        <if test="isAdministrator==2">
+            <choose>
+                <when test="vo.roleName != null and vo.roleName != ''">
+                    <if test="vo.roleName=='wgy'">
+                        <choose>
+                            <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                and jp.grid_code in
+                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jp.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                    <if test="vo.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>
+                            and
+                            (
+                            jg.grid_code in ('') or jpag.community_code in in ('')
+                            )
+                        </otherwise>
+                    </choose>
+                </otherwise>
+            </choose>
+        </if>
+    </sql>
+
     <!--自定义列表查询-->
     <select id="selectHouseRentalPage" resultType="org.springblade.modules.house.vo.HouseRentalTenantVO">
-        SELECT jhr.*,jda.address_name as houseName,b.tenantName,b.phone,
+        SELECT
+        jhr.*,
+        jh.address as houseName,
+        b.tenantName,
+        b.phone,
         concat(jh.district_name," ",jh.building," ",unit," ",room) as address,
         case when TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )&gt;= 8 then 1
              when TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )&lt;4 then 3
              else 2 end as dldType,
         if(jhr.termination_time is null,if(date_format(jhr.due_time,'%Y-%m-%d') >= date_format(now(),'%Y-%m-%d'),0,1),2) as status
         FROM jczz_house_rental jhr
-        JOIN jczz_doorplate_address jda ON jda.address_code = jhr.house_code
         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
         LEFT JOIN (
             SELECT jht.housing_rental_id,jht.name as tenantName,jht.phone_number as phone
             FROM jczz_household jht RIGHT JOIN (
@@ -125,20 +188,7 @@
         <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>
-        <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>
-                <otherwise>
-                    and jg.community_code in ('')
-                </otherwise>
-            </choose>
-        </if>
-        <include refid="filterHouseGrid"/>
+        <include refid="filterData"/>
         order by jhr.create_time desc,jhr.id desc
     </select>
 

--
Gitblit v1.9.3