From c865989f10e5a1ae4bb78831a879210fcdca2f83 Mon Sep 17 00:00:00 2001
From: 李白 <7387820+wjli_13439841639@user.noreply.gitee.com>
Date: 星期五, 29 五月 2026 11:30:28 +0800
Subject: [PATCH] 开票(开蓝票,红票,上传bip)

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java |   36 +++++++++++++++++++++++++++---------
 1 files changed, 27 insertions(+), 9 deletions(-)

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..30ff48c 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,11 +34,27 @@
 	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"));
@@ -60,7 +77,7 @@
 		//鏇存柊浠樻闃舵浠樻
 		List<ContractPaymentSchedule> scheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
 				.eq(ContractPaymentSchedule::getContractId,contract.getId()).ne(ContractPaymentSchedule::getPaymentStatus,2)
-				.orderByAsc(ContractPaymentSchedule::getCreateTime));
+				.ne(ContractPaymentSchedule::getPaymentStatus,3).orderByAsc(ContractPaymentSchedule::getCreateTime));
 		if (ArrayUtil.isNotEmpty(scheduleList.toArray())){
 			BigDecimal remain = paymentOffset.getOffsetAmount();
 			for (ContractPaymentSchedule schedule:scheduleList) {
@@ -118,17 +135,18 @@
 		}
 		paid = paid.add(paymentOffset.getOffsetAmount());
 		contract.setPaidAmount(paid);
-		if (paid.compareTo(contract.getAmount())>0){
-			contract.setPaidAmount(contract.getAmount());
+		if (paid.compareTo(contract.getAmount())==0){
+			contract.setBillingStatus("2");
+			contract.setContractStatus(3);
 		}
 		contractService.updateById(contract);
 		// 鏌ヨ鎵�鏈変粯娆鹃樁娈垫槸鍚﹂兘浠樻瀹屾垚
-		if (ArrayUtil.isNotEmpty(scheduleList.toArray())){
-			if (scheduleList.stream().allMatch(item -> Objects.equals(item.getPaymentStatus(), 2))){
-				contract.setContractStatus(3);
-				contractService.updateById(contract);
-			};
-		}
+//		if (ArrayUtil.isNotEmpty(scheduleList.toArray())){
+//			if (scheduleList.stream().allMatch(item -> Objects.equals(item.getPaymentStatus(), 2))){
+//				contract.setContractStatus(3);
+//				contractService.updateById(contract);
+//			};
+//		}
 		return R.ok();
 	}
 }
\ No newline at end of file

--
Gitblit v1.9.1