From 5b1c84423d590c7240209fa9a68d33c0116457af Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期二, 26 五月 2026 17:27:03 +0800
Subject: [PATCH] feat:测试调整

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java |   46 ++++++++++++++++++++++++++--------------------
 1 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java
index 5d43f90..fd7e0b9 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java
@@ -108,7 +108,7 @@
 				}
 				if (contractPaymentScheduleAddDTO.getPaymentRatio().compareTo(new BigDecimal("0")) > 0) {
 					schedule.setPaymentStatus(0);
-				}else {
+				} else {
 					schedule.setPaymentStatus(3);
 				}
 				schedule.setContractId(contract.getId());
@@ -177,7 +177,7 @@
 				schedule.setStageOrder(currentIndex);
 				if (contractPaymentScheduleAddDTO.getPaymentRatio().compareTo(new BigDecimal("0")) > 0) {
 					schedule.setPaymentStatus(0);
-				}else {
+				} else {
 					schedule.setPaymentStatus(3);
 				}
 				contractPaymentScheduleMapper.insert(schedule);
@@ -367,26 +367,32 @@
 				}
 			}
 			if (ArrayUtil.isNotEmpty(outAmountList.toArray())) {
-				BigDecimal currentSum = new BigDecimal("0");
-				for (BigDecimal currentAmount : outAmountList
-				) {
-					currentSum = currentSum.add(currentAmount);
-					//鏂板褰撳墠鍚堝悓 璧勯噾杞叆
-					PaymentConfirm inConfirm = BeanUtil.copyProperties(paymentConfirm, PaymentConfirm.class, "id", "transationAmount",
-							"advanceAmount", "receivableAmount", "overdueAmount", "totalAmount");
-					inConfirm.setBusinessType("璧勯噾杞叆");
-					inConfirm.setConfirmTime(new Date());
-					inConfirm.setTransationAmount(currentSum.subtract(currentAmount));
-					inConfirm.setTotalAmount(paymentConfirm.getTotalAmount().add(currentSum));
-					if (inConfirm.getTotalAmount().compareTo(new BigDecimal("0")) > 0) {
-						inConfirm.setAdvanceAmount(inConfirm.getTotalAmount());
-					} else if (inConfirm.getTotalAmount().compareTo(new BigDecimal("0")) < 0) {
-						inConfirm.setReceivableAmount(inConfirm.getTotalAmount().multiply(new BigDecimal("-1")));
-					}
-					paymentConfirmMapper.insert(inConfirm);
+				BigDecimal currentInSum = outAmountList.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
+				//鏂板褰撳墠鍚堝悓 璧勯噾杞叆
+				PaymentConfirm inConfirm = BeanUtil.copyProperties(paymentConfirm, PaymentConfirm.class, "id", "transationAmount",
+						"advanceAmount", "receivableAmount", "overdueAmount", "totalAmount");
+				inConfirm.setBusinessType("璧勯噾杞叆");
+				inConfirm.setConfirmTime(new Date());
+				inConfirm.setTransationAmount(currentInSum);
+				inConfirm.setTotalAmount(paymentConfirm.getTotalAmount().add(currentInSum));
+				//鏇存柊褰撳墠闃舵瀹為檯鏀舵 鍜� 鏀舵鐘舵��
+				schedule.setActualAmount(inConfirm.getTransationAmount());
+				schedule.setPaymentStatus(2);
+				if (inConfirm.getTotalAmount().compareTo(new BigDecimal("0")) > 0){
+					inConfirm.setAdvanceAmount(inConfirm.getTotalAmount());
+				}else if (inConfirm.getTotalAmount().compareTo(new BigDecimal("0")) < 0) {
+					inConfirm.setReceivableAmount(inConfirm.getTotalAmount().multiply(new BigDecimal("-1")));
+					schedule.setActualAmount(currentInSum);
+					schedule.setPaymentStatus(1);
 				}
+				paymentConfirmMapper.insert(inConfirm);
+				//鏇存柊褰撳墠闃舵瀹為檯鏀舵 鍜� 鏀舵鐘舵��
+				contractPaymentScheduleMapper.updateById(schedule);
 			}
 
+
+		}else {
+			paymentConfirmMapper.insert(paymentConfirm);
 		}
 	}
 
@@ -395,7 +401,7 @@
 		List<ContractPaymentSchedule> scheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
 				.lt(ContractPaymentSchedule::getEffectiveEndDate, DateUtil.today())
 				.ne(ContractPaymentSchedule::getPaymentStatus, "2")
-				.ne(ContractPaymentSchedule::getPaymentStatus,3));
+				.ne(ContractPaymentSchedule::getPaymentStatus, 3));
 		if (ArrayUtil.isNotEmpty(scheduleList.toArray())) {
 			scheduleList.stream().forEach(contractPaymentSchedule -> {
 				Contract contract = baseMapper.selectById(contractPaymentSchedule.getContractId());

--
Gitblit v1.9.1