From ad2ec97fe0c60eee4bb7c8cdacff7c876f280ea7 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 08 Jan 2024 11:30:18 +0800
Subject: [PATCH] 公安安全监管
---
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml | 166 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 98 insertions(+), 68 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 a52d157..604cc44 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -25,8 +25,8 @@
<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">
+ <collection property="householdVOList" javaType="java.util.List"
+ ofType="org.springblade.modules.house.vo.HouseholdVO" autoMapping="true">
<id property="id" column="tenantId"/>
</collection>
</resultMap>
@@ -58,23 +58,27 @@
<select id="selectHouseRentalPage" resultType="org.springblade.modules.house.vo.HouseRentalTenantVO">
SELECT jhr.*,jda.address_name 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
+ 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
+ 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
LEFT JOIN (
- SELECT jht.housing_rental_id,jht.name as tenantName,jht.phone
- FROM jczz_house_tenant jht RIGHT 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_house_tenant
+ 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
+ ) 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 and vo.auditStatus != ''">
@@ -89,6 +93,7 @@
</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')
@@ -108,7 +113,7 @@
</if>
<if test="vo.dldType != null">
<if test="vo.dldType ==1 ">
- AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )>= 8
+ 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 )
@@ -118,6 +123,12 @@
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.regionCode!=null and vo.regionCode!=''">
+ and jg.community_code like concat('%',#{vo.regionCode},'%')
+ </if>
<include refid="filterHouseGrid"/>
</select>
@@ -126,12 +137,13 @@
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.*
+ 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
+ left join jczz_household 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}
+ and jhr.house_code = #{code}
</select>
<sql id="filterHouseGrid">
@@ -153,54 +165,58 @@
</sql>
<select id="getStatistics" resultType="org.springblade.modules.house.vo.HouseRentalStatistics">
- SELECT
- '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"/>
+ SELECT
+ '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_household
+ where is_deleted = 0 and housing_rental_id is not null
+ 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
+ UNION ALL
- 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"/>
+ 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_household
+ where is_deleted = 0 and housing_rental_id is not null
+ 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
+ UNION ALL
- 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 ">
+ 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_household
+ where is_deleted = 0 and housing_rental_id is not null
+ 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"/>
@@ -220,11 +236,11 @@
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 (
- SELECT jht.housing_rental_id,jht.name as tenantName,jht.phone
- FROM jczz_house_tenant jht RIGHT JOIN (
+ SELECT jht.housing_rental_id,jht.name as tenantName,jht.phoneNumber phone
+ FROM jczz_household jht RIGHT JOIN (
SELECT MAX(ID) as id,housing_rental_id
- FROM jczz_house_tenant
- WHERE is_deleted = 0
+ FROM jczz_household
+ WHERE is_deleted = 0 and house_rental_id is not null
<if test="vo.tenantName != null and vo.tenantName != ''">
AND name LIKE CONCAT('%',#{vo.tenantName},'%')
</if>
@@ -279,16 +295,30 @@
<select id="getStatisticsCount" resultType="java.lang.Integer">
SELECT
- count(1)
+ count( 1 )
FROM
- jczz_grid_range jgr
+ 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}
+ </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
- LEFT JOIN jczz_house_rental jhr on jhr.house_code=jgr.house_code
- WHERE
- jg.is_deleted = 0
- and jhr.audit_status = 0
- AND jgm.user_id = #{userId}
+ LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
+ WHERE
+ jg.is_deleted = 0
+ AND jgm.user_id = #{userId} )
+ </if>
+ and jhr.is_deleted = 0
+ and jhr.audit_status = 0
+ </where>
+
</select>
--
Gitblit v1.9.3