From 2db76f2066701cbe292f206ad49a7f8523b8aa9f Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期五, 14 八月 2026 16:30:25 +0800
Subject: [PATCH] feat:银行流水关联多个合同,新增预收款开票,所有List校验调整为ColUtil
---
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java | 46 +++++++++++++++++++++++++++++++++-------------
1 files changed, 33 insertions(+), 13 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..aed8023 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;
@@ -16,7 +16,8 @@
import java.math.BigDecimal;
import java.util.List;
-import java.util.Objects;
+
+;
/**
* 鎶垫姽璐�
@@ -30,14 +31,32 @@
private final ContractService contractService;
private final PaymentConfirmMapper paymentConfirmMapper;
+ private final BusinessCustomerMapper businessCustomerMapper;
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);
+ BusinessCustomer customer = businessCustomerMapper.selectById(paymentOffset.getBusGuestId());
+
Contract contract = contractService.getById(paymentOffset.getContractId());
+
+ //鏂板浠樻鍗�
+ PaymentSlip slip = new PaymentSlip();
+ slip.setBusGuestId(paymentOffset.getBusGuestId());
+ slip.setBusGuestName(customer.getCompanyName());
+ 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"));
@@ -50,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());
@@ -60,8 +79,8 @@
//鏇存柊浠樻闃舵浠樻
List<ContractPaymentSchedule> scheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
.eq(ContractPaymentSchedule::getContractId,contract.getId()).ne(ContractPaymentSchedule::getPaymentStatus,2)
- .orderByAsc(ContractPaymentSchedule::getCreateTime));
- if (ArrayUtil.isNotEmpty(scheduleList.toArray())){
+ .ne(ContractPaymentSchedule::getPaymentStatus,3).orderByAsc(ContractPaymentSchedule::getCreateTime));
+ if (CollUtil.isNotEmpty(scheduleList)){
BigDecimal remain = paymentOffset.getOffsetAmount();
for (ContractPaymentSchedule schedule:scheduleList) {
BigDecimal lastRemain = remain;
@@ -118,17 +137,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 (.isNotEmpty(scheduleList)){
+// 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