linwe
2023-11-11 a1d8ea1a72cddf7651742b87f042602ab006c879
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -81,6 +81,7 @@
                AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )<4
            </if>
        </if>
        <include refid="filterHouseGrid"/>
    </select>
    <!--查询房屋出租情况-->
@@ -96,20 +97,42 @@
        and house_code = #{code}
    </select>
    <sql id="filterHouseGrid">
        <if test="vo.roleName!=null and vo.roleName!=''">
            <if test="vo.roleName=='网格员'">
                <choose>
                    <when test="list != null and list.size()>0">
                        and jda.address_code in
                        <foreach collection="list" item="houseCode" separator ="," open="("  close=")">
                            #{houseCode}
                        </foreach>
                    </when>
                    <otherwise>
                        and jda.address_code in ('')
                    </otherwise>
                </choose>
            </if>
        </if>
    </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
                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"/>
            UNION ALL
@@ -120,11 +143,13 @@
            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 &lt;= TIMESTAMPDIFF( MONTH, rental_time, due_time ) AND TIMESTAMPDIFF( MONTH, rental_time, due_time )&lt;=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
@@ -135,11 +160,13 @@
            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 )&lt;4
            <if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
                AND jhr.audit_status  = #{vo.auditStatus}
            </if>
            <include refid="filterHouseGrid"/>
    </select>