From b1b3da5393c75ced1afa1467be69d60af5403878 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期四, 27 八月 2026 14:25:16 +0800
Subject: [PATCH] feat:合同审核、出库及履约阶段代码优化

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java |   20 +++++++++++---------
 1 files changed, 11 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 30ff48c..cd39c2c 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
@@ -1,7 +1,7 @@
 package com.by4cloud.platformx.business.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -11,13 +11,13 @@
 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;
 
 import java.math.BigDecimal;
 import java.util.List;
-import java.util.Objects;
+
+;
 
 /**
  * 鎶垫姽璐�
@@ -31,6 +31,7 @@
 
 	private final ContractService contractService;
 	private final PaymentConfirmMapper paymentConfirmMapper;
+	private final BusinessCustomerMapper businessCustomerMapper;
 	private final ContractPaymentScheduleMapper contractPaymentScheduleMapper;
 	private final CurrentOverdueMapper currentOverdueMapper;
 	private final HistoryOverdueMapper historyOverdueMapper;
@@ -40,13 +41,14 @@
 	@Override
 	public R add(PaymentOffset paymentOffset) {
 		baseMapper.insert(paymentOffset);
+		BusinessCustomer customer = businessCustomerMapper.selectById(paymentOffset.getBusGuestId());
 
 		Contract contract = contractService.getById(paymentOffset.getContractId());
 
 		//鏂板浠樻鍗�
 		PaymentSlip slip = new PaymentSlip();
 		slip.setBusGuestId(paymentOffset.getBusGuestId());
-		slip.setBusGuestName(paymentOffset.getBusGuestName());
+		slip.setBusGuestName(customer.getCompanyName());
 		slip.setPayeeCompId(contract.getPartyBId());
 		slip.setPayee(contract.getPartyB());
 		slip.setPaymentTime(paymentOffset.getOffsetTime());
@@ -67,7 +69,7 @@
 		entity.setContractName(contract.getContractName());
 		entity.setContractNo(contract.getContractNo());
 		entity.setBusGuestId(paymentOffset.getBusGuestId());
-		entity.setBusGuestName(paymentOffset.getBusGuestName());
+		entity.setBusGuestName(customer.getCompanyName());
 		entity.setBusinessType("鎶垫姽璐�");
 		entity.setConfirmTime(paymentOffset.getOffsetTime());
 		entity.setTransationAmount(paymentOffset.getOffsetAmount());
@@ -78,7 +80,7 @@
 		List<ContractPaymentSchedule> scheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
 				.eq(ContractPaymentSchedule::getContractId,contract.getId()).ne(ContractPaymentSchedule::getPaymentStatus,2)
 				.ne(ContractPaymentSchedule::getPaymentStatus,3).orderByAsc(ContractPaymentSchedule::getCreateTime));
-		if (ArrayUtil.isNotEmpty(scheduleList.toArray())){
+		if (CollUtil.isNotEmpty(scheduleList)){
 			BigDecimal remain = paymentOffset.getOffsetAmount();
 			for (ContractPaymentSchedule schedule:scheduleList) {
 				BigDecimal lastRemain = remain;
@@ -135,13 +137,13 @@
 		}
 		paid = paid.add(paymentOffset.getOffsetAmount());
 		contract.setPaidAmount(paid);
-		if (paid.compareTo(contract.getAmount())==0){
-			contract.setBillingStatus("2");
+		if (paid.compareTo(contract.getAmount().subtract(contract.getDropAmount()))>=0&&contract.getBillingAmout().compareTo(contract.getAmount())==0){
+//			contract.setBillingStatus("2");
 			contract.setContractStatus(3);
 		}
 		contractService.updateById(contract);
 		// 鏌ヨ鎵�鏈変粯娆鹃樁娈垫槸鍚﹂兘浠樻瀹屾垚
-//		if (ArrayUtil.isNotEmpty(scheduleList.toArray())){
+//		if (.isNotEmpty(scheduleList)){
 //			if (scheduleList.stream().allMatch(item -> Objects.equals(item.getPaymentStatus(), 2))){
 //				contract.setContractStatus(3);
 //				contractService.updateById(contract);

--
Gitblit v1.9.1