From 70a29ae28b85643e00a4b7fbf111a95646a24dc2 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Wed, 20 Mar 2024 17:20:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml | 185 ++++++++++++++++++++++++++++++++++++----------
1 files changed, 145 insertions(+), 40 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 4e624b9..3fedb27 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -54,19 +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 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="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 ('')
+ )
+ </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 )>= 8 then 1
when TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )<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
- LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
- LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
+ 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 (
@@ -126,20 +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>
- <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>
@@ -186,13 +237,15 @@
GROUP BY housing_rental_id
) jht
ON jht.housing_rental_id = jhr.id
- LEFT 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
WHERE jhr.is_deleted = 0
AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )>= 8
<if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
AND jhr.audit_status = #{vo.auditStatus}
</if>
- <include refid="filterHouseGrid"/>
+ <include refid="filterData"/>
UNION ALL
@@ -205,13 +258,15 @@
GROUP BY housing_rental_id
) jht
ON jht.housing_rental_id = jhr.id
- LEFT 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
WHERE jhr.is_deleted = 0
AND 4 <= TIMESTAMPDIFF( MONTH, rental_time, due_time ) AND TIMESTAMPDIFF( MONTH, rental_time, due_time )<=8
<if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
AND jhr.audit_status = #{vo.auditStatus}
</if>
- <include refid="filterHouseGrid"/>
+ <include refid="filterData"/>
UNION ALL
@@ -224,13 +279,15 @@
GROUP BY housing_rental_id
) jht
ON jht.housing_rental_id = jhr.id
- LEFT 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
WHERE jhr.is_deleted = 0
AND TIMESTAMPDIFF( MONTH, rental_time, due_time )<4
<if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
- AND jhr.audit_status = #{vo.auditStatus}
- </if>
- <include refid="filterHouseGrid"/>
+ AND jhr.audit_status = #{vo.auditStatus}
+ </if>
+ <include refid="filterData"/>
</select>
<!--导出租赁信息-->
@@ -310,21 +367,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