From 8db070c290fb5d176ef372cd9132ab70783e609d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 17 Nov 2023 17:56:04 +0800
Subject: [PATCH] 房屋,租赁导出修改

---
 src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml |   89 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 67 insertions(+), 22 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 f666ffd..65bc733 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -206,29 +206,74 @@
             <include refid="filterHouseGrid"/>
     </select>
 
-
+    <!--导出租赁信息-->
     <select id="export" resultType="org.springblade.modules.house.excel.HouseRentalExcel">
-
-        <include refid="selectHouseRental"/>
-        <where>
-            <if test="id != null "> and id = #{id}</if>
-            <if test="houseCode != null  and houseCode != ''"> and house_code = #{houseCode}</if>
-            <if test="tenantRelationship != null "> and tenant_relationship = #{tenantRelationship}</if>
-            <if test="rentalTime != null "> and rental_time = #{rentalTime}</if>
-            <if test="dueTime != null "> and due_time = #{dueTime}</if>
-            <if test="terminationTime != null "> and termination_time = #{terminationTime}</if>
-            <if test="houseStatus != null "> and house_status = #{houseStatus}</if>
-            <if test="rentalUse != null "> and rental_use = #{rentalUse}</if>
-            <if test="auditStatus != null "> and audit_status = #{auditStatus}</if>
-            <if test="fileUrls != null  and fileUrls != ''"> and file_urls = #{fileUrls}</if>
-            <if test="createUser != null "> and create_user = #{createUser}</if>
-            <if test="createTime != null "> and create_time = #{createTime}</if>
-            <if test="updateUser != null "> and update_user = #{updateUser}</if>
-            <if test="updateTime != null "> and update_time = #{updateTime}</if>
-            <if test="remark != null  and remark != ''"> and remark = #{remark}</if>
-            <if test="isDeleted != null "> and is_deleted = #{isDeleted}</if>
-        </where>
-
+        SELECT
+        jhr.tenant_relationship,jhr.rental_time,jhr.due_time,jhr.house_status,
+        jhr.rental_use,jhr.audit_status,jhr.remark,
+        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
+        when TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )&lt;4 then 3
+        else 2 end as dldType
+        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 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 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 != ''">
+            <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')&gt;= date_format(now(),'%Y-%m-%d')
+            </if>
+            <if test="vo.auditStatus ==20">
+                AND TIMESTAMPDIFF( day, now(), jhr.due_time )&lt;30
+            </if>
+            <if test="vo.auditStatus ==30">
+                AND date_format(jhr.due_time,'%Y-%m-%d')&lt; 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 &lt;= TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )
+                AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )&lt;=8
+            </if>
+            <if test="vo.dldType ==3 ">
+                AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )&lt;4
+            </if>
+        </if>
+        <include refid="filterHouseGrid"/>
     </select>
 
 

--
Gitblit v1.9.3