From 5d080021659f60d24671d82d11c2db62b66075cd Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期一, 25 五月 2026 10:07:39 +0800
Subject: [PATCH] feat:石煤机加工承揽合同模版以及统计数据测试调整

---
 platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml                                              |  353 ++++++++++++++++++++++++++++++-------------------
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java |   16 ++
 platformx-business-finance-biz/src/main/resources/template/ymjjgclht.docx                                                |    0 
 platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/PaymentSlip.java                     |    8 +
 platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/PaymentConfirmAddDTO.java               |    2 
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java  |   17 ++
 platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractDetailVo.java                    |    2 
 7 files changed, 256 insertions(+), 142 deletions(-)

diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/PaymentConfirmAddDTO.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/PaymentConfirmAddDTO.java
index 6589e0b..67458b7 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/PaymentConfirmAddDTO.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/PaymentConfirmAddDTO.java
@@ -23,5 +23,7 @@
 	 */
 	private String inOrOut;
 
+	private String payType;
+
 	private BigDecimal transationAmount;
 }
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/PaymentSlip.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/PaymentSlip.java
index 87105f0..a7005aa 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/PaymentSlip.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/PaymentSlip.java
@@ -28,6 +28,14 @@
 	@Column(columnDefinition="bigint comment '瀹㈠晢ID'")
 	private Long busGuestId;
 
+	@Schema(description = "鏀舵鍗曚綅")
+	@Column(columnDefinition="VARCHAR(64) comment '鏀舵鍗曚綅'")
+	private String Payee;
+
+	@Schema(description = "鏀舵鍗曚綅ID")
+	@Column(columnDefinition="bigint comment '鏀舵鍗曚綅ID'")
+	private Long PayeeCompId;
+
 	@Schema(description = "鏀舵鏃ユ湡")
 	@Column(columnDefinition="datetime comment '鏀舵鏃ユ湡'")
 	private Date paymentTime;
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractDetailVo.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractDetailVo.java
index 72682e9..b0d71f2 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractDetailVo.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractDetailVo.java
@@ -1,7 +1,5 @@
 package com.by4cloud.platformx.business.vo;
 
-import com.by4cloud.platformx.business.dto.ContractPaymentScheduleAddDTO;
-import com.by4cloud.platformx.business.dto.ContractSubjectMatterAddDTO;
 import com.by4cloud.platformx.business.entity.ContractPaymentSchedule;
 import com.by4cloud.platformx.business.entity.ContractSubjectMatter;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java
index 81b05af..8bf75cf 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java
@@ -217,6 +217,7 @@
 				;
 			}
 		}else {
+
 			List<Contract> customerContractList = contractService.list(Wrappers.<Contract>lambdaQuery().eq(Contract::getPartyAId, addDTO.getBusGuestId())
 					.eq(Contract::getPartyBId,SecurityUtils.getUser().getCompId()).orderByAsc(Contract::getCreateTime).apply(" amount != paid_amount"));
 			if (ArrayUtil.isEmpty(customerContractList.toArray())) {
@@ -229,6 +230,15 @@
 			if (ObjUtil.isNull(customer)) {
 				return  R.failed("瀹㈠晢鏌ヨ澶辫触");
 			}
+			//鏂板浠樻鍗�
+			PaymentSlip slip = new PaymentSlip();
+			slip.setBusGuestId(customer.getId());
+			slip.setBusGuestName(customer.getCompanyName());
+			slip.setPayeeCompId(SecurityUtils.getUser().getCompId());
+			slip.setPaymentTime(addDTO.getConfirmTime());
+			slip.setPaymentAmount(addDTO.getTransationAmount());
+			slip.setPayType(addDTO.getPayType());
+			paymentSlipMapper.insert(slip);
 
 			BigDecimal transtionAmount = addDTO.getTransationAmount();
 			//鍓╀綑浠樻
@@ -537,7 +547,7 @@
 			return;
 		}
 		//淇濆瓨浠樻鍗�
-		Boolean codeFlag = savePaymentSlip(customer,record);
+		Boolean codeFlag = savePaymentSlip(customer,record,dept);
 		if (codeFlag){
 			log.error("浠樻鍗昳d锛歿},浠樻鍗曞凡瀛樺湪");
 			return;
@@ -708,10 +718,12 @@
 		}
 	}
 
-	private Boolean savePaymentSlip(BusinessCustomer customer, JSONObject record) {
+	private Boolean savePaymentSlip(BusinessCustomer customer, JSONObject record,SysDept dept) {
 		PaymentSlip slip = new PaymentSlip();
 		slip.setBusGuestId(customer.getId());
 		slip.setBusGuestName(customer.getCompanyName());
+		slip.setPayee(dept.getName());
+		slip.setPayeeCompId(dept.getDeptId());
 		slip.setPaymentTime(ObjUtil.isNotNull(record.get("billDate"))?
 				DateUtil.parse(record.getString("billDate"), DatePattern.NORM_DATETIME_FORMAT):new Date());
 		slip.setPaymentAmount(ObjUtil.isNotNull(record.get("bodyItemOriTaxExcludedAmount"))?record.getBigDecimal("bodyItemOriTaxExcludedAmount"):new BigDecimal("0"));
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java
index c6a44b4..fcc0580 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java
@@ -11,6 +11,7 @@
 import com.by4cloud.platformx.business.service.ContractService;
 import com.by4cloud.platformx.business.service.PaymentOffsetService;
 import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.security.util.SecurityUtils;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -33,12 +34,28 @@
 	private final ContractPaymentScheduleMapper contractPaymentScheduleMapper;
 	private final CurrentOverdueMapper currentOverdueMapper;
 	private final HistoryOverdueMapper historyOverdueMapper;
+	private final PaymentSlipMapper paymentSlipMapper;
+
 
 	@Override
 	public R add(PaymentOffset paymentOffset) {
 		baseMapper.insert(paymentOffset);
+
 		Contract contract = contractService.getById(paymentOffset.getContractId());
 
+		//鏂板浠樻鍗�
+		PaymentSlip slip = new PaymentSlip();
+		slip.setBusGuestId(paymentOffset.getBusGuestId());
+		slip.setBusGuestName(paymentOffset.getBusGuestName());
+		slip.setPayeeCompId(contract.getPartyBId());
+		slip.setPayee(contract.getPartyB());
+		slip.setPaymentTime(paymentOffset.getOffsetTime());
+		slip.setPaymentAmount(paymentOffset.getOffsetAmount());
+		slip.setPayType("3");
+		paymentSlipMapper.insert(slip);
+
+
+
 		PaymentConfirm lastConfirm = paymentConfirmMapper.selectOne(Wrappers.<PaymentConfirm>lambdaQuery().eq(PaymentConfirm::getContractId,contract.getId())
 				.orderByDesc(PaymentConfirm::getCreateTime).last("limit 1"));
 		BigDecimal lastTotal = new BigDecimal("0");
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..0aea4e5 100644
--- a/platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml
@@ -186,69 +186,66 @@
 		SELECT
 			compName,
 			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 = 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 compName,
+		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>
@@ -260,10 +257,10 @@
 			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 +288,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 +309,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 +347,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 +366,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 +385,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
@@ -401,29 +418,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.industry_id = b.industry_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.industry_id = b.industry_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(
@@ -431,14 +456,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.industry_id = b.industry_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(
@@ -446,14 +475,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.industry_id = b.industry_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(
@@ -461,14 +494,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.industry_id = b.industry_id
+		and party_b_id IN
 		<foreach collection="compIds" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS tfzb
 		FROM
 		contract c
@@ -490,29 +527,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 +565,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 +584,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 +603,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 +637,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 +675,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 +694,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 +713,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
@@ -676,8 +753,8 @@
 			#{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 ) / (
@@ -691,7 +768,7 @@
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS jxczb ,
 		SUM( CASE WHEN c.party_b_id = #{smjCompId} THEN c.amount ELSE 0 END ) AS smjze,
 		ROUND(
@@ -706,7 +783,7 @@
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS smjzb ,
 		SUM( CASE WHEN c.party_b_id = #{ymjCompId} THEN c.amount ELSE 0 END ) AS ymjze,
 		ROUND(
@@ -721,7 +798,7 @@
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS ymjzb ,
 		SUM( CASE WHEN c.party_b_id = #{tfCompId} THEN c.amount ELSE 0 END ) AS tfze,
 		ROUND(
@@ -736,7 +813,7 @@
 			#{id}
 		</foreach>
 		) * 100,
-		0
+		2
 		) AS tfzb
 		FROM
 		contract c
diff --git a/platformx-business-finance-biz/src/main/resources/template/ymjjgclht.docx b/platformx-business-finance-biz/src/main/resources/template/ymjjgclht.docx
new file mode 100644
index 0000000..3f268e1
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/resources/template/ymjjgclht.docx
Binary files differ

--
Gitblit v1.9.1