From 8d8c7da4e91028fc877f101dcd244bef3e18c197 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Sun, 12 Nov 2023 07:34:21 +0800
Subject: [PATCH] 标签报事+通知公告
---
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml | 156 +++++++++++++++++++++++++++++++++++----------------
1 files changed, 107 insertions(+), 49 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 11a8af9..93129d7 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -31,30 +31,60 @@
</collection>
</resultMap>
-
+ <!--自定义列表查询-->
<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
+ 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 test="vo.auditStatus != null and vo.auditStatus != ''">
+ <if test="vo.auditStatus ==1">
+ AND jhr.audit_status = 1
+ </if>
+ <if test="vo.auditStatus ==2">
+ AND jhr.audit_status = 0
+ </if>
+ <if test="vo.auditStatus ==10">
+ AND date_format(jhr.due_time,'%Y-%m-%d')>= date_format(now(),'%Y-%m-%d')
+ </if>
+ <if test="vo.auditStatus ==20">
+ AND TIMESTAMPDIFF( day, now(), jhr.due_time )<30
+ </if>
+ <if test="vo.auditStatus ==30">
+ AND date_format(jhr.due_time,'%Y-%m-%d')< date_format(now(),'%Y-%m-%d')
+ </if>
</if>
<if test="vo.tenantName != null and vo.tenantName != ''">
AND b.tenantName LIKE CONCAT('%',#{vo.tenantName},'%')
</if>
+ <if test="vo.tenantName != null and vo.tenantName != ''">
+ AND b.tenantName LIKE CONCAT('%',#{vo.tenantName},'%')
+ </if>
+ <if test="vo.dldType != null">
+ <if test="vo.dldType ==1 ">
+ AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )>= 8
+ </if>
+ <if test="vo.dldType ==2 ">
+ AND 4 <= TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )
+ AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )<=8
+ </if>
+ <if test="vo.dldType ==3 ">
+ AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )<4
+ </if>
+ </if>
+ <include refid="filterHouseGrid"/>
</select>
<!--查询房屋出租情况-->
@@ -70,48 +100,76 @@
and house_code = #{code}
</select>
+ <sql id="filterHouseGrid">
+ <if test="vo.roleName!=null and vo.roleName!=''">
+ <if test="vo.roleName=='网格员'">
+ <choose>
+ <when test="list != null and list.size()>0">
+ and jda.address_code in
+ <foreach collection="list" item="houseCode" separator ="," open="(" close=")">
+ #{houseCode}
+ </foreach>
+ </when>
+ <otherwise>
+ and jda.address_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ </if>
+ </sql>
+
<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
+ 'longTerm' as term,count(1) total,ifnull(sum(num),0) as personNum
+ FROM jczz_house_rental jhr
+ LEFT JOIN
+ (
+ select housing_rental_id,count(*) num from jczz_house_tenant
+ where is_deleted = 0
+ 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
+ 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"/>
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
+ SELECT 'middleTerm' AS term,count(1) total,ifnull(sum(num),0) as personNum
+ FROM jczz_house_rental jhr
+ LEFT JOIN
+ (
+ select housing_rental_id,count(*) num from jczz_house_tenant where is_deleted = 0 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
+ 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"/>
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 'shortTerm' AS term,count(1) total,ifnull(sum(num),0) as personNum
+ FROM jczz_house_rental jhr
+ LEFT JOIN
+ (
+ select housing_rental_id,count(*) num from jczz_house_tenant where is_deleted = 0 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
+ 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"/>
</select>
--
Gitblit v1.9.3