linwei
2024-01-08 ad2ec97fe0c60eee4bb7c8cdacff7c876f280ea7
src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -58,13 +58,15 @@
    <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 )&gt;= 8 then 1
             when TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )&lt;4 then 3
             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_number as phone
            FROM jczz_household jht RIGHT JOIN (
@@ -91,6 +93,7 @@
            </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')
@@ -110,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 )&gt;= 8
            </if>
            <if test="vo.dldType ==2 ">
                AND  4 &lt;= TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )
@@ -119,6 +122,12 @@
            <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>
        <if test="vo.regionCode!=null and vo.regionCode!=''">
            and jg.community_code like concat('%',#{vo.regionCode},'%')
        </if>
        <include refid="filterHouseGrid"/>
    </select>
@@ -286,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>