From e435c834aac75f49cf2d1945bd4f849524e8b59c Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 16 一月 2026 18:00:15 +0800
Subject: [PATCH] Merge branch 'jtwy' into dev_New

---
 src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
index cbb2e00..378a9c3 100644
--- a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
@@ -22,7 +23,9 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.List;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -191,10 +194,27 @@
      */
     @GetMapping("/listPage")
     public AjaxResult listPage(Page page, PurchaseLedgerDto purchaseLedger) {
-        IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = purchaseLedgerService.selectPurchaseLedgerListPage(page ,purchaseLedger);
-        //杩囨护鎺塧pprovalStatus=3鐨勮褰�
-        purchaseLedgerDtoIPage.getRecords().removeIf(purchaseLedgerDto -> purchaseLedgerDto.getApprovalStatus() == 3);
-         return AjaxResult.success(purchaseLedgerDtoIPage);
+        IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = Optional.ofNullable(
+                purchaseLedgerService.selectPurchaseLedgerListPage(page, purchaseLedger)
+        ).orElse(new Page<>());
+
+        // 澶勭悊null
+        Optional.ofNullable(purchaseLedgerDtoIPage.getRecords())
+                .filter(CollectionUtils::isNotEmpty)
+                .ifPresent(records -> {
+                    // 杩囨护approvalStatus=3鐨勮褰�
+                    records.removeIf(dto -> dto != null && dto.getApprovalStatus() == 3);
+                    // 淇鏈敹浠樻閲戦
+                    records.forEach(dto -> {
+                        if (dto == null) return;
+                        BigDecimal unReceiptAmt = Optional.ofNullable(dto.getUnReceiptPaymentAmount()).orElse(BigDecimal.ZERO);
+                        if (unReceiptAmt.compareTo(BigDecimal.ZERO) == 0) {
+                            dto.setUnReceiptPaymentAmount(Optional.ofNullable(dto.getContractAmount()).orElse(BigDecimal.ZERO));
+                        }
+                    });
+                });
+
+        return AjaxResult.success(purchaseLedgerDtoIPage);
     }
 
     @ApiOperation("鐢熸垚閲囪喘搴忓垪鍙�")

--
Gitblit v1.9.3