From e69dc34457a700a27659d17501957ed1dd5be66c Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 27 六月 2025 17:03:12 +0800
Subject: [PATCH] 2025-06-27 bug修改

---
 src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 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 ca69eef..c7753c2 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()));
@@ -121,8 +122,8 @@
         }
 
         LoginUser loginUser = SecurityUtils.getLoginUser();
-        Integer tenantId = loginUser.getTenantId();
-        paymentRegistration.setTenantId(tenantId.longValue());
+        Long tenantId = loginUser.getTenantId();
+        paymentRegistration.setTenantId(tenantId);
         paymentRegistration.setRegistrantId(loginUser.getUserId());
         paymentRegistration.setCreateTime(DateUtils.getNowDate());
         paymentRegistration.setUpdateTime(DateUtils.getNowDate());
@@ -288,6 +289,8 @@
             detailPagination.put("pageSize", detailPageSize);
             detailPagination.put("pages", (int) Math.ceil((double) totalDetails / detailPageSize));
 
+            // 搴斾粯閲戦閫昏緫涓嶉噰鐢ㄥ悎鍚岄噾棰濇敼鎴�  鍙戠エ閲戦鍑忎粯娆鹃噾棰�
+            payableAmount = invoiceAmount.subtract(paymentAmount);
             res.put("invoiceAmount", invoiceAmount);
             res.put("payableAmount", payableAmount);
             res.put("paymentAmount", paymentAmount);
@@ -374,7 +377,6 @@
                                                                                 Collectors.toList()
                                                                         )
                                                                         );
-            BigDecimal amountDateTotal = BigDecimal.ZERO;
             for (LocalDate localDate : dateListMap.keySet()) {
                 BigDecimal currentPaymentAmount = BigDecimal.ZERO;
                 BigDecimal invoiceAmount = BigDecimal.ZERO;
@@ -396,7 +398,7 @@
                 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);
             }
@@ -405,6 +407,17 @@
         return result;
     }
 
+    /**
+     * 鏌ヨ浠樻鐧昏鍒楄〃鍒嗛〉
+     *
+     * @param paymentRegistrationDto 浠樻鐧昏
+     * @return 浠樻鐧昏闆嗗悎
+     */
+    @Override
+    public IPage<PaymentRegistrationDto> paymentHistoryListPage(Page page, PaymentRegistrationDto paymentRegistrationDto) {
+        return paymentRegistrationMapper.paymentHistoryListPage(page, paymentRegistrationDto);
+    }
+
     // 鎵归噺鏌ヨ閲囪喘鍙拌处锛堝綋鏈堬級
     private Map<Long, List<PurchaseLedger>> batchQueryPurchaseLedgers(List<Long> supplierIds, LocalDate startDate, LocalDate endDate) {
         LambdaQueryWrapper<PurchaseLedger> query = new LambdaQueryWrapper<>();

--
Gitblit v1.9.3