Your Name
2023-07-05 4ed693f48d1435de7a6333df17c2b34154731429
java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
@@ -249,7 +249,7 @@
        and t.community_id= #{communityId}
        and t.pay_fee_time > #{startDate}
        and t.pay_fee_time < #{endDate}
        and t.cur_month_time > #{endDate}
        and t.cur_month_time >= #{endDate}
    </select>
    <!-- 查询实收费用 -->
@@ -337,7 +337,7 @@
        and pf.payer_obj_type = '3333'
        and t.community_id= #{communityId}
        and t.cur_month_time &lt; #{endDate}
        and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
        and t.detail_id = '-1'
        group by a.room_id
        ) a
    </select>
@@ -403,7 +403,7 @@
        and pf.payer_obj_type = '3333'
        and t.community_id= a.community_id
        and t.cur_month_time &lt; #{endDate}
        and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
        and detail_id = '-1'
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -479,7 +479,7 @@
        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.cur_month_time &gt;= #{endDate}
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -524,7 +524,7 @@
        and bu.floor_id = a.floor_id
        and t.status_cd = '0'
        and t.community_id= a.community_id
        and t.cur_month_time &gt; #{startDate}
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        <if test="configIds !=null ">
            and t.config_id in
@@ -535,7 +535,32 @@
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        ) curReceivableFee
        ) curReceivableFee,
        (
        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
        from f_floor a
        where 1=1
        and a.status_cd = '0'
@@ -547,7 +572,7 @@
        select a.name,
        (
        select count(1) from (
        select pf.fee_type_cd,a.room_id
        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'
@@ -556,9 +581,9 @@
        1=1
        and a.status_cd = '0'
        and pf.payer_obj_type = '3333'
        and t.community_id= a.community_id
        and t.community_id= #{communityId}
        and t.cur_month_time &lt; #{endDate}
        and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
        and t.detail_id = '-1'
        <if test="configIds !=null ">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -574,7 +599,7 @@
        ) oweRoomCount,
        (
        select count(1) from (
        select pf.fee_type_cd,a.room_id
        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'
@@ -609,7 +634,7 @@
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = a.floor_id
            and bu.floor_id = #{floorId}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
@@ -634,13 +659,14 @@
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = a.floor_id
            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.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=",">
@@ -660,7 +686,7 @@
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = a.floor_id
            and bu.floor_id = #{floorId}
        </if>
        and t.status_cd = '0'
        and t.community_id= #{communityId}
@@ -685,11 +711,11 @@
        where
        1=1
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = a.floor_id
            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 &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        <if test="configIds !=null ">
            and t.config_id in
@@ -698,7 +724,34 @@
            </foreach>
        </if>
        and pf.fee_type_cd = a.status_cd
        ) curReceivableFee
        ) curReceivableFee,
        (
        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
        from t_dict a
        where 1=1
        and a.table_name = 'pay_fee_config'
@@ -915,13 +968,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 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 br.status_cd = '0'
        and br.community_id= #{communityId}
        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
@@ -1052,11 +1108,11 @@
        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'
        where 1=1
        and t.payer_obj_type = '3333'
        and pf.payer_obj_type = '3333'
        and t.community_id = #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
        and t.payer_obj_id in
        and pf.payer_obj_id in
        <foreach collection="objIds" item="item" index="index" open="(" close=")" separator=",">
            #{item}
        </foreach>
@@ -1068,7 +1124,8 @@
        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
        bu.floor_id = #{floorId}
        1=1
        and bu.floor_id = #{floorId}
        and t.community_id = #{communityId}
        and t.create_time &gt; #{startDate}
        and t.create_time &lt; #{endDate}
@@ -1129,5 +1186,208 @@
        and t.detail_id != '-1'
        and t.status_cd = '0'
    </select>
    <!-- 查询月收入数据 -->
    <select id="getMonthReceivedDetailCount" parameterType="Map" resultType="Map">
        select count(1) count
        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'
        where 1=1
        and t.status_cd = '0'
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id != '-1'
        and t.community_id = #{communityId}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </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>
    </select>
    <!-- 月实收 查询-->
    <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,
        pfd.pay_order_id payOrderId,pfd.cashier_name cashierName,
        t.receivable_amount receivableAmount,t.received_amount receivedAmount,pfd.create_time createTime
        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'
        where 1=1
        and t.status_cd = '0'
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id != '-1'
        and t.community_id = #{communityId}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </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="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 月实收总金额 查询-->
    <select id="getMonthReceivedDetailAmount" parameterType="Map" resultType="Map">
        select ifnull(sum(t.received_amount),0.0) amount
        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'
        where 1=1
        and t.status_cd = '0'
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id != '-1'
        and t.community_id = #{communityId}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </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>
    </select>
    <!-- 查询月欠费数据 -->
    <select id="getMonthOweDetailCount" parameterType="Map" resultType="Map">
        select count(1) count
        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'
        where 1=1
        and t.status_cd = '0'
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id = '-1'
        and t.community_id = #{communityId}
        and t.receivable_amount &gt; 0
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </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>
    </select>
    <!-- 月实收 查询-->
    <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
        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'
        where 1=1
        and t.status_cd = '0'
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id = '-1'
        and t.receivable_amount &gt; 0
        and t.community_id = #{communityId}
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </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="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 月欠费总金额 查询-->
    <select id="getMonthOweDetailAmount" parameterType="Map" resultType="Map">
        select ifnull(sum(t.receivable_amount),0.0) amount
        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'
        where 1=1
        and t.status_cd = '0'
        and t.cur_month_time &gt;= #{startDate}
        and t.cur_month_time &lt; #{endDate}
        and t.detail_id = '-1'
        and t.community_id = #{communityId}
        and t.receivable_amount &gt; 0
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pf.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="floorId != null and floorId != ''">
            and bu.floor_id = #{floorId}
        </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>
    </select>
</mapper>