chengf
2025-09-08 064905677e2a78e1a5945d6fd606440fa43d62c0
java110-db/src/main/resources/mapper/fee/ReportFeeServiceDaoImplMapper.xml
@@ -36,7 +36,7 @@
        <foreach collection="monthList" item="month" separator=",">
            ROUND(SUM(CASE
            WHEN YEAR(d.create_time) = YEAR(now()) AND MONTH(d.create_time) = ${month} AND f.detail_id != -1 THEN d.received_amount
            WHEN YEAR(d.create_time) = YEAR(#{currentYear}) AND MONTH(d.create_time) = ${month} AND f.detail_id != -1 THEN d.received_amount
            ELSE 0 END), 2) AS '当年${month}月实缴'
        </foreach>,
@@ -62,12 +62,14 @@
    <select id="repostInFeeTwo" resultType="java.util.Map">
        SELECT
            year AS 年份,
            month AS 月份,
            SUM(应缴金额) AS 应缴金额,
            SUM(实缴金额) AS 实缴金额
        FROM (
                 -- 子查询分别计算应缴和实缴
                 -- 子查询分别计算应缴和实缴,同时提取月份
                 SELECT
                     YEAR(in_time) AS year,
                     MONTH(in_time) AS month,  -- 提取月份
                     payment_amount AS 应缴金额,
                     0 AS 实缴金额
                 FROM car_inout WHERE community_id = #{communityId}
@@ -76,12 +78,13 @@
                 SELECT
                     YEAR(create_time) AS year,
                     MONTH(create_time) AS month,  -- 提取月份
                     0 AS 应缴金额,
                     payment_amount AS 实缴金额
                 FROM car_inout WHERE community_id = #{communityId}
             ) AS temp
        GROUP BY year
        ORDER BY year;
        GROUP BY year, month  -- 同时按年份和月份分组
        ORDER BY year, month;  -- 同时按年份和月份排序
    </select>
    <select id="countRepostPaidInFeeByWhiteOrder" parameterType="Map" resultType="Map">
@@ -123,12 +126,15 @@
        LEFT JOIN s_community bc ON bc.community_id = pfd.community_id
        LEFT JOIN pay_fee pf ON pf.fee_id = pfd.fee_id
        LEFT JOIN building_room br ON br.room_id = pf.payer_obj_id
        left join building_unit bu on br.unit_id = bu.unit_id
        left join f_floor ff on ff.floor_id = bu.floor_id
        LEFT JOIN pay_fee_config pfc ON pf.config_id = pfc.config_id
        LEFT JOIN property_white_list_flow pw
        ON pfd.create_time = pw.input_time
        ON DATE(pfd.create_time) = pw.charge_time
        AND pfd.start_time = pw.charge_start
        AND pfd.cashier_name = pw.charger
        WHERE pfd.state = 1400
        AND pw.door_room_num = CONCAT(ff.floor_num,'-',br.door_room_num)
        WHERE pfd.state = 1400 and pf.payer_obj_type = '3333'
        <if test="communityId != null">
            AND pfd.community_id = #{communityId}  -- 保留原社区筛选条件
        </if>
@@ -218,11 +224,15 @@
        LEFT JOIN s_community bc ON bc.community_id = pfd.community_id
        LEFT JOIN pay_fee pf ON pf.fee_id = pfd.fee_id
        LEFT JOIN building_room br ON br.room_id = pf.payer_obj_id
        left join building_unit bu on br.unit_id = bu.unit_id
        left join f_floor ff on ff.floor_id = bu.floor_id
        LEFT JOIN pay_fee_config pfc ON pf.config_id = pfc.config_id
        LEFT JOIN property_white_list_flow pw ON pfd.create_time = pw.input_time
        LEFT JOIN property_white_list_flow pw
        ON DATE(pfd.create_time) = pw.charge_time
        AND pfd.start_time = pw.charge_start
        AND pfd.cashier_name = pw.charger
        WHERE pfd.state = 1400
        AND pw.door_room_num = CONCAT(ff.floor_num,'-',br.door_room_num)
        WHERE pfd.state = 1400 and pf.payer_obj_type = '3333'
        <if test="communityId != null">
            and pfd.community_id = #{communityId}
        </if>