zhongrj
2023-11-17 8db070c290fb5d176ef372cd9132ab70783e609d
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>