From 838618d0d4a7dd3b585a3a7390fa389e555c9bb0 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期一, 22 六月 2026 15:44:40 +0800
Subject: [PATCH] feat:新增通方公司工业品买卖合同新增

---
 platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml |   62 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml
index 94fd082..c3364b2 100644
--- a/platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ContractPaymentScheduleMapper.xml
@@ -89,6 +89,9 @@
 		<if test="queryDTO.industryId !=null">
 			and bc.industry_id = #{queryDTO.industryId}
 		</if>
+		<if test="queryDTO.classId !=null">
+			and bc.class_id = #{queryDTO.classId}
+		</if>
 		GROUP BY
 		ranges.overdue_range,
 		ranges.min_days
@@ -227,4 +230,63 @@
 		ORDER BY
 			ranges.min_days;
 	</select>
+	<select id="selectAgingTotalScale" resultType="com.by4cloud.platformx.business.vo.AgingVo">
+		SELECT
+		ranges.overdue_range,
+		COALESCE (
+		SUM(
+		CASE
+
+		WHEN cps.payment_status = '0' THEN
+		cps.planned_amount
+		WHEN cps.payment_status = '1' THEN
+		cps.planned_amount - cps.actual_amount ELSE 0
+		END
+		),
+		0
+		) AS total_amount
+		FROM
+		(
+		SELECT
+		'0-30澶�' AS overdue_range,
+		0 AS min_days,
+		30 AS max_days UNION ALL
+		SELECT
+		'31-60澶�',
+		31,
+		60 UNION ALL
+		SELECT
+		'61-90澶�',
+		61,
+		90 UNION ALL
+		SELECT
+		'91-180澶�',
+		91,
+		180 UNION ALL
+		SELECT
+		'181-365澶�',
+		181,
+		365 UNION ALL
+		SELECT
+		'1骞翠互涓�',
+		366,
+		999999
+		) AS ranges
+		LEFT JOIN contract_payment_schedule cps ON cps.del_flag = '0'
+		AND cps.payment_status NOT IN ( '2', '3' )
+		AND cps.effective_end_date &lt; CURRENT_DATE
+	 	AND DATEDIFF( CURRENT_DATE, cps.effective_end_date ) BETWEEN ranges.min_days
+		AND ranges.max_days
+		LEFT JOIN contract c ON cps.contract_id = c.id
+		WHERE
+		c.del_flag = '0'
+		<if test="queryDTO.companyId !=null">
+			and c.party_b_id = #{queryDTO.companyId}
+		</if>
+		GROUP BY
+		ranges.overdue_range,
+		ranges.min_days
+		ORDER BY
+		ranges.min_days;
+	</select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1