From 365b5ad817c9c8a2992d505aa39eccfa2be0460e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Thu, 09 Nov 2023 09:39:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml | 91 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 89 insertions(+), 2 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 8d13bea..11a8af9 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -22,9 +22,96 @@
<result column="is_deleted" property="isDeleted"/>
</resultMap>
+ <resultMap id="houseRentalTenant" type="org.springblade.modules.house.vo.HouseRentalVO"
+ autoMapping="true">
+ <id property="id" column="id"/>
+ <collection property="houseTenantVOList" javaType="java.util.List"
+ ofType="org.springblade.modules.house.vo.HouseTenantVO" autoMapping="true">
+ <id property="id" column="tenantId"/>
+ </collection>
+ </resultMap>
- <select id="selectHouseRentalPage" resultMap="houseRentalResultMap">
- select * from jczz_house_rental where is_deleted = 0
+
+ <select id="selectHouseRentalPage" resultType="org.springblade.modules.house.vo.HouseRentalTenantVO">
+ SELECT jhr.*,jda.address_name as houseName,b.tenantName,b.phone
+ FROM jczz_house_rental jhr
+ LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jhr.house_code
+ LEFT JOIN (
+ SELECT jht.housing_rental_id,jht.name as tenantName,jht.phone
+ FROM jczz_house_tenant jht RIGHT JOIN (
+ SELECT MAX(ID) as id,housing_rental_id
+ FROM jczz_house_tenant
+ WHERE is_deleted = 0
+ <if test="vo.tenantName != null and vo.tenantName != ''">
+ AND name LIKE CONCAT('%',#{vo.tenantName},'%')
+ </if>
+ GROUP BY housing_rental_id
+ ) a ON a.id = jht.id
+ ) b ON b.housing_rental_id = jhr.id
+ WHERE jhr.is_deleted = 0
+ <if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
+ AND jhr.audit_status = #{vo.auditStatus}
+ </if>
+ <if test="vo.tenantName != null and vo.tenantName != ''">
+ AND b.tenantName LIKE CONCAT('%',#{vo.tenantName},'%')
+ </if>
+ </select>
+
+ <!--查询房屋出租情况-->
+ <select id="getHouseRentalListByCode" resultMap="houseRentalTenant">
+ select
+ jhr.*,
+ if(termination_time is null,if(date_format(jhr.due_time,'%Y-%m-%d') >= date_format(now(),'%Y-%m-%d'),0,1),2) as status,
+ jht.id as tenantId,jht.*
+ from jczz_house_rental jhr
+ left join jczz_house_tenant jht on jhr.id = jht.housing_rental_id and jht.is_deleted = 0
+ where 1 = 1
+ and jhr.is_deleted = 0
+ and house_code = #{code}
+ </select>
+
+ <select id="getStatistics" resultType="org.springblade.modules.house.vo.HouseRentalStatistics">
+ SELECT
+ 'longTerm' AS term,COUNT( 1 ) total,temp.personNum
+ FROM(
+ SELECT COUNT( 1 ) personNum
+ FROM jczz_house_rental jhr
+ LEFT JOIN jczz_house_tenant jht ON jht.housing_rental_id = jhr.id
+ WHERE
+ TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )>= 8
+ AND jhr.is_deleted = 0 and jht.is_deleted = 0
+ GROUP BY jht.housing_rental_id
+ ) TEMP
+ GROUP BY TEMP.personNum
+
+ UNION ALL
+
+ SELECT 'middleTerm' AS term,COUNT( 1 ) total, temp.personNum
+ FROM(
+ SELECT COUNT( 1 ) personNum
+ FROM jczz_house_rental jhr
+ LEFT JOIN jczz_house_tenant jht ON jht.housing_rental_id = jhr.id
+ WHERE
+ 4 <= TIMESTAMPDIFF( MONTH, rental_time, due_time )
+ AND TIMESTAMPDIFF( MONTH, rental_time, due_time )<=8
+ AND jhr.is_deleted = 0 and jht.is_deleted = 0
+ GROUP BY jht.housing_rental_id
+ ) TEMP
+ GROUP BY TEMP.personNum
+
+ UNION ALL
+
+ SELECT 'shortTerm' AS term,COUNT( 1 ) total,temp.personNum
+ FROM(
+ SELECT COUNT( 1 ) personNum
+ FROM jczz_house_rental jhr
+ LEFT JOIN jczz_house_tenant jht ON jht.housing_rental_id = jhr.id
+ WHERE
+ TIMESTAMPDIFF( MONTH, rental_time, due_time )<4
+ AND jhr.is_deleted = 0 and jht.is_deleted = 0
+ GROUP BY jht.housing_rental_id
+ ) TEMP
+ GROUP BY TEMP.personNum
</select>
--
Gitblit v1.9.3