From e02812df9217d3e50a368a8234c07c60c64c0ff4 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期三, 05 八月 2026 08:34:26 +0800
Subject: [PATCH] feat:新增石煤机 机械厂模版合同/客户数据主数据同步接口/合同履约进度新增质保结束操作/合同开票状态 修改为待开 可开 已开/出库逻辑完善

---
 platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml | 1085 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 921 insertions(+), 164 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 5d870b5..baaff55 100644
--- a/platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml
@@ -57,6 +57,7 @@
 		) - IFNULL( t.billing_amout, 0 )) creditAmount
 		FROM
 		contract t
+		LEFT JOIN business_customer t1 ON ( t1.id = t.bus_guest_id AND t1.del_flag = '0' )
 		WHERE
 		(
 		IFNULL( t.billing_amout, 0 )&lt;(
@@ -72,6 +73,28 @@
 		</if>
 		<if test="queryDTO.partyA !=null and queryDTO.partyA !=''">
 			and t.party_a LIKE CONCAT('%', #{queryDTO.partyA}, '%')
+		</if>
+		<if test="queryDTO.queryArea !=null and queryDTO.queryArea !=''">
+			AND t1.class_id =  #{queryDTO.queryArea}
+		</if>
+		<if test="queryDTO.queryServiceAttr !=null and queryDTO.queryServiceAttr !=''">
+			AND t1.export_service_attr =  #{queryDTO.queryServiceAttr}
+		</if>
+		<if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='1'.toString()">
+			AND  t.payment_time &gt;= CURDATE()
+			AND  t.payment_time &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )
+		</if>
+		<if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='2'.toString()">
+			AND  t.payment_time &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
+			AND  t.payment_time &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )
+		</if>
+		<if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='3'.toString()">
+			AND  t.payment_time &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
+			AND  t.payment_time &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )
+		</if>
+		<if test="queryDTO.startTime !=null and queryDTO.endTime !=null">
+			AND  t.payment_time &gt;=  #{queryDTO.startTime}
+			AND  t.payment_time &lt;=  #{queryDTO.endTime}
 		</if>
 		<if test="queryDTO.productNames !=null and queryDTO.productNames !=''">
 			and (SELECT GROUP_CONCAT(DISTINCT t1.material_internal_name) from contract_subject_matter t1 WHERE t1.contract_id = t.id) LIKE CONCAT('%', #{queryDTO.productNames}, '%')
@@ -184,86 +207,83 @@
 	<select id="contractIncomeAnalysis"
 			resultType="com.by4cloud.platformx.business.vo.ContractIncomeAnalysisVo">
 		SELECT
-			compName,
+			compId,
 			SUM(CASE WHEN month_num = 1 THEN total_amount ELSE 0 END) AS 'srMonth1',
-				SUM(CASE WHEN month_num = 1 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth1',
-				SUM(CASE WHEN month_num = 1 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth1',
-				SUM(CASE WHEN month_num = 1 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth1',
+				SUM(CASE WHEN month_num = 1 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth1',
+				SUM(CASE WHEN month_num = 1 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth1',
+				SUM(CASE WHEN month_num = 1 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth1',
 				SUM(CASE WHEN month_num = 2 THEN total_amount ELSE 0 END) AS 'srMonth2',
-				SUM(CASE WHEN month_num = 2 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth2',
-				SUM(CASE WHEN month_num = 2 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth2',
-				SUM(CASE WHEN month_num = 2 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth2',
+				SUM(CASE WHEN month_num = 2 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth2',
+				SUM(CASE WHEN month_num = 2 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth2',
+				SUM(CASE WHEN month_num = 2 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth2',
 				SUM(CASE WHEN month_num = 3 THEN total_amount ELSE 0 END) AS 'srMonth3',
-				SUM(CASE WHEN month_num = 3 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth3',
-				SUM(CASE WHEN month_num = 3 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth3',
-				SUM(CASE WHEN month_num = 3 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth3',
+				SUM(CASE WHEN month_num = 3 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth3',
+				SUM(CASE WHEN month_num = 3 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth3',
+				SUM(CASE WHEN month_num = 3 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth3',
 				SUM(CASE WHEN month_num = 4 THEN total_amount ELSE 0 END) AS 'srMonth4',
-				SUM(CASE WHEN month_num = 4 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth4',
-				SUM(CASE WHEN month_num = 4 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth4',
-				SUM(CASE WHEN month_num = 4 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth4',
+				SUM(CASE WHEN month_num = 4 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth4',
+				SUM(CASE WHEN month_num = 4 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth4',
+				SUM(CASE WHEN month_num = 4 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth4',
 				SUM(CASE WHEN month_num = 5 THEN total_amount ELSE 0 END) AS 'srMonth5',
-				SUM(CASE WHEN month_num = 5 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth5',
-				SUM(CASE WHEN month_num = 5 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth5',
-				SUM(CASE WHEN month_num = 5 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth5',
+				SUM(CASE WHEN month_num = 5 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth5',
+				SUM(CASE WHEN month_num = 5 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth5',
+				SUM(CASE WHEN month_num = 5 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth5',
 				SUM(CASE WHEN month_num = 6 THEN total_amount ELSE 0 END) AS 'srMonth6',
-				SUM(CASE WHEN month_num = 6 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth6',
-				SUM(CASE WHEN month_num = 6 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth6',
-				SUM(CASE WHEN month_num = 6 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth6',
+				SUM(CASE WHEN month_num = 6 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth6',
+				SUM(CASE WHEN month_num = 6 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth6',
+				SUM(CASE WHEN month_num = 6 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth6',
 				SUM(CASE WHEN month_num = 7 THEN total_amount ELSE 0 END) AS 'srMonth7',
-				SUM(CASE WHEN month_num = 7 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth7',
-				SUM(CASE WHEN month_num = 7 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth7',
-				SUM(CASE WHEN month_num = 7 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth7',
+				SUM(CASE WHEN month_num = 7 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth7',
+				SUM(CASE WHEN month_num = 7 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth7',
+				SUM(CASE WHEN month_num = 7 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth7',
 				SUM(CASE WHEN month_num = 8 THEN total_amount ELSE 0 END) AS 'srMonth8',
-				SUM(CASE WHEN month_num = 8 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth8',
-				SUM(CASE WHEN month_num = 8 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth8',
-				SUM(CASE WHEN month_num = 8 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth8',
+				SUM(CASE WHEN month_num = 8 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth8',
+				SUM(CASE WHEN month_num = 8 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth8',
+				SUM(CASE WHEN month_num = 8 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth8',
 				SUM(CASE WHEN month_num = 9 THEN total_amount ELSE 0 END) AS 'srMonth9',
-				SUM(CASE WHEN month_num = 9 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth9',
-				SUM(CASE WHEN month_num = 9 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth9',
-				SUM(CASE WHEN month_num = 9 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth9',
+				SUM(CASE WHEN month_num = 9 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth9',
+				SUM(CASE WHEN month_num = 9 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth9',
+				SUM(CASE WHEN month_num = 9 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth9',
 				SUM(CASE WHEN month_num = 10 THEN total_amount ELSE 0 END) AS 'srMonth10',
-				SUM(CASE WHEN month_num = 10 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth10',
-				SUM(CASE WHEN month_num = 10 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth10',
-				SUM(CASE WHEN month_num = 10 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth10',
+				SUM(CASE WHEN month_num = 10 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth10',
+				SUM(CASE WHEN month_num = 10 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth10',
+				SUM(CASE WHEN month_num = 10 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth10',
 				SUM(CASE WHEN month_num = 11 THEN total_amount ELSE 0 END) AS 'srMonth11',
-				SUM(CASE WHEN month_num = 11 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth11',
-				SUM(CASE WHEN month_num = 11 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth11',
-				SUM(CASE WHEN month_num = 11 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth11',
+				SUM(CASE WHEN month_num = 11 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth11',
+				SUM(CASE WHEN month_num = 11 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth11',
+				SUM(CASE WHEN month_num = 11 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth11',
 				SUM(CASE WHEN month_num = 12 THEN total_amount ELSE 0 END) AS 'srMonth12',
-				SUM(CASE WHEN month_num = 12 AND pay_type = 0 THEN total_amount ELSE 0 END) AS 'xhMonth12',
-				SUM(CASE WHEN month_num = 12 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'cdMonth12',
-				SUM(CASE WHEN month_num = 12 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'qtMonth12'
+				SUM(CASE WHEN month_num = 12 AND pay_type = 1 THEN total_amount ELSE 0 END) AS 'xhMonth12',
+				SUM(CASE WHEN month_num = 12 AND pay_type = 2 THEN total_amount ELSE 0 END) AS 'cdMonth12',
+				SUM(CASE WHEN month_num = 12 AND pay_type = 3 THEN total_amount ELSE 0 END) AS 'qtMonth12'
 		FROM (
-				 SELECT
-					 COALESCE(c.party_b, '鏈煡鍗曚綅') AS compName,
-					 MONTH(confirm_time) AS month_num,
-					 pay_type,
-					 COALESCE(transation_amount, 0) AS total_amount
-				 FROM payment_confirm pc,contract c
-				 WHERE
-
-					 pc.del_flag = '0'
-				   And c.del_flag = '0'
-				   AND pc.contract_id = c.id
-				   AND confirm_time IS NOT NULL
-				   AND transation_amount IS NOT NULL
-				   AND YEAR(confirm_time) = #{queryDTO.year}
-		AND	party_b_id IN
+		SELECT
+		COALESCE(pc.payee_comp_id, '鏈煡鍗曚綅') AS compId,
+		MONTH(payment_time) AS month_num,
+		pay_type,
+		COALESCE(payment_amount, 0) AS total_amount
+		FROM payment_slip pc
+		WHERE
+		pc.del_flag = '0'
+		AND payment_time IS NOT NULL
+		AND payment_amount IS NOT NULL
+				   AND YEAR(payment_time) = #{queryDTO.year}
+		AND	payee_comp_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 			 ) AS source_data
-		GROUP BY compName
+		GROUP BY compId
 
 	</select>
 	<select id="contractIncomeAnalysisByComp"
 			resultType="com.by4cloud.platformx.business.vo.ContractIncomeAnalysisCompVo">
 		SELECT
 			months.yf,
-			COALESCE ( SUM( transation_amount ), 0 ) AS sr,
-			COALESCE ( SUM( CASE WHEN pay_type = 0 THEN COALESCE ( transation_amount, 0 ) ELSE 0 END ), 0 ) AS xh,
-			COALESCE ( SUM( CASE WHEN pay_type = 1 THEN COALESCE ( transation_amount, 0 ) ELSE 0 END ), 0 ) AS cd,
-			COALESCE ( SUM( CASE WHEN pay_type = 2 THEN COALESCE ( transation_amount, 0 ) ELSE 0 END ), 0 ) AS qt
+			COALESCE ( SUM( payment_amount ), 0 ) AS sr,
+			COALESCE ( SUM( CASE WHEN pay_type = 1 THEN COALESCE ( payment_amount, 0 ) ELSE 0 END ), 0 ) AS xh,
+			COALESCE ( SUM( CASE WHEN pay_type = 2 THEN COALESCE ( payment_amount, 0 ) ELSE 0 END ), 0 ) AS cd,
+			COALESCE ( SUM( CASE WHEN pay_type = 3 THEN COALESCE ( payment_amount, 0 ) ELSE 0 END ), 0 ) AS qt
 		FROM
 			(
 				SELECT
@@ -291,11 +311,11 @@
 				SELECT
 					'12鏈�'
 			) AS months
-				LEFT JOIN payment_confirm pc ON months.yf = CONCAT( MONTH ( pc.confirm_time ), '鏈�' )
+				LEFT JOIN payment_slip pc ON months.yf = CONCAT( MONTH ( pc.payment_time ), '鏈�' )
 				AND pc.del_flag = '0'
-				AND pc.confirm_time IS NOT NULL
-				AND pc.transation_amount IS NOT NULL
-				AND YEAR ( pc.confirm_time ) = #{queryDTO.year}
+				AND pc.payment_time IS NOT NULL
+				AND pc.payment_amount IS NOT NULL
+				AND YEAR ( pc.payment_time ) = #{queryDTO.year}
 				AND pc.comp_id = #{compId}
 		WHERE
 			1 = 1
@@ -312,29 +332,37 @@
 							SELECT
 								SUM( amount )
 							FROM
-								contract
+							contract c, business_customer bc
 							WHERE
-								party_b_id IN
+							bc.id = c.party_a_id
+							and c.del_flag = '0'
+							and bc.del_flag = '0'
+							and bc.area_id = b.area_id
+							and party_b_id IN
 							<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 								#{id}
 							</foreach>
 			    ) * 100,
-							0
-				) AS zgbzb,
+							2
+				) AS sgbzb,
 			SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) AS jxcze,
 			ROUND(
 							SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) / (
 							SELECT
 								SUM( amount )
 							FROM
-								contract
-							WHERE
-								party_b_id IN
-		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
-			#{id}
-		</foreach>
+								contract c, business_customer bc
+								WHERE
+								bc.id = c.party_a_id
+								and c.del_flag = '0'
+								and bc.del_flag = '0'
+								and bc.area_id = b.area_id
+								and party_b_id IN
+								<foreach collection="compIds" item="id" open="(" close=")" separator=",">
+									#{id}
+								</foreach>
 			    ) * 100,
-							0
+							2
 				) AS jxczb ,
 			SUM( CASE WHEN c.party_b_id = #{smjCompId} THEN c.amount ELSE 0 END ) AS smjze,
 			ROUND(
@@ -342,14 +370,18 @@
 							SELECT
 								SUM( amount )
 							FROM
-								contract
-							WHERE
-								party_b_id IN
-		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
-			#{id}
-		</foreach>
+								contract c, business_customer bc
+								WHERE
+								bc.id = c.party_a_id
+								and c.del_flag = '0'
+								and bc.del_flag = '0'
+								and bc.area_id = b.area_id
+								and party_b_id IN
+								<foreach collection="compIds" item="id" open="(" close=")" separator=",">
+									#{id}
+								</foreach>
 			    ) * 100,
-							0
+							2
 				) AS smjzb ,
 			SUM( CASE WHEN c.party_b_id = #{ymjCompId} THEN c.amount ELSE 0 END ) AS ymjze,
 			ROUND(
@@ -357,14 +389,18 @@
 							SELECT
 								SUM( amount )
 							FROM
-								contract
+							contract c, business_customer bc
 							WHERE
-								party_b_id IN
-		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
-			#{id}
-		</foreach>
+							bc.id = c.party_a_id
+							and c.del_flag = '0'
+							and bc.del_flag = '0'
+							and bc.area_id = b.area_id
+							and party_b_id IN
+							<foreach collection="compIds" item="id" open="(" close=")" separator=",">
+								#{id}
+							</foreach>
 			    ) * 100,
-							0
+							2
 				) AS ymjzb ,
 			SUM( CASE WHEN c.party_b_id = #{tfCompId} THEN c.amount ELSE 0 END ) AS tfze,
 			ROUND(
@@ -372,14 +408,18 @@
 							SELECT
 								SUM( amount )
 							FROM
-								contract
-							WHERE
-								party_b_id IN
+		contract c, business_customer bc
+		WHERE
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.area_id = b.area_id
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 			    ) * 100,
-							0
+							2
 				) AS tfzb
 		FROM
 			contract c
@@ -394,36 +434,40 @@
 	<select id="contractAmountAnalysisByIndustry"
 			resultType="com.by4cloud.platformx.business.vo.ContractIncomeAnalysisAreaVo">
 		SELECT
-		b.industry_id area_id,
+		c.industry_code area_id,
 		SUM( CASE WHEN c.party_b_id = #{sgbCompId} THEN c.amount ELSE 0 END ) AS sgbze,
 		ROUND(
 		SUM( CASE WHEN c.party_b_id = #{sgbCompId} THEN c.amount ELSE 0 END ) / (
 		SELECT
 		SUM( amount )
 		FROM
-		contract
-		WHERE
-		party_b_id IN
+		contract c1
+		where
+		c1.del_flag = '0'
+		and c1.industry_code = c.industry_code
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
-		) AS zgbzb,
+		2
+		) AS sgbzb,
 		SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) AS jxcze,
 		ROUND(
 		SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) / (
 		SELECT
 		SUM( amount )
 		FROM
-		contract
-		WHERE
-		party_b_id IN
+		contract c1
+		where
+		c1.del_flag = '0'
+		and c1.industry_code = c.industry_code
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS jxczb ,
 		SUM( CASE WHEN c.party_b_id = #{smjCompId} THEN c.amount ELSE 0 END ) AS smjze,
 		ROUND(
@@ -431,14 +475,16 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
-		WHERE
-		party_b_id IN
+		contract c1
+		where
+		c1.del_flag = '0'
+		and c1.industry_code = c.industry_code
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS smjzb ,
 		SUM( CASE WHEN c.party_b_id = #{ymjCompId} THEN c.amount ELSE 0 END ) AS ymjze,
 		ROUND(
@@ -446,14 +492,16 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
-		WHERE
-		party_b_id IN
+		contract c1
+		where
+		c1.del_flag = '0'
+		and c1.industry_code = c.industry_code
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS ymjzb ,
 		SUM( CASE WHEN c.party_b_id = #{tfCompId} THEN c.amount ELSE 0 END ) AS tfze,
 		ROUND(
@@ -461,23 +509,24 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
-		WHERE
-		party_b_id IN
+		contract c1
+		where
+		      c1.del_flag = '0'
+		and c1.industry_code = c.industry_code
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS tfzb
 		FROM
 		contract c
-		JOIN business_customer b ON c.party_a_id = b.id
-		WHERE
-		b.industry_id IS NOT NULL
+		where
+		c.industry_code  is not null
 		AND YEAR ( sign_date ) = #{queryDTO.year}
 		GROUP BY
-		b.industry_id
+		c.industry_code
 
 	</select>
 	<select id="contractAmountAnalysisByMarket"
@@ -490,29 +539,37 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract c, business_customer bc
 		WHERE
-		party_b_id IN
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.class_id = b.class_id
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
-		) AS zgbzb,
+		2
+		) AS sgbzb,
 		SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) AS jxcze,
 		ROUND(
 		SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) / (
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract c, business_customer bc
 		WHERE
-		party_b_id IN
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.class_id = b.class_id
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS jxczb ,
 		SUM( CASE WHEN c.party_b_id = #{smjCompId} THEN c.amount ELSE 0 END ) AS smjze,
 		ROUND(
@@ -520,14 +577,18 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract c, business_customer bc
 		WHERE
-		party_b_id IN
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.class_id = b.class_id
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS smjzb ,
 		SUM( CASE WHEN c.party_b_id = #{ymjCompId} THEN c.amount ELSE 0 END ) AS ymjze,
 		ROUND(
@@ -535,14 +596,18 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract c, business_customer bc
 		WHERE
-		party_b_id IN
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.class_id = b.class_id
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS ymjzb ,
 		SUM( CASE WHEN c.party_b_id = #{tfCompId} THEN c.amount ELSE 0 END ) AS tfze,
 		ROUND(
@@ -550,14 +615,18 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract c, business_customer bc
 		WHERE
-		party_b_id IN
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.class_id = b.class_id
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS tfzb
 		FROM
 		contract c
@@ -580,29 +649,37 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract c, business_customer bc
 		WHERE
-		party_b_id IN
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.export_service_attr = b.export_service_attr
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
-		) AS zgbzb,
+		2
+		) AS sgbzb,
 		SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) AS jxcze,
 		ROUND(
 		SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) / (
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract c, business_customer bc
 		WHERE
-		party_b_id IN
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.export_service_attr = b.export_service_attr
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS jxczb ,
 		SUM( CASE WHEN c.party_b_id = #{smjCompId} THEN c.amount ELSE 0 END ) AS smjze,
 		ROUND(
@@ -610,14 +687,18 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract c, business_customer bc
 		WHERE
-		party_b_id IN
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.export_service_attr = b.export_service_attr
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS smjzb ,
 		SUM( CASE WHEN c.party_b_id = #{ymjCompId} THEN c.amount ELSE 0 END ) AS ymjze,
 		ROUND(
@@ -625,14 +706,18 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract c, business_customer bc
 		WHERE
-		party_b_id IN
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.export_service_attr = b.export_service_attr
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS ymjzb ,
 		SUM( CASE WHEN c.party_b_id = #{tfCompId} THEN c.amount ELSE 0 END ) AS tfze,
 		ROUND(
@@ -640,14 +725,18 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract c, business_customer bc
 		WHERE
-		party_b_id IN
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.export_service_attr = b.export_service_attr
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS tfzb
 		FROM
 		contract c
@@ -669,29 +758,33 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract ct
 		WHERE
-		party_b_id IN
+		      ct.del_flag = '0'
+		and  ct.supply_attribute = c.supply_attribute
+		and ct.party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
-		) AS zgbzb,
+		2
+		) AS sgbzb,
 		SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) AS jxcze,
 		ROUND(
 		SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) / (
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract ct
 		WHERE
-		party_b_id IN
+		ct.del_flag = '0'
+		and  ct.supply_attribute = c.supply_attribute
+		and ct.party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS jxczb ,
 		SUM( CASE WHEN c.party_b_id = #{smjCompId} THEN c.amount ELSE 0 END ) AS smjze,
 		ROUND(
@@ -699,14 +792,16 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract ct
 		WHERE
-		party_b_id IN
+		ct.del_flag = '0'
+		and  ct.supply_attribute = c.supply_attribute
+		and ct.party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS smjzb ,
 		SUM( CASE WHEN c.party_b_id = #{ymjCompId} THEN c.amount ELSE 0 END ) AS ymjze,
 		ROUND(
@@ -714,14 +809,16 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract ct
 		WHERE
-		party_b_id IN
+		ct.del_flag = '0'
+		and  ct.supply_attribute = c.supply_attribute
+		and ct.party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS ymjzb ,
 		SUM( CASE WHEN c.party_b_id = #{tfCompId} THEN c.amount ELSE 0 END ) AS tfze,
 		ROUND(
@@ -729,19 +826,22 @@
 		SELECT
 		SUM( amount )
 		FROM
-		contract
+		contract ct
 		WHERE
-		party_b_id IN
+		ct.del_flag = '0'
+		and  ct.supply_attribute = c.supply_attribute
+		and ct.party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS tfzb
 		FROM
 		contract c
 		WHERE
-		c.supply_attribute IS NOT NULL
+			c.del_flag = '0'
+		and c.supply_attribute IS NOT NULL
 		AND YEAR ( sign_date ) = #{queryDTO.year}
 		GROUP BY
 		c.supply_attribute
@@ -811,4 +911,661 @@
 		ORDER BY m.month_num
 
 	</select>
+	<select id="contractAmountAnalysisBySaleModel"
+			resultType="com.by4cloud.platformx.business.vo.ContractIncomeAnalysisAreaVo">
+		SELECT
+		b.sales_model area_id,
+		SUM( CASE WHEN c.party_b_id = #{sgbCompId} THEN c.amount ELSE 0 END ) AS sgbze,
+		ROUND(
+		SUM( CASE WHEN c.party_b_id = #{sgbCompId} THEN c.amount ELSE 0 END ) / (
+		SELECT
+		SUM( amount )
+		FROM
+		contract c, business_customer bc
+		WHERE
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.sales_model = b.sales_model
+		and party_b_id IN
+		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
+			#{id}
+		</foreach>
+		) * 100,
+		2
+		) AS sgbzb,
+		SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) AS jxcze,
+		ROUND(
+		SUM( CASE WHEN c.party_b_id = #{jxcCompId} THEN c.amount ELSE 0 END ) / (
+		SELECT
+		SUM( amount )
+		FROM
+		contract c, business_customer bc
+		WHERE
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.sales_model = b.sales_model
+		and party_b_id IN
+		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
+			#{id}
+		</foreach>
+		) * 100,
+		2
+		) AS jxczb ,
+		SUM( CASE WHEN c.party_b_id = #{smjCompId} THEN c.amount ELSE 0 END ) AS smjze,
+		ROUND(
+		SUM( CASE WHEN c.party_b_id = #{smjCompId} THEN c.amount ELSE 0 END ) / (
+		SELECT
+		SUM( amount )
+		FROM
+		contract c, business_customer bc
+		WHERE
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.sales_model = b.sales_model
+		and party_b_id IN
+		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
+			#{id}
+		</foreach>
+		) * 100,
+		2
+		) AS smjzb ,
+		SUM( CASE WHEN c.party_b_id = #{ymjCompId} THEN c.amount ELSE 0 END ) AS ymjze,
+		ROUND(
+		SUM( CASE WHEN c.party_b_id = #{ymjCompId} THEN c.amount ELSE 0 END ) / (
+		SELECT
+		SUM( amount )
+		FROM
+		contract c, business_customer bc
+		WHERE
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.sales_model = b.sales_model
+		and party_b_id IN
+		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
+			#{id}
+		</foreach>
+		) * 100,
+		2
+		) AS ymjzb ,
+		SUM( CASE WHEN c.party_b_id = #{tfCompId} THEN c.amount ELSE 0 END ) AS tfze,
+		ROUND(
+		SUM( CASE WHEN c.party_b_id = #{tfCompId} THEN c.amount ELSE 0 END ) / (
+		SELECT
+		SUM( amount )
+		FROM
+		contract c, business_customer bc
+		WHERE
+		bc.id = c.party_a_id
+		and c.del_flag = '0'
+		and bc.del_flag = '0'
+		and bc.sales_model = b.sales_model
+		and party_b_id IN
+		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
+			#{id}
+		</foreach>
+		) * 100,
+		2
+		) AS tfzb
+		FROM
+		contract c
+		JOIN business_customer b ON c.party_a_id = b.id
+		WHERE
+		b.sales_model IS NOT NULL
+		AND YEAR ( sign_date ) = #{queryDTO.year}
+		GROUP BY
+		b.sales_model
+
+	</select>
+    <select id="pageScope" resultType="com.by4cloud.platformx.business.vo.ContractPageVo">
+		SELECT
+			c.id,
+			c.contract_no,
+			c.contract_name,
+			c.party_a_id,
+			c.party_a,
+			c.party_b_id,
+			c.party_b,
+			c.amount,
+			c.contract_type,
+			c.supply_attribute,
+			c.contract_status,
+			c.contract_attribute,
+			c.sign_date,
+			c.sign_place,
+			c.effective_date,
+			c.delivery_cycle,
+			c.expiration_date,
+			c.attachment_url,
+			c.remark,
+			c.parent_id,
+			c.approve_time,
+			c.arrival_schedule_id,
+			c.accept_schedule_id,
+			c.billing_status,
+			c.billing_amout,
+			c.template_id,
+			c.sales_model,
+			c.paid_amount,
+			c.contract_category,
+			c.exec_frequency,
+		   	c.next_schedule_name,
+		    c.warranty_schedule_id,
+			c.comp_id,
+			(select sum(delivered_quantity*unit_price) from contract_subject_matter csm where csm.contract_id = c.id) outAmount
+			FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		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.partyA !=null and queryDTO.partyA !=''">
+			AND party_a LIKE CONCAT('%', #{queryDTO.partyA}, '%')
+		</if>
+		<if test="queryDTO.contractStatus !=null and queryDTO.contractStatus !=''">
+			AND contract_status =  #{queryDTO.contractStatus}
+		</if>
+		<if test="queryDTO.queryCompId !=null and queryDTO.queryCompId !=''">
+			AND c.comp_id =  #{queryDTO.queryCompId}
+		</if>
+		<if test="queryDTO.queryArea !=null and queryDTO.queryArea !=''">
+			AND bc.class_id =  #{queryDTO.queryArea}
+		</if>
+		<if test="queryDTO.queryServiceAttr !=null and queryDTO.queryServiceAttr !=''">
+			AND bc.export_service_attr =  #{queryDTO.queryServiceAttr}
+		</if>
+		<if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='1'.toString()">
+			AND c.sign_date &gt;= CURDATE()
+			AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )
+		</if>
+		<if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='2'.toString()">
+			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' )
+		</if>
+		<if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='3'.toString()">
+			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' )
+		</if>
+		<if test="queryDTO.startTime !=null and queryDTO.endTime !=null">
+			AND c.sign_date &gt;=  #{queryDTO.startTime}
+			AND c.sign_date &lt;=  #{queryDTO.endTime}
+		</if>
+		ORDER BY
+			c.create_time DESC
+	</select>
+    <select id="homeZbjt" resultType="com.by4cloud.platformx.business.vo.HomeZbjtVo">
+		SELECT
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556196124250113
+		AND c.sign_date &gt;= CURDATE()
+		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) sgbbr,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556196124250113
+		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' )) sgbby,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556196124250113
+		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' )) sgbbn,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056555602756063234
+		AND c.sign_date &gt;= CURDATE()
+		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) smjbr,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056555602756063234
+		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,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056555602756063234
+		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,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556317461270529
+		AND c.sign_date &gt;=CURDATE()
+		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) jxcbr,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556317461270529
+		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' )) jxcby,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556317461270529
+		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' )) jxcbn,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556421857497090
+		AND c.sign_date &gt;=CURDATE()
+		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) tfbr,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556421857497090
+		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' )) tfby,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556421857497090
+		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' )) tfbn,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556535640576002
+		AND c.sign_date &gt;=CURDATE()
+		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) ymjbr,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556535640576002
+		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' )) ymjby,
+		(
+		SELECT
+		sum( c.amount )
+		FROM
+		contract c
+		WHERE
+		c.del_flag = '0'
+		AND comp_id = 2056556535640576002
+		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' )) ymjbn
+	</select>
+    <select id="homeZgs" resultType="com.by4cloud.platformx.business.vo.HomeZgsVo">
+		SELECT
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.area_id = '2'
+		AND c.comp_id = #{compId}
+		AND c.sign_date &gt;= CURDATE()
+		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) hbbr,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.area_id = '2'
+	  	AND c.comp_id = #{compId}
+		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' )) hbby,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.area_id = '2'
+	  	AND c.comp_id = #{compId}
+		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' )) hbbn,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.area_id = '6'
+	  	AND c.comp_id = #{compId}
+		AND c.sign_date &gt;= CURDATE()
+		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) xbbr,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.area_id = '6'
+	  	AND c.comp_id = #{compId}
+		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' )) xbby,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.area_id = '6'
+	  	AND c.comp_id = #{compId}
+		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' )) xbbn,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.area_id = '1'
+	  	AND c.comp_id = #{compId}
+		AND c.sign_date &gt;= CURDATE()
+		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) dbbr,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.area_id = '1'
+	  	AND c.comp_id = #{compId}
+		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' )) dbby,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.area_id = '1'
+	  	AND c.comp_id = #{compId}
+		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' )) dbbn,
+		(
+			SELECT
+				sum(c.amount)
+			FROM
+				contract c,
+				business_customer bc
+			WHERE
+				c.del_flag = '0'
+			  AND bc.del_flag = '0'
+			  AND bc.id = c.party_a_id
+			  AND bc.area_id = '5'
+			  AND c.comp_id = #{compId}
+			  AND c.sign_date &gt;= CURDATE()
+			  AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) xnbr,
+		(
+			SELECT
+				sum(c.amount)
+			FROM
+				contract c,
+				business_customer bc
+			WHERE
+				c.del_flag = '0'
+			  AND bc.del_flag = '0'
+			  AND bc.id = c.party_a_id
+			  AND bc.area_id = '5'
+			  AND c.comp_id = #{compId}
+			  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' )) xnby,
+		(
+			SELECT
+				sum(c.amount)
+			FROM
+				contract c,
+				business_customer bc
+			WHERE
+				c.del_flag = '0'
+			  AND bc.del_flag = '0'
+			  AND bc.id = c.party_a_id
+			  AND bc.area_id = '5'
+			  AND c.comp_id = #{compId}
+			  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' )) xnbn,
+		(
+			SELECT
+				sum(c.amount)
+			FROM
+				contract c,
+				business_customer bc
+			WHERE
+				c.del_flag = '0'
+			  AND bc.del_flag = '0'
+			  AND bc.id = c.party_a_id
+			  AND bc.area_id = '4'
+			  AND c.comp_id = #{compId}
+			  AND c.sign_date &gt;= CURDATE()
+			  AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) znbr,
+		(
+			SELECT
+				sum(c.amount)
+			FROM
+				contract c,
+				business_customer bc
+			WHERE
+				c.del_flag = '0'
+			  AND bc.del_flag = '0'
+			  AND bc.id = c.party_a_id
+			  AND bc.area_id = '4'
+			  AND c.comp_id = #{compId}
+			  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' )) znby,
+		(
+			SELECT
+				sum(c.amount)
+			FROM
+				contract c,
+				business_customer bc
+			WHERE
+				c.del_flag = '0'
+			  AND bc.del_flag = '0'
+			  AND bc.id = c.party_a_id
+			  AND bc.area_id = '4'
+			  AND c.comp_id = #{compId}
+			  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' )) znbn,
+		(
+			SELECT
+				sum(c.amount)
+			FROM
+				contract c,
+				business_customer bc
+			WHERE
+				c.del_flag = '0'
+			  AND bc.del_flag = '0'
+			  AND bc.id = c.party_a_id
+			  AND bc.area_id = '3'
+			  AND c.comp_id = #{compId}
+			  AND c.sign_date &gt;= CURDATE()
+			  AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) hdbr,
+		(
+			SELECT
+				sum(c.amount)
+			FROM
+				contract c,
+				business_customer bc
+			WHERE
+				c.del_flag = '0'
+			  AND bc.del_flag = '0'
+			  AND bc.id = c.party_a_id
+			  AND bc.area_id = '3'
+			  AND c.comp_id = #{compId}
+			  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' )) hdby,
+		(
+			SELECT
+				sum(c.amount)
+			FROM
+				contract c,
+				business_customer bc
+			WHERE
+				c.del_flag = '0'
+			  AND bc.del_flag = '0'
+			  AND bc.id = c.party_a_id
+			  AND bc.area_id = '3'
+			  AND c.comp_id = #{compId}
+			  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' )) hdbn,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.export_service_attr = '2'
+	  	AND c.comp_id = #{compId}
+		AND c.sign_date &gt;= CURDATE()
+		AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) hwbr,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.export_service_attr = '2'
+	  	AND c.comp_id = #{compId}
+		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' )) hwby,
+		(
+		SELECT
+		sum(c.amount)
+		FROM
+		contract c,
+		business_customer bc
+		WHERE
+		c.del_flag = '0'
+		AND bc.del_flag = '0'
+		AND bc.id = c.party_a_id
+		AND bc.export_service_attr = '2'
+	  	AND c.comp_id = #{compId}
+		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' )) hwbn
+	</select>
+	<select id="fourAssociation" resultType="com.by4cloud.platformx.business.vo.FourAssociationPageVo">
+		SELECT
+			c.id,
+			c.contract_no,
+			c.sign_date,
+		    c.amount,
+		    c.paid_amount,
+			c.billing_amout,
+			c.comp_id
+		FROM
+			contract c
+		where
+			c.del_flag = '0'
+		and c.contract_status = 2
+		order by
+			c.create_time
+
+	</select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1