From 6bbed1ea6b36af4eb0b234bec9d6e42d56f0cd00 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期三, 30 九月 2026 16:12:49 +0800
Subject: [PATCH] feat:合同新增关联单位  开票可根据甲方或关联单位选择开票单位  收款去掉强制确认 收款只关联合同甲方或关联单位

---
 platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml |  141 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 138 insertions(+), 3 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml
index 4dc90be..ac6afb4 100644
--- a/platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml
@@ -468,6 +468,9 @@
 		<if test="queryDTO.invoiceCategory !=null and queryDTO.invoiceCategory !=''">
 			AND t.invoice_category = #{queryDTO.invoiceCategory}
 		</if>
+		<if test="queryDTO.isMerge !=null and queryDTO.isMerge !=''">
+			AND t.is_merge = #{queryDTO.isMerge}
+		</if>
 		<if test="queryDTO.bwRequestResult !=null and queryDTO.bwRequestResult !=''">
 			AND t.bw_request_result = #{queryDTO.bwRequestResult}
 		</if>
@@ -477,8 +480,8 @@
 		<if test="queryDTO.partyA !=null and queryDTO.partyA !=''">
 			AND t2.company_name LIKE CONCAT('%', #{queryDTO.partyA}, '%')
 		</if>
-		<if test="queryDTO.queryArea !=null and queryDTO.queryArea !=''">
-			AND t2.class_id = #{queryDTO.queryArea}
+		<if test="queryDTO.queryProvince !=null and queryDTO.queryProvince !=''">
+			AND t2.province =  #{queryDTO.queryProvince}
 		</if>
 		<if test="queryDTO.queryServiceAttr !=null and queryDTO.queryServiceAttr !=''">
 			AND t2.export_service_attr = #{queryDTO.queryServiceAttr}
@@ -570,7 +573,7 @@
 		update_time,
 		del_flag,
 		comp_id,
-		(select count(1) from contract_invoice ci where ci.del_flag = '0' and ci.contract_id = c.id) invoiceNum,
+		(select count(1) from contract_invoice ci where ci.del_flag = '0' and (ci.contract_id = c.id or FIND_IN_SET(c.id,REPLACE(REPLACE(ci.contract_ids,'[', ''), ']', '')))) invoiceNum,
 		(select planned_amount from contract_payment_schedule cps where cps.del_flag='0' and cps.stage_name='鍚堝悓绛捐' and cps.contract_id = c.id) advanceAmount
 		FROM
 		contract c
@@ -594,4 +597,136 @@
 		ORDER BY
 		create_time ASC
 	</select>
+    <select id="homeZgsData" resultType="com.by4cloud.platformx.business.vo.HomeZgsData">
+		SELECT
+		(
+		SELECT
+		sum( ci.invoice_total_price_tax )
+		FROM
+		contract_invoice ci,
+		contract c,
+		business_customer bc
+		WHERE
+		ci.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND c.del_flag = '0'
+		AND ci.contract_id = c.id
+		AND bc.id = c.party_a_id
+		AND c.party_b_id = #{compId}
+		AND bc.province=#{province}
+		AND ci.invoice_time &gt;= CURDATE()
+		AND ci.invoice_time &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) kpbr,
+		(
+		SELECT
+		sum( ci.invoice_total_price_tax )
+		FROM
+		contract_invoice ci,
+		contract c,
+		business_customer bc
+		WHERE
+		ci.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND c.del_flag = '0'
+		AND ci.contract_id = c.id
+		AND bc.id = c.party_a_id
+		  AND c.party_b_id = #{compId}
+		  AND bc.province=#{province}
+		AND ci.invoice_time &gt;= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
+		AND ci.invoice_time &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) kpby,
+		(
+		SELECT
+		sum( ci.invoice_total_price_tax )
+		FROM
+		contract_invoice ci,
+		contract c,
+		business_customer bc
+		WHERE
+		ci.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND c.del_flag = '0'
+		AND ci.contract_id = c.id
+		AND bc.id = c.party_a_id
+		  AND c.party_b_id = #{compId}
+		  AND bc.province=#{province}
+		AND ci.invoice_time &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
+		AND ci.invoice_time &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-%m-01' )) kpbn,
+		(
+		SELECT
+		sum(ps.payment_amount)
+		FROM
+		payment_slip ps,
+		business_customer bc
+		WHERE
+		ps.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = ps.bus_guest_id
+		  AND ps.comp_id = #{compId}
+		  AND bc.province=#{province}
+		AND ps.payment_time &gt;= CURDATE()
+		AND ps.payment_time &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) skbr,
+		(
+		SELECT
+		sum(ps.payment_amount)
+		FROM
+		payment_slip ps,
+		business_customer bc
+		WHERE
+		ps.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = ps.bus_guest_id
+		  AND ps.comp_id = #{compId}
+		  AND bc.province=#{province}
+		AND ps.payment_time &gt;= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
+		AND ps.payment_time &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) skby,
+		(
+		SELECT
+		sum(ps.payment_amount)
+		FROM
+		payment_slip ps,
+		business_customer bc
+		WHERE
+		ps.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = ps.bus_guest_id
+		  AND ps.comp_id = #{compId}
+		  AND bc.province=#{province}
+		AND ps.payment_time &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
+		AND ps.payment_time &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-%m-01' )) skbn,
+		(
+		SELECT
+			sum( c.amount )
+		FROM
+		contract c
+		LEFT JOIN business_customer bc ON bc.id = c.party_a_id
+		WHERE
+		    c.del_flag = '0'
+			AND c.party_b_id = #{compId}
+			AND bc.province=#{province}
+		AND c.sign_date &gt;= CURDATE()
+		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) htbr,
+		(
+		SELECT
+			sum( c.amount )
+		FROM
+		contract c
+		LEFT JOIN business_customer bc ON bc.id = c.party_a_id
+		WHERE
+			c.del_flag = '0'
+		  AND c.party_b_id = #{compId}
+		  AND bc.province=#{province}
+		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' )) htby,
+		(
+		SELECT
+			sum( c.amount )
+		FROM
+		contract c
+		LEFT JOIN business_customer bc ON bc.id = c.party_a_id
+		WHERE
+			c.del_flag = '0'
+		  AND c.party_b_id = #{compId}
+		  AND bc.province=#{province}
+		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-%m-01' )) htbn
+	</select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1