From 1212e2b0dea3b44668c5293a3267a6fb780b420f Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期六, 28 六月 2025 14:28:08 +0800
Subject: [PATCH] 2025-06-28 bug修改

---
 src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 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 9cab585..2bdf7d2 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
@@ -99,11 +99,12 @@
         PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(paymentRegistration.getPurchaseLedgerId());
         SalesLedger salesLedger = salesLedgerMapper.selectOne(new QueryWrapper<SalesLedger>().
                 eq("sales_contract_no", purchaseLedger.getSalesContractNo()));
-        if (salesLedger == null) {
-            throw new RuntimeException("鍏宠仈閿�鍞悎鍚屽彿涓嶅瓨鍦�");
+//        if (salesLedger == null) {
+//            throw new RuntimeException("鍏宠仈閿�鍞悎鍚屽彿涓嶅瓨鍦�");
+//        }
+        if (salesLedger != null) {
+            paymentRegistration.setSaleLedgerId(salesLedger.getId());
         }
-
-        paymentRegistration.setSaleLedgerId(salesLedger.getId());
         paymentRegistration.setSupplierId(purchaseLedger.getSupplierId());
 
         TicketRegistration tr = ticketRegistrationMapper.selectOne(new LambdaQueryWrapper<TicketRegistration>().eq(TicketRegistration::getId, paymentRegistration.getTicketRegistrationId()));
@@ -366,6 +367,7 @@
     public List<PaymentHistoryRecordVo> getPaymentRecordList(Long supplierId) {
         List<PaymentHistoryRecordVo> paymentRecordList = paymentRegistrationMapper.getPaymentRecordList(supplierId);
         List<PaymentHistoryRecordVo> result = new ArrayList<>();
+        List<PaymentHistoryRecordVo> newResult = new ArrayList<>();
         // 搴斾粯鎬婚噾棰濋噾棰濊绠�
         BigDecimal amountTotal = BigDecimal.ZERO;
         if(CollectionUtils.isNotEmpty(paymentRecordList)) {
@@ -397,13 +399,25 @@
                 paymentHistoryRecordVo.setHappenTime(localDate);
                 paymentHistoryRecordVo.setCurrentPaymentAmount(currentPaymentAmount);
                 paymentHistoryRecordVo.setInvoiceAmount(invoiceAmount);
-                amountTotal = amountTotal.add(currentDateTotal);
+                amountTotal = paymentHistoryRecordVo.getInvoiceAmount().subtract(paymentHistoryRecordVo.getCurrentPaymentAmount());
                 paymentHistoryRecordVo.setPayableAmount(amountTotal);
                 result.add(paymentHistoryRecordVo);
             }
 
+
+            for (int i = 0; i < result.size(); i++) {
+                PaymentHistoryRecordVo paymentHistoryRecordVo = result.get(i);
+                if (i == 0) {
+                    paymentHistoryRecordVo.setPayableAmount(paymentHistoryRecordVo.getInvoiceAmount().subtract(paymentHistoryRecordVo.getCurrentPaymentAmount()));
+                }else {
+                    PaymentHistoryRecordVo paymentHistoryRecordVo1 = result.get(i-1);
+                    paymentHistoryRecordVo.setPayableAmount(paymentHistoryRecordVo1.getPayableAmount()
+                            .add(paymentHistoryRecordVo.getInvoiceAmount()).subtract(paymentHistoryRecordVo.getCurrentPaymentAmount()));
+                }
+                newResult.add(paymentHistoryRecordVo);
+            }
         }
-        return result;
+        return newResult;
     }
 
     /**

--
Gitblit v1.9.3