Your Name
2023-07-03 2b919980a8c70554a64cb3d03cc95679af4d817f
java110-db/src/main/resources/mapper/report/ReportFeeMonthStatisticsServiceDaoImplMapper.xml
@@ -6,15 +6,18 @@
    <!-- 保存费用月统计信息 add by wuxw 2018-07-03 -->
    <insert id="saveReportFeeMonthStatisticsInfo" parameterType="Map">
        insert into report_fee_month_statistics(
        receivable_amount,statistics_id,update_time,remark,obj_name,received_amount,fee_year,fee_month,fee_id,config_id,
        obj_id,fee_name,owe_amount,community_id,fee_create_time,obj_type,deadline_time,cur_max_time,
        his_owe_amount,cur_receivable_amount,cur_received_amount, his_owe_received_amount,pre_received_amount
        ) values (
        #{receivableAmount},#{statisticsId},#{updateTime},#{remark},#{objName},#{receivedAmount},#{feeYear},#{feeMonth},
        #{feeId},#{configId},#{objId},#{feeName},#{oweAmount},#{communityId},#{feeCreateTime},#{objType},#{deadlineTime},#{curMaxTime},
        #{hisOweAmount},#{curReceivableAmount},#{curReceivedAmount},#{hisOweReceivedAmount},#{preReceivedAmount}
        )
        insert into report_fee_month_statistics(receivable_amount, statistics_id, update_time, remark, obj_name,
        received_amount, fee_year, fee_month, fee_id, config_id,
        obj_id, fee_name, owe_amount, community_id, fee_create_time, obj_type,
        deadline_time, cur_max_time,
        his_owe_amount, cur_receivable_amount, cur_received_amount,
        his_owe_received_amount, pre_received_amount, obj_name_num)
        values (#{receivableAmount}, #{statisticsId}, #{updateTime}, #{remark}, #{objName}, #{receivedAmount},
        #{feeYear}, #{feeMonth},
        #{feeId}, #{configId}, #{objId}, #{feeName}, #{oweAmount}, #{communityId}, #{feeCreateTime}, #{objType},
        #{deadlineTime}, #{curMaxTime},
        #{hisOweAmount}, #{curReceivableAmount}, #{curReceivedAmount}, #{hisOweReceivedAmount},
        #{preReceivedAmount}, #{objNameNum})
    </insert>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
@@ -27,7 +30,7 @@
        oweAmount,t.community_id,t.community_id communityId,t.fee_create_time,t.fee_create_time
        feeCreateTime,t.obj_type,t.obj_type objType,t.cur_max_time curMaxTime,
        t.his_owe_amount hisOweAmount,t.cur_receivable_amount curReceivableAmount,t.cur_received_amount
        curReceivedAmount,
        curReceivedAmount,t.obj_name_num,t.obj_name_num objNameNum,
        t.his_owe_received_amount hisOweReceivedAmount,t.pre_received_amount preReceivedAmount
        from report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
@@ -49,6 +52,9 @@
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num = #{objNameNum}
        </if>
        <if test="receivedAmount !=null and receivedAmount != ''">
            and t.received_amount= #{receivedAmount}
@@ -127,6 +133,9 @@
        <if test="objName !=null and objName != ''">
            , t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            , t.obj_name_num= #{objNameNum}
        </if>
        <if test="receivedAmount !=null and receivedAmount != ''">
            , t.received_amount= #{receivedAmount}
        </if>
@@ -177,7 +186,6 @@
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </update>
    <!-- 修改费用月统计信息 add by wuxw 2018-07-03 -->
@@ -196,7 +204,6 @@
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
    </update>
@@ -223,6 +230,9 @@
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="receivedAmount !=null and receivedAmount != ''">
            and t.received_amount= #{receivedAmount}
@@ -276,11 +286,20 @@
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitIds !=null ">
            and bu.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
@@ -294,7 +313,6 @@
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="configIds !=null">
            and t.config_id in
            <foreach collection="configIds" item="item" open="(" close=")" separator=",">
@@ -322,7 +340,7 @@
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryReportFeeSummary" parameterType="Map" resultType="Map">
        select t.fee_year feeYear,t.fee_month feeMonth,t.create_time createTime
        select t.fee_year feeYear,t.fee_month feeMonth,max(t.create_time) createTime
        <if test="configIds !=null">
            ,t.config_id configId
        </if>
@@ -343,11 +361,20 @@
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitIds !=null ">
            and bu.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
@@ -386,6 +413,144 @@
        <if test="configIds !=null">
            ,t.config_id
        </if>
        order by CONVERT(t.fee_month,SIGNED),CONVERT(t.fee_year,SIGNED) desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <select id="queryReportFeeSummaryDetailCount" parameterType="Map" resultType="Map">
        select count(1) count
        from report_fee_month_statistics t
        left join building_room br on t.obj_id = br.room_id and t.obj_type = '3333' 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'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitIds !=null ">
            and bu.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="configIds !=null">
            and t.config_id in
            <foreach collection="configIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryReportFeeSummaryDetail" parameterType="Map" resultType="Map">
        select t.obj_name objName,t.fee_name feeName,t.fee_year feeYear,t.fee_month feeMonth,t.create_time createTime
        ,t.config_id configId,t.obj_name_num objNameNum,t.his_owe_amount hisOweAmount,t.cur_receivable_amount
        curReceivableAmount,t.cur_received_amount curReceivedAmount,t.his_owe_received_amount
        hisOweReceivedAmount,t.pre_received_amount preReceivedAmount,
        t.update_time updateTime,t.his_owe_amount+t.cur_receivable_amount
        receivableAmount,t.cur_received_amount+t.his_owe_received_amount+t.pre_received_amount receivedAmount
        from report_fee_month_statistics t
        left join building_room br on t.obj_id = br.room_id and t.obj_type = '3333' 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'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitIds !=null ">
            and bu.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="configIds !=null">
            and t.config_id in
            <foreach collection="configIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
@@ -408,11 +573,20 @@
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitIds !=null ">
            and bu.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
@@ -471,6 +645,9 @@
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
@@ -525,7 +702,6 @@
        inner join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
@@ -538,6 +714,9 @@
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
@@ -581,6 +760,143 @@
        </if>
    </select>
    <select id="queryReportFloorUnitFeeSummaryDetailCount" parameterType="Map" resultType="Map">
        select count(1) count
        from report_fee_month_statistics t
        INNER JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
        inner join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and bu.unit_num= #{unitNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="configIds !=null">
            and t.config_id in
            <foreach collection="configIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryReportFloorUnitFeeSummaryDetail" parameterType="Map" resultType="Map">
        select t.obj_name objName,t.fee_name feeName,t.fee_year feeYear,t.fee_month feeMonth,t.create_time createTime
        ,t.config_id configId,t.obj_name_num objNameNum,t.his_owe_amount hisOweAmount,t.cur_receivable_amount
        curReceivableAmount,t.cur_received_amount curReceivedAmount,t.his_owe_received_amount
        hisOweReceivedAmount,t.pre_received_amount preReceivedAmount,
        t.update_time updateTime,t.his_owe_amount+t.cur_receivable_amount receivableAmount,
        t.cur_received_amount+t.his_owe_received_amount+t.pre_received_amount receivedAmount
        from report_fee_month_statistics t
        INNER JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
        inner join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and bu.unit_num= #{unitNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="configIds !=null">
            and t.config_id in
            <foreach collection="configIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryReportFloorUnitFeeSummaryMajor" parameterType="Map" resultType="Map">
        select
@@ -603,6 +919,9 @@
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
@@ -662,6 +981,9 @@
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
@@ -695,8 +1017,7 @@
        <if test="yearMonth !=null and yearMonth != ''">
            and concat(t.fee_year,lpad(t.fee_month,2,0)) = #{yearMonth}
        </if>
        group by t.config_id,t.fee_name,pfc.start_time
        group by t.fee_name ,td.name ,pfc.fee_type_cd,pfc.start_time ,t.create_time
        ) t
    </select>
@@ -704,7 +1025,7 @@
     and t.receivable_amount >= 0 and t.received_amount >= 0 and t.owe_amount >= 0
     -->
    <select id="queryFeeBreakdown" parameterType="Map" resultType="Map">
        select t.fee_name feeName,td.name feeTypeCd,pfc.fee_type_cd,SUM(t.his_owe_amount)
        select t.fee_name feeName,td.name feeTypeCd,pfc.fee_type_cd,t.config_id configId,SUM(t.his_owe_amount)
        hisOweAmount,SUM(t.cur_receivable_amount) curReceivableAmount,
        SUM(t.cur_received_amount) curReceivedAmount,SUM(t.his_owe_received_amount)
        hisOweReceivedAmount,SUM(t.pre_received_amount) preReceivedAmount,
@@ -732,6 +1053,9 @@
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
@@ -765,12 +1089,148 @@
        <if test="yearMonth !=null and yearMonth != ''">
            and concat(t.fee_year,lpad(t.fee_month,2,0)) = #{yearMonth}
        </if>
        group by t.config_id,t.fee_name,pfc.start_time
        group by t.fee_name,td.name ,pfc.fee_type_cd,t.config_id ,t.create_time
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <select id="queryFeeBreakdownDetailCount" parameterType="Map" resultType="Map">
        select count(1) count
        from report_fee_month_statistics t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join building_room br on t.obj_id = br.room_id and t.obj_type = '3333' 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 t_dict td on pfc.fee_type_cd = td.status_cd and td.table_name='pay_fee_config' and
        td.table_columns='fee_type_cd'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and pfc.config_id= #{configId}
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and pfc.start_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and pfc.start_time &lt;= #{endTime}
        </if>
        <if test="yearMonth !=null and yearMonth != ''">
            and concat(t.fee_year,lpad(t.fee_month,2,0)) = #{yearMonth}
        </if>
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03
     and t.receivable_amount >= 0 and t.received_amount >= 0 and t.owe_amount >= 0
     -->
    <select id="queryFeeBreakdownDetail" parameterType="Map" resultType="Map">
        select t.obj_name objName,t.fee_name feeName,t.fee_year feeYear,t.fee_month feeMonth,t.create_time createTime
        ,t.config_id configId,t.his_owe_amount hisOweAmount,t.obj_name_num objNameNum,t.cur_receivable_amount
        curReceivableAmount,t.cur_received_amount curReceivedAmount,t.his_owe_received_amount
        hisOweReceivedAmount,t.pre_received_amount preReceivedAmount,
        t.update_time updateTime,t.his_owe_amount+t.cur_receivable_amount receivableAmount,
        t.cur_received_amount+t.his_owe_received_amount+t.pre_received_amount receivedAmount,t.update_time
        updateTime
        from report_fee_month_statistics t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join building_room br on t.obj_id = br.room_id and t.obj_type = '3333' 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 t_dict td on pfc.fee_type_cd = td.status_cd and td.table_name='pay_fee_config' and
        td.table_columns='fee_type_cd'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and pfc.config_id= #{configId}
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and pfc.start_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and pfc.start_time &lt;= #{endTime}
        </if>
        <if test="yearMonth !=null and yearMonth != ''">
            and concat(t.fee_year,lpad(t.fee_month,2,0)) = #{yearMonth}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 and t.receivable_amount >= 0 and t.received_amount >= 0 and t.owe_amount >= 0 -->
    <select id="queryFeeBreakdownMajor" parameterType="Map" resultType="Map">
        select
@@ -800,6 +1260,9 @@
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
@@ -860,6 +1323,9 @@
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
@@ -882,10 +1348,13 @@
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
            and t.fee_create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
            and t.deadline_time &lt;= #{endTime}
        </if>
        <if test="feeTypeCd !=null and feeTypeCd != ''">
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        group by t.config_id,t.fee_name,t.fee_create_time,t.obj_id,t.obj_name,t.deadline_time
        ) t
@@ -893,14 +1362,16 @@
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryFeeDetail" parameterType="Map" resultType="Map">
        select t.obj_name objName,t.fee_name feeName,t.fee_create_time feeCreateTime,pfa.`value`
        select t.config_id configId,t.obj_id objId,t.obj_name objName,t.obj_type objType,t.fee_name
        feeName,t.fee_create_time feeCreateTime,pfa.`value`
        ownerName,br.built_up_area builtUpArea ,max(t.deadline_time)
        deadlineTime,t.create_time createTime,max(t.update_time) updateTime,SUM(t.his_owe_amount)
        deadlineTime,max(t.create_time) createTime,max(t.update_time) updateTime,SUM(t.his_owe_amount)
        hisOweAmount,SUM(t.cur_receivable_amount) curReceivableAmount,
        SUM(t.cur_received_amount) curReceivedAmount,SUM(t.his_owe_received_amount)
        hisOweReceivedAmount,SUM(t.pre_received_amount) preReceivedAmount,
        sum(t.his_owe_amount+t.cur_receivable_amount) receivableAmount,
        sum(t.cur_received_amount+t.his_owe_received_amount+t.pre_received_amount) receivedAmount
        sum(t.cur_received_amount+t.his_owe_received_amount+t.pre_received_amount) receivedAmount,
        t.obj_type objType,t.obj_name_num objNameNum
        from report_fee_month_statistics t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join building_room br on t.obj_id = br.room_id and t.obj_type = '3333' and br.status_cd = '0'
@@ -909,6 +1380,7 @@
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        left join pay_fee_attrs pfa on pf.fee_id = pfa.fee_id and pfa.spec_cd = '390008' and pfa.status_cd ='0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
@@ -921,6 +1393,9 @@
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
@@ -943,12 +1418,15 @@
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
            and t.fee_create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
            and t.deadline_time &lt;= #{endTime}
        </if>
        group by t.config_id,t.fee_name,t.fee_create_time,t.obj_id,t.obj_name,pfa.`value`,br.built_up_area
        <if test="feeTypeCd !=null and feeTypeCd != ''">
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        group by t.config_id,t.fee_name,t.fee_create_time,t.obj_id,t.obj_type,t.obj_name,pfa.`value`,br.built_up_area
        order by pfa.`value`
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
@@ -983,6 +1461,9 @@
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="objNameNum != null and objNameNum != ''">
            and t.obj_name_num= #{objNameNum}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
@@ -1005,10 +1486,10 @@
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
            and t.fee_create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
            and t.deadline_time &lt;= #{endTime}
        </if>
    </select>
@@ -1057,15 +1538,16 @@
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
        group by t.fee_name,t.payer_obj_id,t.payer_obj_name
        and t.amount_owed > 0 and pf.end_time &lt; now()
        group by t.payer_obj_name ,t.fee_name ,pf.end_time ,t.create_time
        HAVING oweAmount > 0
        ) t
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryOweFeeDetail" parameterType="Map" resultType="Map">
        select t.payer_obj_name objName,t.fee_name feeName,pf.end_time feeCreateTime,t.update_time
        updateTime,pfa.`value` ownerName,br.built_up_area builtUpArea ,SUM(t.amount_owed) oweAmount,max(t.deadline_time)
        select t.payer_obj_name objName,t.fee_name feeName,pf.end_time feeCreateTime,t.update_time updateTime,
        pfa.`value` ownerName,br.built_up_area builtUpArea ,SUM(t.amount_owed) oweAmount,max(t.deadline_time)
        deadlineTime
        from report_owe_fee t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
@@ -1081,8 +1563,14 @@
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and bu.unit_num= #{unitNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="objName !=null and objName != ''">
            and t.payer_obj_name= #{objName}
@@ -1108,7 +1596,8 @@
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
        group by t.fee_name,t.payer_obj_id,t.payer_obj_name,pfa.`value`,br.built_up_area
        and t.amount_owed > 0 and pf.end_time &lt; now()
        group by t.payer_obj_name ,t.fee_name ,pf.end_time ,t.update_time,pfa.`value` ,br.built_up_area
        HAVING oweAmount > 0
        order by t.payer_obj_name
        <if test="page != -1 and page != null ">
@@ -1181,15 +1670,21 @@
        = "fee_type_cd"
        left join t_dict d3 on t.state = d3.status_cd and d3.table_name = "pay_fee_detail" and d3.table_columns =
        "state"
        where t.status_cd = '0'
        where t.status_cd = '0' and pf.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and bu.unit_num= #{unitNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
@@ -1230,6 +1725,18 @@
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
        <if test="feeStartTime !=null and feeStartTime != ''">
            and t.start_time &gt;= #{feeStartTime}
        </if>
        <if test="feeEndTime !=null and feeEndTime != ''">
            and t.end_time &lt;= #{feeEndTime}
        </if>
        <if test="cashierId !=null and cashierId != ''">
            and t.cashier_id= #{cashierId}
        </if>
        <if test="cashierName !=null and cashierName != ''">
            and t.cashier_name= #{cashierName}
        </if>
        ) t
    </select>
@@ -1242,7 +1749,8 @@
        importFeeName,t.prime_rate,d.name primeRate,fdr.discount_small_type discountSmallType,fdr.rule_name
        ruleName,pfdd.discount_price discountPrice,co.contract_code contractCode,pfo.`value` ownerName,cb.o_id oId,
        d2.name feeTypeCdName,pfc.fee_type_cd feeTypeCd,t.state,d3.name stateName,t.fee_id feeId,pft.`value` repairId,
        t.detail_id,t.detail_id detailId,pf.payer_obj_id,pfb.value ownerId,concat(pa.num,'停车场',ps.num,'车位') psName
        t.detail_id,t.detail_id detailId,pf.payer_obj_id,pfb.value ownerId,concat(pa.num,'停车场',ps.num,'车位') psName,
        fad.amount withholdAmount,t.cashier_id cashierId,t.cashier_name cashierName,t.payable_amount payableAmount,pfc.fee_flag feeFlag
        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'
@@ -1267,15 +1775,24 @@
        "state"
        LEFT JOIN contract co on pf.payer_obj_id = co.contract_id and co.status_cd = '0' and pf.payer_obj_type='7777'
        LEFT JOIN c_business cb on t.b_id = cb.b_id
        left join fee_account_detail fad on t.detail_id = fad.detail_id and t.community_id = fad.community_id and
        fad.status_cd = '0' and fad.state = '1002'
        where t.status_cd = '0'
        and pf.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and bu.unit_num= #{unitNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
@@ -1316,6 +1833,18 @@
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
        <if test="feeStartTime !=null and feeStartTime != ''">
            and t.start_time &gt;= #{feeStartTime}
        </if>
        <if test="feeEndTime !=null and feeEndTime != ''">
            and t.end_time &lt;= #{feeEndTime}
        </if>
        <if test="cashierId !=null and cashierId != ''">
            and t.cashier_id= #{cashierId}
        </if>
        <if test="cashierName !=null and cashierName != ''">
            and t.cashier_name= #{cashierName}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
@@ -1332,15 +1861,21 @@
        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        left join owner_car oc on pf.payer_obj_id = oc.car_id and oc.status_cd = '0' and oc.car_type_cd='1001'
        left join pay_fee_attrs pfa on t.fee_id = pfa.fee_id and pfa.spec_cd = '390002'
        where t.status_cd = '0' and t.state not in ('1100','1300')
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and bu.unit_num= #{unitNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
@@ -1397,15 +1932,21 @@
        left join fee_discount_rule fdr on fd.rule_id = fdr.rule_id and fdr.status_cd = '0'
        left join t_dict d on t.prime_rate = d.status_cd and d.table_name="pay_fee_detail" and
        d.table_columns="prime_rate"
        where t.status_cd = '0' and t.state not in ('1100','1300')
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and bu.unit_num= #{unitNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
@@ -1440,111 +1981,65 @@
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
        group by fdr.discount_small_type
        group by pfc.fee_name,f.floor_num,bu.unit_num ,br.room_num ,oc.car_num ,
        pf.payer_obj_type ,t.start_time ,t.end_time ,t.create_time ,
        t.receivable_amount ,t.received_amount ,pfa.`value`
        ,t.prime_rate,d.name ,fdr.discount_small_type ,fdr.rule_name,pfdd.discount_price
        order by t.create_time desc
    </select>
    <select id="queryDeadlineFeeCount" parameterType="Map" resultType="Map">
        select count(1) count
        from (
        SELECT
        t.obj_name objName,
        t.fee_name feeName,
        t.deadline_time deadlineTime
        FROM
        report_fee_month_statistics t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join building_room br on t.obj_id = br.room_id and t.obj_type = '3333' 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'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        from pay_fee_detail_month t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        where 1=1
        and t.detail_id = '-1'
        <if test="configId !=null and configId != ''">
            and t.config_id = #{configId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
            and t.obj_name like CONCAT('%',#{objName},'%')
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        <if test="ownerName !=null and ownerName != ''">
            and t.owner_name like CONCAT('%',#{ownerName},'%')
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        <if test="link !=null and link != ''">
            and t.link = #{link}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
        <if test="startTime !=null and startTime !=''">
            and t.deadline_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.deadline_time &lt;= #{endTime}
        </if>
        ) t
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryDeadlineFee" parameterType="Map" resultType="Map">
        SELECT
        select
        t.obj_name objName,
        pf.payer_obj_type objType,
        t.fee_name feeName,
        t.deadline_time deadlineTime
        FROM
        report_fee_month_statistics t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join building_room br on t.obj_id = br.room_id and t.obj_type = '3333' 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'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        from pay_fee_detail_month t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        where 1=1
        and t.detail_id = '-1'
        <if test="configId !=null and configId != ''">
            and t.config_id = #{configId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
            and t.obj_name like CONCAT('%',#{objName},'%')
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        <if test="ownerName !=null and ownerName != ''">
            and t.owner_name like CONCAT('%',#{ownerName},'%')
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        <if test="link !=null and link != ''">
            and t.link = #{link}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
@@ -1564,24 +2059,34 @@
    <select id="queryPrePaymentNewCount" parameterType="Map" resultType="Map">
        select count(1) count
        from (
        select pfc.fee_name feeName, f.floor_num floorNum,bu.unit_num unitNum,br.room_num roomNum,t.end_time endTime
        ,oc.car_num carNum
        select pfc.fee_name feeName,pfa.`value` objName,pfa1.`value` link,pfa2.`value` ownerName, t.end_time endTime ,
        t.payer_obj_type payerObjType
        from pay_fee t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join building_room br on t.payer_obj_id = br.room_id and t.payer_obj_type = '3333' 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 f.floor_id = bu.floor_id and f.status_cd = '0'
        left join owner_car oc on t.payer_obj_id = oc.car_id and t.payer_obj_type = '6666' and oc.status_cd = '0' and
        oc.car_type_cd='1001'
        LEFT JOIN pay_fee_attrs pfa on t.fee_id = pfa.fee_id and pfa.spec_cd = '390012' and pfa.status_cd = '0'
        LEFT JOIN pay_fee_attrs pfa1 on t.fee_id = pfa1.fee_id and pfa1.spec_cd = '390009' and pfa1.status_cd = '0'
        LEFT JOIN pay_fee_attrs pfa2 on t.fee_id = pfa2.fee_id and pfa2.spec_cd = '390008' and pfa2.status_cd = '0'
        where t.state = '2008001'
        and t.status_cd = '0'
        <if test="ownerName != null and ownerName != ''">
            and pfa2.value like concat('%' #{ownerName} ,'%')
        </if>
        <if test="objName != null and objName != ''">
            and pfa.`value` like concat('%',#{objName},'%')
        </if>
        <if test="link != null and link != ''">
            and pfa1.`value` = #{link}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id = #{configId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.end_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
        <if test="endTime !=null  and endTime != ''">
            and t.end_time &lt;= #{endTime}
        </if>
        ) t
@@ -1589,17 +2094,27 @@
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryPrePayment" parameterType="Map" resultType="Map">
        select pfc.fee_name feeName, f.floor_num floorNum,bu.unit_num unitNum,br.room_num roomNum,t.end_time endTime ,
        oc.car_num carNum,t.payer_obj_type payerObjType
        select pfc.fee_name feeName,pfa.`value` objName,pfa1.`value` link,pfa2.`value` ownerName, t.end_time endTime ,
        t.payer_obj_type payerObjType
        from pay_fee t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join building_room br on t.payer_obj_id = br.room_id and t.payer_obj_type = '3333' 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 f.floor_id = bu.floor_id and f.status_cd = '0'
        left join owner_car oc on t.payer_obj_id = oc.car_id and t.payer_obj_type = '6666' and oc.status_cd = '0' and
        oc.car_type_cd='1001'
        LEFT JOIN pay_fee_attrs pfa on t.fee_id = pfa.fee_id and pfa.spec_cd = '390012' and pfa.status_cd = '0'
        LEFT JOIN pay_fee_attrs pfa1 on t.fee_id = pfa1.fee_id and pfa1.spec_cd = '390009' and pfa1.status_cd = '0'
        LEFT JOIN pay_fee_attrs pfa2 on t.fee_id = pfa2.fee_id and pfa2.spec_cd = '390008' and pfa2.status_cd = '0'
        where t.state = '2008001'
        and t.status_cd = '0'
        <if test="ownerName != null and ownerName != ''">
            and pfa2.value like concat('%' #{ownerName} ,'%')
        </if>
        <if test="objName != null and objName != ''">
            and pfa.`value` like concat('%',#{objName},'%')
        </if>
        <if test="link != null and link != ''">
            and pfa1.`value` = #{link}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id = #{configId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
@@ -1615,62 +2130,66 @@
    </select>
    <select id="queryPrePaymentCount" parameterType="Map" resultType="Map">
        select pfc.fee_name feeName,count(t.payer_obj_id) objCount from pay_fee t
        select pfc.fee_name feeName, count(t.payer_obj_id) objCount
        from pay_fee t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        where t.state = '2008001'
        and t.status_cd = '0'
        and t.end_time &gt; #{startTime}
        and t.end_time &lt; #{endTime}
        and t.community_id= #{communityId}
        group by pfc.fee_name ,pfc.config_id
        and t.community_id = #{communityId}
        group by pfc.fee_name, pfc.config_id
        order by objCount
    </select>
    <select id="queryDeadlinePaymentCount" parameterType="Map" resultType="Map">
        SELECT
        t.fee_name feeName,
        count(t.obj_id) objCount
        FROM
        report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        WHERE
        1 = 1
        SELECT t.fee_name feeName, count(t.obj_id) objCount
        FROM report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id
        and pf.community_id = t.community_id and pf.status_cd = '0'
        WHERE 1 = 1
        AND t.status_cd = '0'
        and t.community_id= #{communityId}
        and t.community_id = #{communityId}
        AND t.deadline_time &gt; #{startTime}
        AND t.deadline_time &lt; #{endTime}
        group by t.config_id,t.fee_name
        group by t.config_id, t.fee_name
        order by objCount desc
    </select>
    <select id="queryOwePaymentCount" parameterType="Map" resultType="Map">
        select t.fee_name feeName,count( distinct t.obj_id) objCount
        select t.fee_name feeName, count(distinct t.obj_id) objCount
        from report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        inner join pay_fee pf
        on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.community_id = #{communityId}
        and t.owe_amount > 0
        group by t.config_id,t.fee_name
        group by t.config_id, t.fee_name
        order by objCount desc
    </select>
    <select id="queryAllPaymentCount" parameterType="Map" resultType="Map">
        select t.fee_name feeName,count(distinct t.obj_id) objCount
        select t.fee_name feeName, count(distinct t.obj_id) objCount
        from report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        inner join pay_fee pf
        on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.community_id = #{communityId}
        group by t.config_id,t.fee_name
        group by t.config_id, t.fee_name
        order by objCount desc
    </select>
    <select id="queryFinishOweFee" parameterType="Map" resultType="Map">
        select t.config_id configId, t.fee_id feeId,t.statistics_id statisticsId,t.fee_year feeYear,fee_month feeMonth
        select t.config_id configId,
        t.fee_id feeId,
        t.statistics_id statisticsId,
        t.fee_year feeYear,
        fee_month feeMonth
        from report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.state = '2009001' and pf.community_id = #{communityId} and
        inner join pay_fee pf
        on t.fee_id = pf.fee_id and pf.state = '2009001' and pf.community_id = #{communityId} and
        pf.status_cd = '0'
        where t.owe_amount > 0
        and t.status_cd = '0'
        and t.community_id = #{communityId}
        limit 100
        and t.community_id = #{communityId} limit 100
    </select>
    <!-- 查询费用配置信息 add by wuxw 2018-07-03 -->
@@ -1887,33 +2406,61 @@
    </select>
    <select id="getReceivableInformation" parameterType="Map" resultType="Map">
        select sum(t.receivable_amount) receivableAmount,SUM(t.received_amount) receivedAmount,SUM(t.owe_amount)
        oweAmount
        select a.receivableAmount,a.receivedAmount, IF(a.receivableAmount &lt;
        a.oweReceivedAmount,'0',a.receivableAmount-a.oweReceivedAmount) oweAmount
        from (
        select sum(t.his_owe_amount+t.cur_receivable_amount)
        receivableAmount,sum(t.cur_received_amount+t.his_owe_received_amount+t.pre_received_amount) receivedAmount,
        sum(t.cur_received_amount+t.his_owe_received_amount) oweReceivedAmount
        from report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        where t.community_id = #{communityId}
        where 1=1
        and t.fee_year= #{feeYear}
        and t.fee_month= #{feeMonth}
        and t.community_id = #{communityId}
        ) a
    </select>
    <select id="getFloorReceivableInformation" parameterType="Map" resultType="Map">
        select f.floor_num floorNum,f.`name`,sum(t.receivable_amount) receivableAmount,SUM(t.received_amount)
        receivedAmount,SUM(t.owe_amount) oweAmount
        select a.floorNum,a.`name`,a.receivableAmount,a.receivedAmount, IF(a.receivableAmount &lt;
        a.oweReceivedAmount,'0',a.receivableAmount-a.oweReceivedAmount) oweAmount
        from (
        select f.floor_num floorNum,f.`name`,sum(t.his_owe_amount+t.cur_receivable_amount)
        receivableAmount,sum(t.cur_received_amount+t.his_owe_received_amount+t.pre_received_amount) receivedAmount,
        sum(t.cur_received_amount+t.his_owe_received_amount) oweReceivedAmount
        from report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        inner join building_room br on br.room_id = t.obj_id and t.obj_type = '3333' and br.community_id =
        t.community_id and br.status_cd = '0'
        inner join building_unit bu on bu.unit_id = br.unit_id and bu.status_cd = '0'
        inner join f_floor f on f.floor_id = bu.floor_id and f.status_cd = '0'
        where t.community_id = #{communityId}
        where 1=1
        and t.fee_year= #{feeYear}
        and t.fee_month= #{feeMonth}
        and t.community_id = #{communityId}
        group by f.floor_num ,f.`name`
        ) a
    </select>
    <select id="getFeeConfigReceivableInformation" parameterType="Map" resultType="Map">
        select t.fee_name feeName,sum(t.receivable_amount) receivableAmount,SUM(t.received_amount)
        receivedAmount,SUM(t.owe_amount) oweAmount
        select a.feeName,a.receivableAmount,a.receivedAmount, IF(a.receivableAmount &lt;
        a.oweReceivedAmount,'0',a.receivableAmount-a.oweReceivedAmount) oweAmount
        from (
        select t.fee_name feeName,sum(t.his_owe_amount+t.cur_receivable_amount)
        receivableAmount,sum(t.cur_received_amount+t.his_owe_received_amount+t.pre_received_amount) receivedAmount,
        sum(t.cur_received_amount+t.his_owe_received_amount) oweReceivedAmount
        from report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        where t.community_id = #{communityId}
        left join building_room br on br.room_id = t.obj_id and t.obj_type = '3333' and br.community_id =
        t.community_id and br.status_cd = '0'
        left join building_unit bu on bu.unit_id = br.unit_id and bu.status_cd = '0'
        left join f_floor f on f.floor_id = bu.floor_id and f.status_cd = '0'
        where 1=1
        and t.fee_year= #{feeYear}
        and t.fee_month= #{feeMonth}
        and t.community_id = #{communityId}
        group by t.fee_name
        ) a
    </select>
@@ -1921,11 +2468,14 @@
    <select id="queryNoFeeRoomsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from building_room t
        inner join building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join building_unit bu
        on t.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        where t.status_cd = '0'
        and not exists(
        select 1 from pay_fee pf where t.room_id = pf.payer_obj_id and pf.status_cd = '0' and pf.state = '2008001'
        and not exists (
        select 1 from pay_fee pf where t.room_id = pf.payer_obj_id
        and pf.status_cd = '0'
        and pf.state = '2008001'
        )
        and t.community_id = #{communityId}
    </select>
@@ -2228,6 +2778,12 @@
        <if test="objName !=null and objName != ''">
            and rfms.obj_name= #{objName}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and rfms.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and rfms.fee_month= #{feeMonth}
        </if>
        GROUP BY t.floor_num
        ) a,
        (select t.floor_num floorNum,SUM(curT.owe_amount) curOweAmount
@@ -2245,6 +2801,9 @@
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and curT.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and curT.fee_month= #{feeMonth}
        </if>
        GROUP BY t.floor_num
        ) b
@@ -2275,6 +2834,12 @@
        <if test="objName !=null and objName != ''">
            and rfms.obj_name= #{objName}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and rfms.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and rfms.fee_month= #{feeMonth}
        </if>
        GROUP BY t.floor_num
        ) a,
        (select t.floor_num floorNum,SUM(curT.owe_amount) curOweAmount
@@ -2292,6 +2857,9 @@
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and curT.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and curT.fee_month= #{feeMonth}
        </if>
        GROUP BY t.floor_num
        ) b
@@ -2411,11 +2979,11 @@
    <select id="queryHuaningPayFeeTwoCount" parameterType="Map" resultType="Map">
        select count(1) count
        from (
        select a.floorNum,d.receivableAmount ,
        a.receivedAmount,b.receivedAmount1,
        select a.floorNum, d.receivableAmount,
        a.receivedAmount, b.receivedAmount1,
        c.receivedAmount2
        from
        (select t.floor_num floorNum,sum(pfd.received_amount) receivedAmount
        (select t.floor_num floorNum, sum (pfd.received_amount) receivedAmount
        from f_floor t
        inner JOIN building_unit bu on t.floor_id = bu.floor_id and bu.status_cd = '0'
        inner JOIN building_room br on br.unit_id = bu.unit_id and br.status_cd = '0'
@@ -2423,11 +2991,11 @@
        inner join pay_fee_detail pfd on pf.fee_id = pfd.fee_id and pfd.status_cd = '0'
        where 1=1
        and t.status_cd = '0'
        and DATE_FORMAT(pfd.create_time,'%Y-%m') = #{yearMonth}
        and DATE_FORMAT(pfd.create_time, '%Y-%m') = #{yearMonth}
        and t.community_id= #{communityId}
        GROUP BY floor_num
        ) a,
        (select t.floor_num floorNum,SUM(pfdm1.discount_amount) receivedAmount1
        (select t.floor_num floorNum, SUM (pfdm1.discount_amount) receivedAmount1
        from f_floor t
        inner JOIN building_unit bu on t.floor_id = bu.floor_id and bu.status_cd = '0'
        inner JOIN building_room br on br.unit_id = bu.unit_id and br.status_cd = '0'
@@ -2437,11 +3005,11 @@
        pfdm1.status_cd = '0' and pfdm1.detail_year = #{year} and pfdm1.detail_month &lt; #{month}
        where 1=1
        and t.status_cd = '0'
        and DATE_FORMAT(pfd.create_time,'%Y-%m') = #{yearMonth}
        and DATE_FORMAT(pfd.create_time, '%Y-%m') = #{yearMonth}
        and t.community_id= #{communityId}
        GROUP BY floor_num
        ) b,
        (select t.floor_num floorNum,SUM(pfdm2.received_amount) receivedAmount2
        (select t.floor_num floorNum, SUM (pfdm2.received_amount) receivedAmount2
        from f_floor t
        inner JOIN building_unit bu on t.floor_id = bu.floor_id and bu.status_cd = '0'
        inner JOIN building_room br on br.unit_id = bu.unit_id and br.status_cd = '0'
@@ -2451,11 +3019,11 @@
        pfdm2.status_cd = '0' and pfdm2.detail_year = #{year} and pfdm2.detail_month &gt; #{month}
        where 1=1
        and t.status_cd = '0'
        and DATE_FORMAT(pfd.create_time,'%Y-%m') = #{yearMonth}
        and DATE_FORMAT(pfd.create_time, '%Y-%m') = #{yearMonth}
        and t.community_id= #{communityId}
        GROUP BY floor_num
        ) c,
        (select t.floor_num floorNum,SUM(rfms.owe_amount) receivableAmount
        (select t.floor_num floorNum, SUM (rfms.owe_amount) receivableAmount
        from f_floor t
        inner JOIN building_unit bu on t.floor_id = bu.floor_id and bu.status_cd = '0'
        inner JOIN building_room br on br.unit_id = bu.unit_id and br.status_cd = '0'
@@ -2566,8 +3134,7 @@
    <select id="getReceivedAmountByMonth" parameterType="Map" resultType="Map">
        select ifnull(sum(t.received_amount),0) total
        from pay_fee_detail_month t
        where
        1=1
        where 1=1
        and t.create_time &gt; #{startTime}
        and t.create_time &lt; #{endTime}
        and t.fee_id = #{feeId}
@@ -2602,16 +3169,17 @@
    <!-- 查询无效费用 add by wuxw 2018-07-03 -->
    <select id="queryInvalidFeeMonthStatistics" parameterType="Map" resultType="Map">
        select t.fee_id feeId from pay_fee t
        select t.fee_id feeId
        from pay_fee t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id
        inner join report_fee_month_statistics rfms on t.fee_id = rfms.fee_id and rfms.status_cd = '0'
        where (t.status_cd = '1' or pfc.status_cd = '1')
        and t.community_id= #{communityId}
        and t.community_id = #{communityId}
    </select>
    <!--清理报表 无效数据-->
    <update id="deleteInvalidFee" parameterType="Map">
        delete from report_fee_month_statistics where fee_id  in
        delete from report_fee_month_statistics where fee_id in
        <foreach collection="feeIds" item="item" open="(" close=")" separator=",">
            #{item}
        </foreach>