From 77bbe488ca8aa21d81a4f8f4fcef205fd890ef83 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 24 三月 2026 09:33:27 +0800
Subject: [PATCH] yys 1.批量回款,付款
---
src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java | 31 +++++++++++++++++++++----------
1 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
index 30e838f..688fff3 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
@@ -97,6 +97,9 @@
@Override
public int insertPaymentRegistration(PaymentRegistration paymentRegistration) {
PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(paymentRegistration.getPurchaseLedgerId());
+ if(purchaseLedger == null){
+ throw new RuntimeException("鍏宠仈閲囪喘鍙拌处涓嶅瓨鍦�");
+ }
SalesLedger salesLedger = salesLedgerMapper.selectOne(new QueryWrapper<SalesLedger>().
eq("sales_contract_no", purchaseLedger.getSalesContractNo()));
// if (salesLedger == null) {
@@ -220,10 +223,10 @@
new QueryWrapper<SalesLedgerProduct>().eq("sales_ledger_id", id).eq("type",2)
).stream())
.collect(Collectors.toList());
- payableAmount = salesLedgerProducts.stream()
- .map(SalesLedgerProduct::getTaxInclusiveTotalPrice)
- .filter(Objects::nonNull)
- .reduce(BigDecimal.ZERO, BigDecimal::add);
+// payableAmount = salesLedgerProducts.stream()
+// .map(SalesLedgerProduct::getTaxInclusiveTotalPrice)
+// .filter(Objects::nonNull)
+// .reduce(BigDecimal.ZERO, BigDecimal::add);
// 鏉ョエ閲戦璁$畻
List<TicketRegistration> ticketRegistrations = purchaseLedgers.stream()
@@ -247,6 +250,11 @@
.map(PaymentRegistration::getCurrentPaymentAmount)
.filter(Objects::nonNull)
.reduce(BigDecimal.ZERO, BigDecimal::add);
+
+ // 鏍稿績杩囨护閫昏緫锛氬綋paymentAmount鍜宨nvoiceAmount鍚屾椂涓�0鏃讹紝璺宠繃璇ヨ褰�
+ if (BigDecimal.ZERO.compareTo(paymentAmount) == 0 && BigDecimal.ZERO.compareTo(invoiceAmount) == 0) {
+ continue; // 璺宠繃褰撳墠渚涘簲鍟嗭紝涓嶅姞鍏ョ粨鏋滈泦
+ }
// 璇︽儏鍒嗛〉澶勭悊
detailPageNum = detailPageNum != null ? detailPageNum : 1;
@@ -301,6 +309,8 @@
result.add(res);
}
+ // 淇鎬绘潯鏁帮細杩囨护鍚庨渶瑕侀噸鏂拌绠楁�绘潯鏁�
+ resultPage.setTotal(result.size());
resultPage.setRecords(result);
return resultPage;
}
@@ -373,13 +383,14 @@
// 搴斾粯鎬婚噾棰濋噾棰濊绠�
BigDecimal amountTotal = BigDecimal.ZERO;
if(CollectionUtils.isNotEmpty(paymentRecordList)) {
+ // 鏍稿績鍒嗙粍姹傚拰閫昏緫
Map<LocalDate, List<PaymentHistoryRecordVo>> dateListMap = paymentRecordList.stream().collect(
- Collectors.groupingBy(
- PaymentHistoryRecordVo::getHappenTime,
- LinkedHashMap::new,
- Collectors.toList()
- )
- );
+ Collectors.groupingBy(
+ PaymentHistoryRecordVo::getHappenTime,
+ LinkedHashMap::new,
+ Collectors.toList()
+ )
+ );
for (LocalDate localDate : dateListMap.keySet()) {
BigDecimal currentPaymentAmount = BigDecimal.ZERO;
BigDecimal invoiceAmount = BigDecimal.ZERO;
--
Gitblit v1.9.3