From c10d6358b9f014375a13821465bc978d0c0da22e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 29 May 2024 17:17:08 +0800
Subject: [PATCH] 通过E呼即办数据统计
---
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml | 119 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 89 insertions(+), 30 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..9251d39 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -104,7 +104,7 @@
<otherwise>
and
(
- jg.grid_code in ('') or jpag.community_code in in ('')
+ jg.grid_code in ('') or jpag.community_code in ('')
)
</otherwise>
</choose>
@@ -188,7 +188,13 @@
<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="vo.communityCode != null and vo.communityCode != ''">
+ AND jpag.community_code = #{vo.communityCode}
+ </if>
+
<include refid="filterData"/>
+
order by jhr.create_time desc,jhr.id desc
</select>
@@ -235,13 +241,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
@@ -254,13 +262,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
@@ -273,13 +283,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>
<!--导出租赁信息-->
@@ -355,29 +367,76 @@
<select id="getStatisticsCount" resultType="java.lang.Integer">
SELECT
- count( 1 )
- FROM
- jczz_house_rental jhr
- LEFT JOIN jczz_doorplate_address jda ON jhr.house_code = jda.address_code
- <where>
- <if test="neiCode != null and neiCode != ''">
- and jda.nei_code = #{neiCode}
+ count(1)
+ FROM jczz_house_rental jhr
+ 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 (
+ SELECT MAX(ID) as id,housing_rental_id
+ FROM jczz_household
+ WHERE is_deleted = 0
+ <if test="vo.tenantName != null and vo.tenantName != ''">
+ AND name LIKE CONCAT('%',#{vo.tenantName},'%')
+ </if>
+ and housing_rental_id is not null
+ GROUP BY housing_rental_id
+ ) a ON a.id = jht.id and a.housing_rental_id is not null
+ ) b ON b.housing_rental_id = jhr.id
+ WHERE jhr.is_deleted = 0
+ <if test="vo.auditStatus != null">
+ <if test="vo.auditStatus ==1">
+ AND jhr.audit_status = 1
</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="vo.auditStatus ==2">
+ AND jhr.audit_status = 0
</if>
- and jhr.is_deleted = 0
- and jhr.audit_status = 0
- </where>
+ <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
+ AND TIMESTAMPDIFF( day, now(), jhr.due_time )>= 0
+ </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.tenantRelationship != null">
+ AND jhr.tenant_relationship = #{vo.tenantRelationship}
+ </if>
+ <if test="vo.houseStatus != null">
+ AND jhr.house_status = #{vo.houseStatus}
+ </if>
+ <if test="vo.rentalUse != null">
+ AND jhr.rental_use = #{vo.rentalUse}
+ </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>
+ <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="vo.communityCode != null and vo.communityCode != ''">
+ AND jpag.community_code = #{vo.communityCode}
+ </if>
+
+ <include refid="filterData"/>
</select>
--
Gitblit v1.9.3