wuxw
2025-01-04 a2d2caf2ffc1d79694d813b6cf5225a4c1c67e41
java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="reportFeeStatisticsServiceDaoImpl">
@@ -16,7 +15,7 @@
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
            and t.obj_fpc_id = #{floorId}
        </if>
        <if test="configId != null and configId != ''">
            and t.config_id = #{configId}
@@ -37,12 +36,16 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="communityId != null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startDate != null and startDate != ''">
            and t.cur_month_time &lt; #{startDate}
        </if>
        and t.status_cd = '0'
        and t.detail_id = '-1'
        and t.community_id= #{communityId}
        and t.cur_month_time &lt; #{startDate}
    </select>
    <!-- 查询单月欠费 -->
@@ -57,7 +60,7 @@
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
            and t.obj_fpc_id = #{floorId}
        </if>
        <if test="configId != null and configId != ''">
            and t.config_id = #{configId}
@@ -78,13 +81,19 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="communityId != null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startDate != null and startDate != ''">
            and t.cur_month_time &gt;= #{startDate}
        </if>
        <if test="endDate != null and endDate != ''">
            and t.cur_month_time &lt;= #{endDate}
        </if>
        and t.status_cd = '0'
        and t.detail_id = '-1'
        and t.community_id= #{communityId}
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
    </select>
    <select id="getOweFee" parameterType="Map" resultType="Map">
@@ -98,7 +107,7 @@
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
            and t.obj_fpc_id = #{floorId}
        </if>
        <if test="configId != null and configId != ''">
            and t.config_id = #{configId}
@@ -119,7 +128,7 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        and t.status_cd = '0'
        and t.detail_id = '-1'
@@ -136,10 +145,11 @@
            LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
            left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        </if>
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
            and t.obj_fpc_id = #{floorId}
        </if>
        <if test="configId != null and configId != ''">
            and t.config_id = #{configId}
@@ -160,12 +170,18 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="communityId != null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startDate != null and startDate != ''">
            and t.cur_month_time &gt;= #{startDate}
        </if>
        <if test="endDate != null and endDate != ''">
            and t.cur_month_time &lt;= #{endDate}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
    </select>
    <!-- 查询欠费追回 -->
@@ -180,7 +196,7 @@
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
            and t.obj_fpc_id = #{floorId}
        </if>
        <if test="configId != null and configId != ''">
            and t.config_id = #{configId}
@@ -201,13 +217,21 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="communityId != null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startDate != null and startDate != ''">
            and t.pay_fee_time &gt;= #{startDate}
        </if>
        <if test="endDate != null and endDate != ''">
            and t.pay_fee_time &lt;= #{endDate}
        </if>
        <if test="startDate != null and startDate != ''">
            and t.cur_month_time &lt; #{startDate}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.pay_fee_time &gt; #{startDate}
        and t.pay_fee_time &lt; #{endDate}
        and t.cur_month_time &lt; #{startDate}
    </select>
    <!-- 查询 预交费用 -->
@@ -222,7 +246,7 @@
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
            and t.obj_fpc_id = #{floorId}
        </if>
        <if test="configId != null and configId != ''">
            and t.config_id = #{configId}
@@ -243,13 +267,21 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="communityId != null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startDate != null and startDate != ''">
            and t.pay_fee_time &gt; #{startDate}
        </if>
        <if test="endDate != null and endDate != ''">
            and t.pay_fee_time &lt; #{endDate}
        </if>
        <if test="endDate != null and endDate != ''">
            and t.cur_month_time &gt;= #{endDate}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.pay_fee_time &gt; #{startDate}
        and t.pay_fee_time &lt; #{endDate}
        and t.cur_month_time &gt;= #{endDate}
    </select>
    <!-- 查询实收费用 -->
@@ -264,8 +296,7 @@
            LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
            left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        </if>
        where
        1=1
        where 1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
@@ -290,25 +321,34 @@
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="communityId != null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startDate != null and startDate != ''">
            and t.create_time &gt; #{startDate}
        </if>
        <if test="endDate != null and endDate != ''">
            and t.create_time &lt; #{endDate}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
    </select>
    <!-- 查询欠费户数 -->
    <select id="getOweRoomCount" parameterType="Map" resultType="Map">
        select count(1) oweRoomCount
        from (
        select a.room_id
        from building_room a
        left join pay_fee_detail_month t on t.obj_id = a.room_id
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
        select t.payer_obj_id
        from report_owe_fee t
        inner join building_room br on t.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        <if test="feeTypeCd != null and feeTypeCd != ''">
            left join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        </if>
        where 1=1
        and t.payer_obj_type = '3333'
        and t.community_id= #{communityId}
        and t.end_time &lt; #{endDate}
        and t.amount_owed != 0
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
@@ -316,13 +356,13 @@
            and t.config_id = #{configId}
        </if>
        <if test="objName != null and objName != ''">
            and t.obj_name like concat('%',#{objName},'%')
            and t.payer_obj_name like concat('%',#{objName},'%')
        </if>
        <if test="ownerName != null and ownerName != ''">
            and t.owner_name like concat('%',#{ownerName},'%')
        </if>
        <if test="link != null and link != ''">
            and t.link = #{link}
            and t.owner_tel = #{link}
        </if>
        <if test="configIds !=null ">
            and t.config_id in
@@ -331,14 +371,9 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        and a.status_cd = '0'
        and pf.payer_obj_type = '3333'
        and t.community_id= #{communityId}
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id = '-1'
        group by a.room_id
        group by t.payer_obj_id
        ) a
    </select>
@@ -346,116 +381,22 @@
    <select id="getFeeRoomCount" parameterType="Map" resultType="Map">
        select count(1) feeRoomCount
        from (
        select a.room_id
        from building_room a
        left join pay_fee_detail_month t on t.obj_id = a.room_id
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
        select t.room_id
        from building_room t
        left join building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join pay_fee pf on pf.payer_obj_id = t.room_id and pf.payer_obj_type = '3333' and pf.status_cd = '0' and pf.state = '2008001'
        <if test="feeTypeCd != null and feeTypeCd != ''">
            left join pay_fee_config pfc on pf.config_id = pfc.config_id and pfc.status_cd = '0'
        </if>
        where 1=1
        where
        1=1
        and t.community_id=  #{communityId}
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        <if test="configId != null and configId != ''">
            and t.config_id = #{configId}
            and pf.config_id = #{configId}
        </if>
        <if test="objName != null and objName != ''">
            and t.obj_name like concat('%',#{objName},'%')
        </if>
        <if test="ownerName != null and ownerName != ''">
            and t.owner_name like concat('%',#{ownerName},'%')
        </if>
        <if test="link != null and link != ''">
            and t.link = #{link}
        </if>
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        and a.status_cd = '0'
        and pf.payer_obj_type = '3333'
        and t.community_id= #{communityId}
        and t.cur_month_time &lt; #{endDate}
        group by a.room_id
        ) a
    </select>
    <select id="getFloorFeeSummary" parameterType="Map" resultType="Map">
        select a.floor_id floorId,a.floor_num floorNum,a.name floorName,
        (
        select count(1) from (
        select bu.floor_id,a.room_id
        from building_room a
        left join pay_fee_detail_month t on t.obj_id = a.room_id
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and a.status_cd = '0'
        and pf.payer_obj_type = '3333'
        and t.community_id= a.community_id
        and t.cur_month_time &lt; #{endDate}
        and detail_id = '-1'
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        group by bu.floor_id,t.obj_id
        ) b
        where b.floor_id = a.floor_id
        ) oweRoomCount,
        (
        select count(1) from (
        select bu.floor_id,a.room_id
        from building_room a
        left join pay_fee_detail_month t on t.obj_id = a.room_id
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and a.status_cd = '0'
        and pf.payer_obj_type = '3333'
        and t.community_id= a.community_id
        and t.cur_month_time &lt; #{endDate}
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        group by bu.floor_id,t.obj_id
        ) b
        where b.floor_id = a.floor_id
        ) feeRoomCount,
        (
        select ifnull(sum(t.received_amount),0.0) receivedFee
        from pay_fee_detail t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and bu.floor_id = a.floor_id
        and t.status_cd = '0'
        and t.community_id= a.community_id
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
        <if test="configIds !=null ">
            and pf.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -463,23 +404,56 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        ) receivedFee,
        group by t.room_id
        ) a
    </select>
    <select id="getFloorFeeSummary" parameterType="Map" resultType="Map">
        select a.floor_id floorId,a.floor_num floorNum,a.name floorName,
        (
        select ifnull(sum(t.received_amount),0.0) preReceivedFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
        select count(1) from (
        select bu.floor_id,t.payer_obj_id
        from report_owe_fee t
        inner join building_room br on t.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        <if test="feeTypeCd != null and feeTypeCd != ''">
            left join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        </if>
        where
        1=1
        and t.payer_obj_type = '3333'
        and t.community_id= #{communityId}
        and t.end_time &lt;= #{endDate}
        and t.amount_owed != 0
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        group by bu.floor_id,t.payer_obj_id
        ) b
        where b.floor_id = a.floor_id
        ) oweRoomCount,
        (
        select count(1) from (
        select bu.floor_id,t.payer_obj_id
        from report_owe_fee t
        inner join pay_fee pf on pf.fee_id = t.fee_id and pf.status_cd = '0' and pf.state = '2008001'
        inner join building_room br on t.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and bu.floor_id = a.floor_id
        and t.status_cd = '0'
        and t.community_id= a.community_id
        and t.pay_fee_time &gt; #{startDate}
        and t.pay_fee_time &lt; #{endDate}
        and t.cur_month_time &gt;= #{endDate}
        and t.payer_obj_type = '3333'
        and t.community_id= #{communityId}
        and pf.community_id=  #{communityId}
        and t.end_time &lt;= #{endDate}
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -489,39 +463,16 @@
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        ) preReceivedFee,
        (
        select ifnull(sum(t.receivable_amount),0.0) hisOweFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and bu.floor_id = a.floor_id
        and t.status_cd = '0'
        and t.community_id= a.community_id
        and t.detail_id = '-1'
        and t.cur_month_time &lt; #{startDate}
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        ) hisOweFee,
        group by bu.floor_id,t.payer_obj_id
        ) b
        where b.floor_id = a.floor_id
        ) feeRoomCount,
        (
        select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and bu.floor_id = a.floor_id
        and t.obj_fpc_id = a.floor_id
        and t.status_cd = '0'
        and t.community_id= a.community_id
        and t.cur_month_time &gt;= #{startDate}
@@ -533,18 +484,15 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        ) curReceivableFee,
        (
        select ifnull(sum(t.receivable_amount),0.0) curReceivedFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and bu.floor_id = a.floor_id
        and t.obj_fpc_id = a.floor_id
        and t.status_cd = '0'
        and t.community_id= a.community_id
        and t.cur_month_time &gt;= #{startDate}
@@ -557,57 +505,75 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        ) curReceivedFee,
        (
        select ifnull(sum(t.received_amount),0.0) hisReceivedFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and bu.floor_id = a.floor_id
        and t.status_cd = '0'
        and t.community_id= a.community_id
        and t.pay_fee_time &gt; #{startDate}
        and t.pay_fee_time &lt; #{endDate}
        and t.cur_month_time &lt; #{startDate}
        and t.detail_id != '-1'
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        ) hisReceivedFee
        ) curReceivedFee
        from f_floor a
        where 1=1
        and a.status_cd = '0'
        and a.community_id = #{communityId}
        <if test="floorId != null and floorId != ''">
            and a.floor_id = #{floorId}
        </if>
        order by a.seq
    </select>
    <select id="getConfigFeeSummary" parameterType="Map" resultType="Map">
        select a.name,
        (
        select count(1) from (
        select pf.fee_type_cd,t.obj_id
        from building_room a
        left join pay_fee_detail_month t on t.obj_id = a.room_id
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
        select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
        from pay_fee_detail_month t force index(i_fc)
        where
        1=1
        and a.status_cd = '0'
        and pf.payer_obj_type = '3333'
        <if test="floorId != null and floorId != ''">
            and t.obj_fpc_id = #{floorId}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id = '-1'
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        and t.fee_type_cd = a.status_cd
        ) curReceivableFee,
        (
        select ifnull(sum(t.receivable_amount),0.0) curReceivedFee
        from pay_fee_detail_month t force index(i_fc)
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and t.obj_fpc_id = #{floorId}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id != '-1'
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        and t.fee_type_cd = a.status_cd
        ) curReceivedFee,
        (
        select count(1) from (
        select pfc.fee_type_cd,t.payer_obj_id
        from report_owe_fee t
        inner join building_room br on t.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        left join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        where
        1=1
        and t.payer_obj_type = '3333'
        and t.community_id=  #{communityId}
        and t.end_time &lt;= #{endDate}
        and t.amount_owed != 0
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -615,25 +581,25 @@
            </foreach>
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        group by pf.fee_type_cd,t.obj_id
        group by pfc.fee_type_cd,t.payer_obj_id
        ) b
        where b.fee_type_cd = a.status_cd
        ) oweRoomCount,
        (
        select count(1) from (
        select pf.fee_type_cd,t.obj_id
        from building_room a
        left join pay_fee_detail_month t on t.obj_id = a.room_id
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
        select pf.fee_type_cd,t.payer_obj_id
        from report_owe_fee t
        inner join pay_fee pf on pf.fee_id = t.fee_id and pf.status_cd = '0' and pf.state = '2008001'
        inner join building_room br on t.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and a.status_cd = '0'
        and pf.payer_obj_type = '3333'
        and t.community_id= #{communityId}
        and t.cur_month_time &lt; #{endDate}
        and t.payer_obj_type = '3333'
        and t.community_id=  #{communityId}
        and pf.community_id=  #{communityId}
        and t.end_time &lt;= #{endDate}
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -643,165 +609,10 @@
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        group by pf.fee_type_cd,t.obj_id
        group by pf.fee_type_cd,t.payer_obj_id
        ) b
        where b.fee_type_cd = a.status_cd
        ) feeRoomCount,
        (
        select ifnull(sum(t.received_amount),0.0) receivedFee
        from pay_fee_detail t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
            left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        </if>
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
        <if test="configIds !=null ">
            and pf.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        and pf.fee_type_cd = a.status_cd
        ) receivedFee,
        (
        select ifnull(sum(t.received_amount),0.0) preReceivedFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
            left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        </if>
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.pay_fee_time &gt; #{startDate}
        and t.pay_fee_time &lt; #{endDate}
        and t.cur_month_time &gt;= #{endDate}
        and t.detail_id != '-1'
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        and pf.fee_type_cd = a.status_cd
        ) preReceivedFee,
        (
        select ifnull(sum(t.receivable_amount),0.0) hisOweFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
            left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        </if>
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.detail_id = '-1'
        and t.cur_month_time &lt; #{startDate}
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        and pf.fee_type_cd = a.status_cd
        ) hisOweFee,
        (
        select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
            left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        </if>
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        and pf.fee_type_cd = a.status_cd
        ) curReceivableFee,
        (
        select ifnull(sum(t.receivable_amount),0.0) curReceivedFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
            left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        </if>
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id != '-1'
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        and pf.fee_type_cd = a.status_cd
        ) curReceivedFee,
        (
        select ifnull(sum(t.received_amount),0.0) hisReceivedFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
            left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        </if>
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.pay_fee_time &gt; #{startDate}
        and t.pay_fee_time &lt; #{endDate}
        and t.cur_month_time &lt; #{startDate}
        and t.detail_id != '-1'
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        and pf.fee_type_cd = a.status_cd
        ) hisReceivedFee
        ) feeRoomCount
        from t_dict a
        where 1=1
        and a.table_name = 'pay_fee_config'
@@ -812,28 +623,31 @@
        select count(1) feeRoomCount
        from
        (
        select a.obj_name objName,a.obj_id objId,a.owner_name ownerName,a.link
        from pay_fee_detail_month a
        where a.status_cd = '0'
        and a.community_id = #{communityId}
        group by a.obj_name,a.obj_id,a.owner_name,a.link
        select t.payer_ob_id
        from report_owe_fee t
        inner join pay_fee pf on pf.fee_id = t.fee_id and pf.status_cd = '0' and pf.state = '2008001'
        inner join building_room br on t.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and t.payer_obj_type = '3333'
        and t.community_id= #{communityId}
        and pf.community_id=  #{communityId}
        group by a.payer_ob_id
        ) b
    </select>
    <!-- 查询房屋费用明细表-->
    <select id="getObjFeeSummary" parameterType="Map" resultType="Map">
        select
        a.obj_id objId,pfc.fee_type_cd feeTypeCd,
        a.obj_id objId,a.fee_type_cd feeTypeCd,
        (
        select ifnull(sum(t.receivable_amount),0.0) hisOweFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        inner join pay_fee_config pfc1 on pfc1.config_id = t.config_id and pfc1.status_cd = '0'
        where t.obj_id = a.obj_id
        and t.status_cd = '0'
        where  t.status_cd = '0'
        and t.detail_id = '-1'
        and t.community_id= a.community_id
        and t.obj_id = a.obj_id
        and pfc1.fee_type_cd = pfc.fee_type_cd
        and t.fee_type_cd = a.fee_type_cd
        and t.cur_month_time &lt; #{endDate}
        ) oweFee,
        (
@@ -844,231 +658,229 @@
        where pf.payer_obj_id = a.obj_id
        and t.status_cd = '0'
        and t.community_id= a.community_id
        and pfc1.fee_type_cd = pfc.fee_type_cd
        and pfc1.fee_type_cd = a.fee_type_cd
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
        ) receivedFee
        from pay_fee_detail_month a
        inner join pay_fee_config pfc on a.config_id = pfc.config_id and pfc.status_cd = '0'
        where a.obj_id in
        <foreach collection="objIds" item="item" index="index" open="(" close=")" separator=",">
            #{item}
        </foreach>
        group by a.obj_id,pfc.fee_type_cd,a.community_id
        group by a.obj_id,a.fee_type_cd,a.community_id
    </select>
    <!-- 查询业主费用明细表 -->
    <select id="getOwnerFeeSummary" parameterType="Map" resultType="Map">
        select
        a.owner_id ownerId,GROUP_CONCAT(a.obj_name) objName,pfc.fee_type_cd feeTypeCd,
        a.owner_id ownerId,GROUP_CONCAT(a.obj_name) objName,a.fee_type_cd feeTypeCd,
        (
        select ifnull(sum(t.receivable_amount),0.0) hisOweFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        inner join pay_fee_config pfc1 on pfc1.config_id = t.config_id and pfc1.status_cd = '0'
        where 1=1
        and t.status_cd = '0'
        and t.detail_id = '-1'
        and t.community_id= a.community_id
        and t.owner_id = a.owner_id
        and pfc1.fee_type_cd = pfc.fee_type_cd
        and t.fee_type_cd = a.fee_type_cd
        and t.cur_month_time &lt; #{endDate}
        ) oweFee,
        (
        select ifnull(sum(t.received_amount),0.0) receivedFee
        from pay_fee_detail_month t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        inner join pay_fee_config pfc1 on pfc1.config_id = t.config_id and pfc1.status_cd = '0'
        where t.owner_id = a.owner_id
        and t.status_cd = '0'
        and t.community_id= a.community_id
        and pfc1.fee_type_cd = pfc.fee_type_cd
        and t.fee_type_cd = a.fee_type_cd
        and t.pay_fee_time &gt; #{startDate}
        and t.pay_fee_time &lt; #{endDate}
        ) receivedFee
        from pay_fee_detail_month a
        inner join pay_fee_config pfc on a.config_id = pfc.config_id and pfc.status_cd = '0'
        where a.owner_id in
        <foreach collection="ownerIds" item="item" index="index" open="(" close=")" separator=",">
            #{item}
        </foreach>
        group by a.owner_id,pfc.fee_type_cd,a.community_id
        group by a.owner_id,a.fee_type_cd,a.community_id
    </select>
    <!-- 优惠费用-->
    <select id="getDiscountFee" parameterType="Map" resultType="Map">
        select ifnull(SUM(t.discount_amount),0.0) discountFee
        select ifnull(SUM(t.discount_amount), 0.0) discountFee
        from pay_fee_detail_month t
        where 1=1
        and t.status_cd = '0'
        and t.detail_id != '-1'
        where 1 = 1
          and t.status_cd = '0'
          and t.detail_id != '-1'
        and t.discount_amount &gt; 0
        and t.community_id= #{communityId}
        and t.cur_month_time &gt; #{startDate}
        and t.cur_month_time &lt; #{endDate}
          and t.cur_month_time
         &gt; #{startDate}
          and t.cur_month_time
         &lt; #{endDate}
    </select>
    <!-- 滞纳金费用-->
    <select id="getLateFee" parameterType="Map" resultType="Map">
        select ifnull(SUM(t.discount_amount),0.0) lateFee
        from pay_fee_detail_month t
        where 1=1
        and t.status_cd = '0'
        and t.detail_id != '-1'
        and t.discount_amount &lt; 0
        and t.community_id= #{communityId}
        and t.cur_month_time &gt; #{startDate}
        and t.cur_month_time &lt; #{endDate}
        select ifnull(SUM(t.discount_price), 0.0) lateFee
        from pay_fee_detail_discount t
                 inner join fee_discount fd on t.discount_id = fd.discount_id
        where t.status_cd = '0'
          and fd.discount_type = '2002'
          and t.community_id = #{communityId}
          and t.create_time &gt; #{startDate}
          and t.create_time &lt; #{endDate}
    </select>
    <!-- 查询预存账户-->
    <select id="getPrestoreAccount" parameterType="Map" resultType="Map">
        select ifnull(SUM(t.amount),0.0) prestoreAccount
        select ifnull(SUM(t.amount), 0.0) prestoreAccount
        from account_detail t
        INNER JOIN account ac on t.acct_id = ac.acct_id and ac.status_cd = '0'
        where 1=1
        and t.obj_type = '6006'
        and ac.acct_type = '2003'
        and t.detail_type = '1001'
        and ac.part_id= #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
                 INNER JOIN account ac on t.acct_id = ac.acct_id and ac.status_cd = '0'
        where 1 = 1
          and t.obj_type = '6006'
          and ac.acct_type = '2003'
          and t.detail_type = '1001'
          and ac.part_id = #{communityId}
          and t.create_time &gt; #{startDate}
          and t.create_time &lt; #{endDate}
    </select>
    <!-- 查询账户扣款-->
    <select id="getWithholdAccount" parameterType="Map" resultType="Map">
        select ifnull(SUM(t.amount),0.0) withholdAccount
        select ifnull(SUM(t.amount), 0.0) withholdAccount
        from account_detail t
        INNER JOIN account ac on t.acct_id = ac.acct_id and ac.status_cd = '0'
        where 1=1
        and t.obj_type = '6006'
        and ac.acct_type = '2003'
        and t.detail_type = '2002'
        and ac.part_id= #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
                 INNER JOIN account ac on t.acct_id = ac.acct_id and ac.status_cd = '0'
        where 1 = 1
          and t.obj_type = '6006'
          and ac.acct_type = '2003'
          and t.detail_type = '2002'
          and ac.part_id = #{communityId}
          and t.create_time &gt; #{startDate}
          and t.create_time &lt; #{endDate}
    </select>
    <!-- 查询临时车费 -->
    <select id="getTempCarFee" parameterType="Map" resultType="Map">
        select ifnull(sum(t.pay_charge),0.0) tempCarFee
        select ifnull(sum(t.pay_charge), 0.0) tempCarFee
        from car_inout_payment t
        where 1=1
        and t.community_id = #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
        and t.status_cd = '0'
        where 1 = 1
          and t.community_id = #{communityId}
          and t.create_time &gt; #{startDate}
          and t.create_time &lt; #{endDate}
          and t.status_cd = '0'
    </select>
    <!-- 押金退款金额 -->
    <select id="geRefundDeposit" parameterType="Map" resultType="Map">
        select ifnull(sum(t.received_amount),0.0) refundDeposit from return_pay_fee t
        select ifnull(sum(t.received_amount), 0.0) refundDeposit
        from return_pay_fee t
        where t.fee_type_cd = '888800010006'
        and t.status_cd = '0'
        and t.state = '1001'
        and t.community_id = #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
          and t.status_cd = '0'
          and t.state = '1001'
          and t.community_id = #{communityId}
          and t.create_time &gt; #{startDate}
          and t.create_time &lt; #{endDate}
    </select>
    <!-- 退款订单数 -->
    <select id="geRefundOrderCount" parameterType="Map" resultType="Map">
        select count(1) refundOrderCount from return_pay_fee t
        select count(1) refundOrderCount
        from return_pay_fee t
        where t.status_cd = '0'
        and t.state = '1001'
        and t.community_id = #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
          and t.state = '1001'
          and t.community_id = #{communityId}
          and t.create_time &gt; #{startDate}
          and t.create_time &lt; #{endDate}
    </select>
    <!-- 退款金额 -->
    <select id="geRefundFee" parameterType="Map" resultType="Map">
        select ifnull(sum(t.received_amount),0.0) refundFee from return_pay_fee t
        select ifnull(sum(t.received_amount), 0.0) refundFee
        from return_pay_fee t
        where t.status_cd = '0'
        and t.state = '1001'
        and t.community_id = #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
          and t.state = '1001'
          and t.community_id = #{communityId}
          and t.create_time &gt; #{startDate}
          and t.create_time &lt; #{endDate}
    </select>
    <!-- 查询充电费用-->
    <select id="getChargeFee" parameterType="Map" resultType="Map">
        select ifnull(sum(t.amount),0.0) chargeFee
        select ifnull(sum(t.amount), 0.0) chargeFee
        from charge_machine_order t
        where t.status_cd = '0'
        and t.community_id = #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
          and t.community_id = #{communityId}
          and t.create_time &gt; #{startDate}
          and t.create_time &lt; #{endDate}
    </select>
    <!-- 查询楼栋实收-->
    <select id="getReceivedFeeByFloor" parameterType="Map" resultType="Map">
        select a.floor_id floorId,a.floor_num floorNum,a.name floorName,td.status_cd feeTypeCd,
        (
        select count(1)
        from building_room br
        left join building_unit bu on bu.unit_id = br.unit_id and bu.status_cd = '0'
        where
        1=1
        and a.status_cd = '0'
        and br.status_cd = '0'
        and bu.floor_id = a.floor_id
        ) roomCount,
        (
        select count(1) from (
        select bu.floor_id,br.room_id
        from pay_fee_detail t
        INNER JOIN pay_fee pf1 on t.fee_id = pf1.fee_id and pf1.payer_obj_type='3333' and pf1.status_cd = '0'
        LEFT JOIN building_room br on pf1.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and t.status_cd = '0'
        and t.community_id = #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
        group by bu.floor_id,br.room_id
        ) b
        where b.floor_id = a.floor_id
        ) feeRoomCount,
        (
        select ifnull(sum(t.received_amount),0.0) receivedFee
        from pay_fee_detail t
        INNER JOIN pay_fee pf1 on t.fee_id = pf1.fee_id and pf1.payer_obj_type='3333' and pf1.status_cd = '0'
        LEFT JOIN building_room br on pf1.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and bu.floor_id = a.floor_id
        and t.status_cd = '0'
        and t.community_id = #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
        and pf1.fee_type_cd = td.status_cd
        ) receivedFee
        select a.floor_id   floorId,
               a.floor_num  floorNum,
               a.name       floorName,
               td.status_cd feeTypeCd,
               (
                   select count(1)
                   from building_room br
                            left join building_unit bu on bu.unit_id = br.unit_id and bu.status_cd = '0'
                   where 1 = 1
                     and a.status_cd = '0'
                     and br.status_cd = '0'
                     and bu.floor_id = a.floor_id
               )            roomCount,
               (
                   select count(1)
                   from (
                            select bu.floor_id, br.room_id
                            from pay_fee_detail t
                                     INNER JOIN pay_fee pf1 on t.fee_id = pf1.fee_id and pf1.payer_obj_type = '3333' and
                                                               pf1.status_cd = '0'
                                     inner JOIN building_room br on pf1.payer_obj_id = br.room_id and br.status_cd = '0'
                                     left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
                            where 1 = 1
                              and t.status_cd = '0'
                              and t.community_id = #{communityId}
                              and t.create_time &gt; #{startDate}
                              and t.create_time &lt; #{endDate}
                            group by bu.floor_id, br.room_id
                        ) b
                   where b.floor_id = a.floor_id
               )            feeRoomCount,
               (
                   select ifnull(sum(t.received_amount), 0.0) receivedFee
                   from pay_fee_detail t
                            INNER JOIN pay_fee pf1
                                       on t.fee_id = pf1.fee_id and pf1.payer_obj_type = '3333' and pf1.status_cd = '0'
                            LEFT JOIN building_room br on pf1.payer_obj_id = br.room_id and br.status_cd = '0'
                            left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
                   where 1 = 1
                     and bu.floor_id = a.floor_id
                     and t.status_cd = '0'
                     and t.community_id = #{communityId}
                     and t.create_time &gt; #{startDate}
                     and t.create_time &lt; #{endDate}
                     and pf1.fee_type_cd = td.status_cd
               )            receivedFee
        from f_floor a
        left join t_dict td on td.table_name='pay_fee_config' and td.table_columns = 'fee_type_cd_show'
        where 1=1
        and a.status_cd = '0'
        and a.community_id = #{communityId}
                 left join t_dict td on td.table_name = 'pay_fee_config' and td.table_columns = 'fee_type_cd_show'
        where 1 = 1
          and a.status_cd = '0'
          and a.community_id = #{communityId}
        order by a.seq
    </select>
    <!-- 按缴费方式统计 -->
    <select id="getReceivedFeeByPrimeRate" parameterType="Map" resultType="Map">
        select td.`name`,td.status_cd primeRate,ifnull(SUM(t.received_amount),0) receivedAmount
        select td.`name`, td.status_cd primeRate, ifnull(SUM(t.received_amount), 0) receivedAmount
        from t_dict td
        left join pay_fee_detail t on td.status_cd = t.prime_rate and t.status_cd = '0'
        where
        1=1
        and td.table_name = 'pay_fee_detail'
        and td.table_columns = 'prime_rate'
        and t.community_id = #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
        group by td.status_cd,td.`name`
                 left join pay_fee_detail t on td.status_cd = t.prime_rate and t.status_cd = '0'
        where 1 = 1
          and td.table_name = 'pay_fee_detail'
          and td.table_columns = 'prime_rate'
          and t.community_id = #{communityId}
          and t.create_time &gt; #{startDate}
          and t.create_time &lt; #{endDate}
        group by td.status_cd, td.`name`
    </select>
    <!-- 按楼栋统计欠费 -->
@@ -1087,13 +899,16 @@
        (
        select count(1) from (
        select bu.floor_id,br.room_id
        from building_room br
        INNER JOIN pay_fee pf on br.room_id = pf.payer_obj_id and pf.payer_obj_type = '3333' and pf.status_cd = '0'
        from report_owe_fee t
        inner join pay_fee pf on pf.fee_id = t.fee_id and pf.status_cd = '0' and pf.state = '2008001'
        inner join building_room br on t.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where
        1=1
        and br.status_cd = '0'
        and br.community_id= #{communityId}
        and t.payer_obj_type = '3333'
        and t.community_id= #{communityId}
        and pf.community_id=  #{communityId}
        and t.end_time &lt; #{endDate}
        group by bu.floor_id,br.room_id
        ) b
        where b.floor_id = a.floor_id
@@ -1101,15 +916,16 @@
        (
        select count(1) from (
        select bu.floor_id,br.room_id
        from building_room br
        INNER JOIN pay_fee_detail_month pf on br.room_id = pf.obj_id and pf.status_cd = '0'
        from report_owe_fee t
        inner join building_room br on t.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        left join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        where
        1=1
        and br.status_cd = '0'
        and br.community_id= #{communityId}
        and pf.detail_id = '-1'
        and pf.cur_month_time &lt; #{endDate}
        and t.payer_obj_type = '3333'
        and t.community_id= #{communityId}
        and t.end_time &lt; #{endDate}
        and t.amount_owed != 0
        group by bu.floor_id,br.room_id
        ) b
        where b.floor_id = a.floor_id
@@ -1128,17 +944,18 @@
        and pf1.fee_type_cd = td.status_cd
        ) oweFee
        from f_floor a
        left join t_dict td on td.table_name='pay_fee_config' and td.table_columns = 'fee_type_cd_show'
        where 1=1
        and a.status_cd = '0'
        and a.community_id = #{communityId}
                 left join t_dict td on td.table_name = 'pay_fee_config' and td.table_columns = 'fee_type_cd_show'
        where 1 = 1
          and a.status_cd = '0'
          and a.community_id = #{communityId}
        order by a.seq
    </select>
    <!-- 对象欠费 -->
    <select id="getObjOweFee" parameterType="Map" resultType="Map">
        select t.payer_obj_id payerObjId, pf.fee_type_cd feeTypeCd,t.fee_name feeName,
        DATE_FORMAT(t.end_time,'%Y-%m-%d') endTime,DATE_FORMAT(t.deadline_time,'%Y-%m-%d') deadlineTime,t.amount_owed amountOwed
        DATE_FORMAT(t.end_time,'%Y-%m-%d') endTime,DATE_FORMAT(t.deadline_time,'%Y-%m-%d') deadlineTime,t.amount_owed
        amountOwed
        from report_owe_fee t
        left join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        where t.amount_owed > 0
@@ -1153,7 +970,8 @@
    <!-- 对象实收 -->
    <select id="getObjReceivedFee" parameterType="Map" resultType="Map">
        select pf.payer_obj_id payerObjId, pf.fee_type_cd feeTypeCd,pfc.fee_name feeName,
        DATE_FORMAT(t.start_time,'%Y-%m-%d') startTime,DATE_FORMAT(t.end_time,'%Y-%m-%d') endTime,t.received_amount receivedAmount
        DATE_FORMAT(t.start_time,'%Y-%m-%d') startTime,DATE_FORMAT(t.end_time,'%Y-%m-%d') endTime,t.received_amount
        receivedAmount
        from pay_fee_detail t
        left join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        left join pay_fee_config pfc on pf.config_id = pfc.config_id and pfc.status_cd = '0'
@@ -1167,6 +985,7 @@
            #{item}
        </foreach>
    </select>
    <!-- 已收房屋数 -->
    <select id="getReceivedRoomCount" parameterType="Map" resultType="Map">
        select count(DISTINCT pf.payer_obj_id) count from pay_fee_detail t
@@ -1177,12 +996,14 @@
        1=1
        and bu.floor_id = #{floorId}
        and t.community_id = #{communityId}
        and pf.community_id= #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
    </select>
    <!-- 已收房屋金额 -->
    <select id="getReceivedRoomAmount" parameterType="Map" resultType="Map">
        select ifnull(sum(t.received_amount),0) amount from pay_fee_detail t
@@ -1192,12 +1013,14 @@
        where
        bu.floor_id = #{floorId}
        and t.community_id = #{communityId}
        and pf.community_id= #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
    </select>
    <!-- 欠费清缴户 -->
    <select id="getHisOweReceivedRoomCount" parameterType="Map" resultType="Map">
        select count(DISTINCT t.obj_id) count
@@ -1207,9 +1030,10 @@
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where 1=1
        and bu.floor_id = #{floorId}
        and t.community_id =  #{communityId}
        and t.community_id = #{communityId}
        and pf.community_id= #{communityId}
        and t.pay_fee_time &gt; #{startDate}
        and t.pay_fee_time &lt;  #{endDate}
        and t.pay_fee_time &lt; #{endDate}
        and t.cur_month_time &lt; #{hisDate}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
@@ -1217,6 +1041,7 @@
        and t.detail_id != '-1'
        and t.status_cd = '0'
    </select>
    <!-- 欠费清缴金额 -->
    <select id="getHisOweReceivedRoomAmount" parameterType="Map" resultType="Map">
        select ifnull(sum(t.received_amount),0) amount
@@ -1225,10 +1050,11 @@
        LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where 1=1
       and bu.floor_id = #{floorId}
        and bu.floor_id = #{floorId}
        and t.community_id =  #{communityId}
        and pf.community_id=  #{communityId}
        and t.pay_fee_time &gt; #{startDate}
        and t.pay_fee_time &lt;  #{endDate}
        and t.pay_fee_time &lt; #{endDate}
        and t.cur_month_time &lt; #{hisDate}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
@@ -1236,6 +1062,7 @@
        and t.detail_id != '-1'
        and t.status_cd = '0'
    </select>
    <!-- 查询月收入数据 -->
    <select id="getMonthReceivedDetailCount" parameterType="Map" resultType="Map">
        select count(1) count
@@ -1245,7 +1072,8 @@
        left join building_room br on t.obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        left join pay_fee_detail_month pfdm on t.fee_id = pfdm.fee_id and t.detail_year = pfdm.detail_year and t.detail_month = pfdm.detail_month and pfdm.detail_id = '-1'
        left join pay_fee_detail_month pfdm on t.fee_id = pfdm.fee_id and t.detail_year = pfdm.detail_year and
        t.detail_month = pfdm.detail_month and pfdm.detail_id = '-1'
        where 1=1
        and pfdm.month_id is null
        and t.status_cd = '0'
@@ -1253,6 +1081,7 @@
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id != '-1'
        and t.community_id = #{communityId}
        and pf.community_id= #{communityId}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
@@ -1272,16 +1101,19 @@
    <!-- 月实收 查询-->
    <select id="getMonthReceivedDetailInfo" parameterType="Map" resultType="Map">
        select concat(f.floor_num,'-',bu.unit_num,'-',br.room_num) objName,t.owner_name ownerName,t.link,t.fee_name feeName, pfd.start_time startTime,pfd.end_time endTime,
        select concat(f.floor_num,'-',bu.unit_num,'-',br.room_num) objName,t.owner_name ownerName,t.link,t.fee_name
        feeName, pfd.start_time startTime,pfd.end_time endTime,
        pfd.pay_order_id payOrderId,pfd.cashier_name cashierName,
        t.receivable_amount receivableAmount,t.received_amount receivedAmount,pfd.create_time createTime
        t.receivable_amount receivableAmount,t.received_amount receivedAmount,pfd.create_time
        createTime,concat(t.detail_year,'-',t.detail_month) curYearMonth
        from pay_fee_detail_month t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
        left join pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.status_cd = '0'
        left join building_room br on t.obj_id = br.room_id and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        left join pay_fee_detail_month pfdm on t.fee_id = pfdm.fee_id and t.detail_year = pfdm.detail_year and t.detail_month = pfdm.detail_month and pfdm.detail_id = '-1'
        left join pay_fee_detail_month pfdm on t.fee_id = pfdm.fee_id and t.detail_year = pfdm.detail_year and
        t.detail_month = pfdm.detail_month and pfdm.detail_id = '-1'
        where 1=1
        and pfdm.month_id is null
        and t.status_cd = '0'
@@ -1289,6 +1121,7 @@
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id != '-1'
        and t.community_id = #{communityId}
        and pf.community_id= #{communityId}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
@@ -1304,6 +1137,7 @@
        <if test="link != null and link != ''">
            and t.link = #{link}
        </if>
        order by t.obj_name,t.fee_name,t.detail_year,t.detail_month
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
@@ -1324,6 +1158,7 @@
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id != '-1'
        and t.community_id = #{communityId}
        and pf.community_id= #{communityId}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
@@ -1356,6 +1191,7 @@
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id = '-1'
        and t.community_id = #{communityId}
        and pf.community_id= #{communityId}
        and t.receivable_amount &gt; 0
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
@@ -1376,8 +1212,10 @@
    <!-- 月实收 查询-->
    <select id="getMonthOweDetailInfo" parameterType="Map" resultType="Map">
        select concat(f.floor_num,'-',bu.unit_num,'-',br.room_num) objName,t.owner_name ownerName,t.link,t.fee_name feeName, pf.end_time startTime,t.deadline_time endTime,
        t.receivable_amount receivableAmount,t.received_amount receivedAmount
        select concat(f.floor_num,'-',bu.unit_num,'-',br.room_num) objName,t.owner_name ownerName,t.link,t.fee_name
        feeName, pf.end_time startTime,t.deadline_time endTime,
        t.receivable_amount receivableAmount,t.received_amount receivedAmount,concat(t.detail_year,'-',t.detail_month)
        curYearMonth
        from pay_fee_detail_month t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
        left join pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.status_cd = '0'
@@ -1391,6 +1229,7 @@
        and t.detail_id = '-1'
        and t.receivable_amount &gt; 0
        and t.community_id = #{communityId}
        and pf.community_id= #{communityId}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
@@ -1406,6 +1245,7 @@
        <if test="link != null and link != ''">
            and t.link = #{link}
        </if>
        order by t.obj_name,t.fee_name,t.detail_year,t.detail_month
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
@@ -1426,6 +1266,7 @@
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id = '-1'
        and t.community_id = #{communityId}
        and pf.community_id= #{communityId}
        and t.receivable_amount &gt; 0
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
@@ -1443,5 +1284,4 @@
            and t.link = #{link}
        </if>
    </select>
</mapper>