From c5c284896ce6428cffc5092e9cdef4fefc23409f Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期五, 18 九月 2026 17:12:49 +0800
Subject: [PATCH] feat: 石煤机客商产品查询处理 合同推送新增选商方式和是否关联交易

---
 platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml |   93 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 82 insertions(+), 11 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml
index baaff55..701a0b1 100644
--- a/platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml
@@ -173,6 +173,33 @@
 		UNION ALL
 
 		SELECT
+		'鐭崇叅鏈哄叕鍙�' AS party_b_name,
+		SUM(CASE WHEN MONTH(sign_date) = 1 THEN amount ELSE 0 END) AS m01,
+		SUM(CASE WHEN MONTH(sign_date) = 2 THEN amount ELSE 0 END) AS m02,
+		SUM(CASE WHEN MONTH(sign_date) = 3 THEN amount ELSE 0 END) AS m03,
+		SUM(CASE WHEN MONTH(sign_date) = 4 THEN amount ELSE 0 END) AS m04,
+		SUM(CASE WHEN MONTH(sign_date) = 5 THEN amount ELSE 0 END) AS m05,
+		SUM(CASE WHEN MONTH(sign_date) = 6 THEN amount ELSE 0 END) AS m06,
+		SUM(CASE WHEN MONTH(sign_date) = 7 THEN amount ELSE 0 END) AS m07,
+		SUM(CASE WHEN MONTH(sign_date) = 8 THEN amount ELSE 0 END) AS m08,
+		SUM(CASE WHEN MONTH(sign_date) = 9 THEN amount ELSE 0 END) AS m09,
+		SUM(CASE WHEN MONTH(sign_date) = 10 THEN amount ELSE 0 END) AS m10,
+		SUM(CASE WHEN MONTH(sign_date) = 11 THEN amount ELSE 0 END) AS m11,
+		SUM(CASE WHEN MONTH(sign_date) = 12 THEN amount ELSE 0 END) AS m12,
+		SUM(amount) AS total_amt
+		FROM contract
+		WHERE
+		del_flag = '0'
+		AND amount IS NOT NULL
+		AND sign_date IS NOT NULL
+		AND YEAR(sign_date) = #{queryDTO.year}
+		AND	party_b_id IN (2089995177814495234,2089996921978040321,2089997578009128962)
+
+		GROUP BY party_b_id, party_b
+
+		UNION ALL
+
+		SELECT
 			'鎬昏' AS party_b_name,
 			SUM(CASE WHEN MONTH(sign_date) = 1 THEN amount ELSE 0 END),
 			SUM(CASE WHEN MONTH(sign_date) = 2 THEN amount ELSE 0 END),
@@ -338,6 +365,7 @@
 							and c.del_flag = '0'
 							and bc.del_flag = '0'
 							and bc.area_id = b.area_id
+							AND YEAR( c.sign_date ) = #{queryDTO.year}
 							and party_b_id IN
 							<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 								#{id}
@@ -357,6 +385,7 @@
 								and c.del_flag = '0'
 								and bc.del_flag = '0'
 								and bc.area_id = b.area_id
+								AND YEAR( c.sign_date ) = #{queryDTO.year}
 								and party_b_id IN
 								<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 									#{id}
@@ -376,6 +405,7 @@
 								and c.del_flag = '0'
 								and bc.del_flag = '0'
 								and bc.area_id = b.area_id
+								AND YEAR( c.sign_date ) = #{queryDTO.year}
 								and party_b_id IN
 								<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 									#{id}
@@ -395,6 +425,7 @@
 							and c.del_flag = '0'
 							and bc.del_flag = '0'
 							and bc.area_id = b.area_id
+							AND YEAR( c.sign_date ) = #{queryDTO.year}
 							and party_b_id IN
 							<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 								#{id}
@@ -414,6 +445,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.area_id = b.area_id
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -425,7 +457,8 @@
 			contract c
 				JOIN business_customer b ON c.party_a_id = b.id
 		WHERE
-			b.area_id IS NOT NULL
+		c.del_flag='0'
+		AND b.area_id IS NOT NULL
 		AND YEAR ( sign_date ) = #{queryDTO.year}
 		GROUP BY
 			b.area_id
@@ -445,6 +478,7 @@
 		where
 		c1.del_flag = '0'
 		and c1.industry_code = c.industry_code
+		AND YEAR( sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -462,6 +496,7 @@
 		where
 		c1.del_flag = '0'
 		and c1.industry_code = c.industry_code
+		AND YEAR( sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -479,6 +514,7 @@
 		where
 		c1.del_flag = '0'
 		and c1.industry_code = c.industry_code
+		AND YEAR( sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -496,6 +532,7 @@
 		where
 		c1.del_flag = '0'
 		and c1.industry_code = c.industry_code
+		AND YEAR( sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -513,6 +550,7 @@
 		where
 		      c1.del_flag = '0'
 		and c1.industry_code = c.industry_code
+		AND YEAR( sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -523,7 +561,8 @@
 		FROM
 		contract c
 		where
-		c.industry_code  is not null
+		c.del_flag='0'
+		AND c.industry_code  is not null
 		AND YEAR ( sign_date ) = #{queryDTO.year}
 		GROUP BY
 		c.industry_code
@@ -545,6 +584,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.class_id = b.class_id
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -564,6 +604,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.class_id = b.class_id
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -583,6 +624,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.class_id = b.class_id
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -602,6 +644,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.class_id = b.class_id
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -621,6 +664,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.class_id = b.class_id
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -632,7 +676,8 @@
 		contract c
 		JOIN business_customer b ON c.party_a_id = b.id
 		WHERE
-		b.class_id IS NOT NULL
+		c.del_flag='0'
+		AND b.class_id IS NOT NULL
 		AND YEAR ( sign_date ) = #{queryDTO.year}
 		GROUP BY
 		b.class_id
@@ -655,6 +700,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.export_service_attr = b.export_service_attr
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -674,6 +720,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.export_service_attr = b.export_service_attr
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -693,6 +740,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.export_service_attr = b.export_service_attr
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -712,6 +760,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.export_service_attr = b.export_service_attr
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -731,6 +780,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.export_service_attr = b.export_service_attr
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -742,7 +792,8 @@
 		contract c
 		JOIN business_customer b ON c.party_a_id = b.id
 		WHERE
-		b.export_service_attr IS NOT NULL
+		c.del_flag='0'
+		AND b.export_service_attr IS NOT NULL
 		AND YEAR ( sign_date ) = #{queryDTO.year}
 		GROUP BY
 		b.export_service_attr
@@ -762,6 +813,7 @@
 		WHERE
 		      ct.del_flag = '0'
 		and  ct.supply_attribute = c.supply_attribute
+		AND YEAR ( sign_date ) = #{queryDTO.year}
 		and ct.party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -779,6 +831,7 @@
 		WHERE
 		ct.del_flag = '0'
 		and  ct.supply_attribute = c.supply_attribute
+		AND YEAR ( sign_date ) = #{queryDTO.year}
 		and ct.party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -796,6 +849,7 @@
 		WHERE
 		ct.del_flag = '0'
 		and  ct.supply_attribute = c.supply_attribute
+		AND YEAR ( sign_date ) = #{queryDTO.year}
 		and ct.party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -813,6 +867,7 @@
 		WHERE
 		ct.del_flag = '0'
 		and  ct.supply_attribute = c.supply_attribute
+		AND YEAR ( sign_date ) = #{queryDTO.year}
 		and ct.party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -830,6 +885,7 @@
 		WHERE
 		ct.del_flag = '0'
 		and  ct.supply_attribute = c.supply_attribute
+		AND YEAR ( sign_date ) = #{queryDTO.year}
 		and ct.party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -885,7 +941,9 @@
 				DATE_FORMAT(sign_date, '%Y-%m') AS stat_month,
 				SUM(amount) AS total_amount
 			FROM contract
-			WHERE YEAR(sign_date) = #{queryDTO.year}
+			WHERE
+				del_flag='0'
+				AND YEAR(sign_date) = #{queryDTO.year}
 				 AND party_b_id = #{compId}
 			GROUP BY DATE_FORMAT(sign_date, '%Y-%m')
 		) curr ON m.stat_month = curr.stat_month
@@ -895,7 +953,8 @@
 				MONTH(sign_date) AS month_num,
 				SUM(amount) AS total_amount
 			FROM contract
-			WHERE YEAR(sign_date) = YEAR(CURDATE())
+			WHERE del_flag='0'
+			AND YEAR(sign_date) = YEAR(CURDATE())
 	  		AND party_b_id = #{compId}
 			GROUP BY DATE_FORMAT(sign_date, '%Y-%m'), MONTH(sign_date)
 		) prev ON m.month_num = prev.month_num + 1
@@ -904,7 +963,8 @@
 				MONTH(sign_date) AS month_num,
 				SUM(amount) AS total_amount
 			FROM contract
-			WHERE YEAR(sign_date) = YEAR(CURDATE()) - 1
+			WHERE del_flag='0'
+			AND YEAR(sign_date) = YEAR(CURDATE()) - 1
 			AND party_b_id = #{compId}
 			GROUP BY MONTH(sign_date)
 		) last_year ON m.month_num = last_year.month_num
@@ -927,6 +987,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.sales_model = b.sales_model
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -946,6 +1007,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.sales_model = b.sales_model
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -965,6 +1027,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.sales_model = b.sales_model
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -984,6 +1047,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.sales_model = b.sales_model
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -1003,6 +1067,7 @@
 		and c.del_flag = '0'
 		and bc.del_flag = '0'
 		and bc.sales_model = b.sales_model
+		AND YEAR( c.sign_date ) = #{queryDTO.year}
 		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -1014,7 +1079,8 @@
 		contract c
 		JOIN business_customer b ON c.party_a_id = b.id
 		WHERE
-		b.sales_model IS NOT NULL
+		c.del_flag='0'
+		AND b.sales_model IS NOT NULL
 		AND YEAR ( sign_date ) = #{queryDTO.year}
 		GROUP BY
 		b.sales_model
@@ -1055,6 +1121,8 @@
 		   	c.next_schedule_name,
 		    c.warranty_schedule_id,
 			c.comp_id,
+			c.center_push_flag,
+			c.last_attachment_url,
 			(select sum(delivered_quantity*unit_price) from contract_subject_matter csm where csm.contract_id = c.id) outAmount
 			FROM
 		contract c,
@@ -1065,6 +1133,9 @@
 		AND bc.id = c.party_a_id
 		<if test="queryDTO.contractName !=null and queryDTO.contractName !=''">
 			AND contract_name LIKE CONCAT('%', #{queryDTO.contractName}, '%')
+		</if>
+		<if test="queryDTO.contractNo !=null and queryDTO.contractNo !=''">
+			AND contract_no LIKE CONCAT('%', #{queryDTO.contractNo}, '%')
 		</if>
 		<if test="queryDTO.partyA !=null and queryDTO.partyA !=''">
 			AND party_a LIKE CONCAT('%', #{queryDTO.partyA}, '%')
@@ -1139,7 +1210,7 @@
 		contract c
 		WHERE
 		c.del_flag = '0'
-		AND comp_id = 2056555602756063234
+		AND comp_id = 2089995177814495234
 		AND c.sign_date &gt;= CURDATE()
 		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) smjbr,
 		(
@@ -1149,7 +1220,7 @@
 		contract c
 		WHERE
 		c.del_flag = '0'
-		AND comp_id = 2056555602756063234
+		AND comp_id = 2089995177814495234
 		AND c.sign_date &gt;=DATE_FORMAT( CURDATE(), '%Y-%m-01' )
 		AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) smjby,
 		(
@@ -1159,7 +1230,7 @@
 		contract c
 		WHERE
 		c.del_flag = '0'
-		AND comp_id = 2056555602756063234
+		AND comp_id = 2089995177814495234
 		AND c.sign_date &gt;=DATE_FORMAT( CURDATE(), '%Y-01-01' )
 		AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) smjbn,
 		(

--
Gitblit v1.9.1