From f2a081018c58042c642db2e59203de9ab9412c83 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Sat, 23 Mar 2024 16:29:24 +0800
Subject: [PATCH] 统计查询调整+议题附件

---
 src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml |  137 ++++++++++++++++++++++-----------------------
 1 files changed, 68 insertions(+), 69 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 b8cd4fc..9251d39 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -367,77 +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
-        LEFT 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>
-            <if test="house.neiCode != null and house.neiCode != ''">
-                and jda.nei_code = #{house.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="isAdministrator==2">
-                <choose>
-                    <when test="house.roleName != null and house.roleName != ''">
-                        <if test="house.roleName=='wgy'">
-                            <choose>
-                                <when test="gridCodeList !=null and gridCodeList.size()>0">
-                                    and jh.grid_code in
-                                    <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
-                                        #{code}
-                                    </foreach>
-                                </when>
-                                <otherwise>
-                                    and jh.grid_code in ('')
-                                </otherwise>
-                            </choose>
-                        </if>
-                        <if test="house.roleName=='mj'">
-                            <choose>
-                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
-                                    and jpag.community_code in
-                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")"
-                                             separator=",">
-                                        #{code}
-                                    </foreach>
-                                </when>
-                                <otherwise>
-                                    and jpag.community_code in ('')
-                                </otherwise>
-                            </choose>
-                        </if>
-                    </when>
-                    <otherwise>
-                        <choose>
-                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
-                                and
-                                (
-                                jg.grid_code in
-                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
-                                    #{code}
-                                </foreach>
-                                or
-                                jpag.community_code in
-                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
-                                    #{code}
-                                </foreach>
-                                )
-                            </when>
-                            <otherwise>
+            <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
+                AND TIMESTAMPDIFF( day, now(), jhr.due_time )&gt;= 0
+            </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 )&gt;= 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>
+        <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>
 
-                            </otherwise>
-                        </choose>
-                    </otherwise>
-                </choose>
-            </if>
-            and jhr.is_deleted = 0
-            and jhr.audit_status = 0
-        </where>
+        <if test="vo.communityCode != null and vo.communityCode != ''">
+            AND jpag.community_code = #{vo.communityCode}
+        </if>
+
+        <include refid="filterData"/>
 
     </select>
 

--
Gitblit v1.9.3