From 1bf80aaf74322307f0dadd7023b0802b7858b30c Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 07 Nov 2023 15:27:50 +0800
Subject: [PATCH] 查询列表

---
 src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 67 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 55acd6b..11a8af9 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -32,8 +32,29 @@
     </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>
 
     <!--查询房屋出租情况-->
@@ -49,5 +70,49 @@
         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 &lt;= TIMESTAMPDIFF( MONTH, rental_time, due_time )
+                      AND TIMESTAMPDIFF( MONTH, rental_time, due_time )&lt;=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 )&lt;4
+                      AND jhr.is_deleted = 0  and jht.is_deleted = 0
+                    GROUP BY jht.housing_rental_id
+                ) TEMP
+            GROUP BY TEMP.personNum
+    </select>
+
 
 </mapper>

--
Gitblit v1.9.3