From 5bfe05fa33b82fb055806125c7bacaac688241f8 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期五, 22 八月 2025 09:54:03 +0800
Subject: [PATCH] 暂存0822
---
java110-db/src/main/resources/mapper/fee/ReportFeeServiceDaoImplMapper.xml | 84 ++++++++++++++++-------------------------
1 files changed, 33 insertions(+), 51 deletions(-)
diff --git a/java110-db/src/main/resources/mapper/fee/ReportFeeServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/fee/ReportFeeServiceDaoImplMapper.xml
index 26fb689..638f854 100644
--- a/java110-db/src/main/resources/mapper/fee/ReportFeeServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/fee/ReportFeeServiceDaoImplMapper.xml
@@ -4,67 +4,49 @@
<mapper namespace="reportFeeServiceDaoImpl">
<select id="repostInFee" resultType="java.util.Map">
SELECT
- fee_type_cd AS 'fee_type_cd',
- detail_year,
- -- 褰撳勾搴旀敹娆鹃」鍚堣锛堜繚鐣�2浣嶅皬鏁帮級
- ROUND(SUM(CASE WHEN detail_year BETWEEN 2020 AND 2025 THEN receivable_amount ELSE 0 END), 2) AS '璇ュ勾搴旂即鎬婚',
+ fee_type_cd AS 'fee_type_cd',
+ detail_year,
+ ROUND(SUM(CASE WHEN detail_year BETWEEN ${startYear} AND ${endYear} THEN receivable_amount ELSE 0 END), 2) AS '璇ュ勾搴旂即鎬婚',
+ ROUND(
+ CASE
+ WHEN SUM(CASE WHEN detail_year BETWEEN ${startYear} AND ${endYear} THEN receivable_amount ELSE 0 END) = 0 THEN 0
+ ELSE SUM(CASE WHEN detail_year BETWEEN ${startYear} AND ${endYear} THEN received_amount ELSE 0 END)
+ / SUM(CASE WHEN detail_year BETWEEN ${startYear} AND ${endYear} THEN receivable_amount ELSE 0 END) * 100
+ END, 2
+ ) AS '褰撳勾鏀剁即鐜�',
- -- 褰撳勾鏀剁即鐜囷紙淇濈暀2浣嶅皬鏁帮紝鐧惧垎姣旀牸寮忥級
- ROUND(
- CASE
- WHEN SUM(CASE WHEN detail_year BETWEEN 2020 AND 2025 THEN receivable_amount ELSE 0 END) = 0 THEN 0
- ELSE SUM(CASE WHEN detail_year BETWEEN 2020 AND 2025 THEN received_amount ELSE 0 END)
- / SUM(CASE WHEN detail_year BETWEEN 2020 AND 2025 THEN receivable_amount ELSE 0 END) * 100
- END, 2
- ) AS '褰撳勾鏀剁即鐜�',
+ ROUND(SUM(CASE WHEN detail_year BETWEEN ${startYear} AND ${endYear} THEN discount_amount ELSE 0 END), 2) AS '鎶樻墸閲戦',
- -- 鎬绘姌鎵i噾棰濓紙淇濈暀2浣嶅皬鏁帮級
- ROUND(SUM(CASE WHEN detail_year BETWEEN 2020 AND 2025 THEN discount_amount ELSE 0 END), 2) AS '鎶樻墸閲戦',
+ <foreach collection="yearList" item="year" separator=",">
+ <if test="year != endYear"> <!-- 鎺掗櫎鏈�鍚庝竴骞达紝鏈�鍚庝竴骞村崟鐙鐞嗕负鈥滃綋骞村疄缂粹�� -->
+ ROUND(SUM(CASE WHEN detail_year = ${year} THEN received_amount ELSE 0 END), 2) AS '${year}骞村疄缂�'
+ </if>
+ </foreach>,
- -- 2020-2024骞村疄鏀堕噾棰濓紙淇濈暀2浣嶅皬鏁帮級
- ROUND(SUM(CASE WHEN detail_year = 2020 THEN received_amount ELSE 0 END), 2) AS '2020骞村疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2021 THEN received_amount ELSE 0 END), 2) AS '2021骞村疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2022 THEN received_amount ELSE 0 END), 2) AS '2022骞村疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2023 THEN received_amount ELSE 0 END), 2) AS '2023骞村疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2024 THEN received_amount ELSE 0 END), 2) AS '2024骞村疄缂�',
+ ROUND(SUM(CASE WHEN detail_year = ${endYear} THEN receivable_amount ELSE 0 END), 2) AS '褰撳勾棰勭畻',
+ ROUND(SUM(CASE WHEN detail_year = ${endYear} THEN received_amount ELSE 0 END), 2) AS '${endYear}骞村疄缂�',
+ ROUND(SUM(CASE WHEN detail_year = ${endYear} THEN discount_amount ELSE 0 END), 2) AS '褰撳勾鎶樻墸鎬婚',
+ ROUND(SUM(CASE WHEN detail_year = ${endYear} THEN receivable_amount - received_amount ELSE 0 END), 2) AS '褰撳勾娆犳',
- -- 2025骞村悎璁℃暟鎹紙淇濈暀2浣嶅皬鏁帮級
- ROUND(SUM(CASE WHEN detail_year = 2025 THEN receivable_amount ELSE 0 END), 2) AS '褰撳勾棰勭畻',
- ROUND(SUM(CASE WHEN detail_year = 2025 THEN received_amount ELSE 0 END), 2) AS '2025骞村疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 THEN discount_amount ELSE 0 END), 2) AS '褰撳勾鎶樻墸鎬婚',
- ROUND(SUM(CASE WHEN detail_year = 2025 THEN receivable_amount - received_amount ELSE 0 END), 2) AS '褰撳勾娆犳',
+ <foreach collection="monthList" item="month" separator=",">
+ ROUND(SUM(CASE WHEN detail_year = ${endYear} AND detail_month = ${month} THEN received_amount ELSE 0 END), 2) AS '褰撳勾${month}鏈堝疄缂�'
+ </foreach>,
- -- 2025骞村悇鏈堜唤瀹炴敹锛堜繚鐣�2浣嶅皬鏁帮級
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 1 THEN received_amount ELSE 0 END), 2) AS '褰撳勾1鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 2 THEN received_amount ELSE 0 END), 2) AS '褰撳勾2鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 3 THEN received_amount ELSE 0 END), 2) AS '褰撳勾3鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 4 THEN received_amount ELSE 0 END), 2) AS '褰撳勾4鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 5 THEN received_amount ELSE 0 END), 2) AS '褰撳勾5鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 6 THEN received_amount ELSE 0 END), 2) AS '褰撳勾6鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 7 THEN received_amount ELSE 0 END), 2) AS '褰撳勾7鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 8 THEN received_amount ELSE 0 END), 2) AS '褰撳勾8鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 9 THEN received_amount ELSE 0 END), 2) AS '褰撳勾9鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 10 THEN received_amount ELSE 0 END), 2) AS '褰撳勾10鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 11 THEN received_amount ELSE 0 END), 2) AS '褰撳勾11鏈堝疄缂�',
- ROUND(SUM(CASE WHEN detail_year = 2025 AND detail_month = 12 THEN received_amount ELSE 0 END), 2) AS '褰撳勾12鏈堝疄缂�',
+ ROUND(AVG(CASE WHEN detail_year BETWEEN ${startYear} AND ${endYear} THEN receivable_amount ELSE NULL END), 2) AS '姣忔湀璐圭敤',
+ COUNT(DISTINCT CASE WHEN detail_year BETWEEN ${startYear} AND ${endYear} THEN CONCAT(detail_year, '-', detail_month) END) AS '搴旀敹鏈堜唤鏁�',
- -- 姣忔湀璐圭敤锛堜繚鐣�2浣嶅皬鏁帮級鍜屽簲鏀舵湀浠芥暟锛堟暣鏁帮紝鏃犻渶澶勭悊锛�
- ROUND(AVG(CASE WHEN detail_year BETWEEN 2020 AND 2025 THEN receivable_amount ELSE NULL END), 2) AS '姣忔湀璐圭敤',
- COUNT(DISTINCT CASE WHEN detail_year BETWEEN 2020 AND 2025 THEN CONCAT(detail_year, '-', detail_month) END) AS '搴旀敹鏈堜唤鏁�',
-
- -- 璐圭敤鎵�灞炲勾浠斤紙鍖哄垎鏅�氳鍜屾眹鎬昏锛�
- CASE
- WHEN detail_year IS NULL THEN '绫诲瀷鎬昏'
- ELSE CAST(detail_year AS CHAR)
- END AS '璐圭敤鎵�灞炲勾浠�'
+ CASE
+ WHEN detail_year IS NULL THEN '绫诲瀷鎬昏'
+ ELSE CAST(detail_year AS CHAR)
+ END AS '璐圭敤鎵�灞炲勾浠�'
FROM
- pay_fee_detail_month
+ pay_fee_detail_month
WHERE
- community_id = #{communityId}
- detail_year BETWEEN 2020 AND 2025
+ community_id = #{communityId}
+ AND detail_year BETWEEN ${startYear} AND ${endYear} <!-- 鍔ㄦ�佸勾浠借繃婊� -->
GROUP BY
- fee_type_cd, detail_year
+ fee_type_cd, detail_year
WITH ROLLUP;
</select>
<insert id="saveReport" parameterType="Map">
--
Gitblit v1.8.0