From 71e05a80df83069c9611ba5ef0fdc2a37eb6a3ae Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 09 十月 2026 11:49:21 +0800
Subject: [PATCH] fix: 客户往来金额调整为2位小数

---
 src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
index 293566a..7dceb8a 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -16,6 +16,7 @@
 import com.ruoyi.basic.pojo.CustomerUser;
 import com.ruoyi.basic.service.*;
 import com.ruoyi.basic.vo.CustomerVo;
+import com.ruoyi.common.utils.AmountUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -397,13 +398,17 @@
             }
             for (CustomerTransactionsVo vo : records) {
                 BigDecimal outboundAmount = shippedAmountMap.getOrDefault(vo.getCustomerId(), BigDecimal.ZERO);
-                vo.setShippedAmount(outboundAmount);
-                BigDecimal contractAmounts = vo.getContractAmounts() == null ? BigDecimal.ZERO : vo.getContractAmounts();
-                BigDecimal unshippedAmount = contractAmounts.subtract(outboundAmount);
+                BigDecimal contractAmounts = AmountUtils.scaleMoney(vo.getContractAmounts());
+                // 宸插嚭搴撻噾棰濇寜鍒嗭紙2浣嶅皬鏁帮級澶勭悊锛岄伩鍏嶆寜鍚◣鍗曚环绱鍑哄簱閲戦浜х敓璇樊瀵艰嚧鍏ㄩ儴鍙戣揣鍚庝粛鏈夋湭鍑哄簱闆跺ご
+                BigDecimal shippedAmount = AmountUtils.scaleMoney(outboundAmount);
+                BigDecimal unshippedAmount = contractAmounts.subtract(shippedAmount);
                 if (unshippedAmount.compareTo(BigDecimal.ZERO) < 0) {
                     unshippedAmount = BigDecimal.ZERO;
                 }
+                vo.setContractAmounts(contractAmounts);
+                vo.setShippedAmount(shippedAmount);
                 vo.setUnshippedAmount(unshippedAmount);
+                AmountUtils.normalizeCustomerTransaction(vo);
             }
         }
         return p;
@@ -424,13 +429,17 @@
             }
             for (CustomerTransactionsDetailsVo vo : records) {
                 BigDecimal outboundAmount = shippedAmountMap.getOrDefault(vo.getSalesLedgerId(), BigDecimal.ZERO);
-                vo.setShippedAmount(outboundAmount);
-                BigDecimal contractAmount = vo.getContractAmount() == null ? BigDecimal.ZERO : vo.getContractAmount();
-                BigDecimal unshippedAmount = contractAmount.subtract(outboundAmount);
+                BigDecimal contractAmount = AmountUtils.scaleMoney(vo.getContractAmount());
+                // 宸插嚭搴撻噾棰濇寜鍒嗭紙2浣嶅皬鏁帮級澶勭悊锛岄伩鍏嶆寜鍚◣鍗曚环绱鍑哄簱閲戦浜х敓璇樊瀵艰嚧鍏ㄩ儴鍙戣揣鍚庝粛鏈夋湭鍑哄簱闆跺ご
+                BigDecimal shippedAmount = AmountUtils.scaleMoney(outboundAmount);
+                BigDecimal unshippedAmount = contractAmount.subtract(shippedAmount);
                 if (unshippedAmount.compareTo(BigDecimal.ZERO) < 0) {
                     unshippedAmount = BigDecimal.ZERO;
                 }
+                vo.setContractAmount(contractAmount);
+                vo.setShippedAmount(shippedAmount);
                 vo.setUnshippedAmount(unshippedAmount);
+                AmountUtils.normalizeCustomerTransactionDetail(vo);
             }
         }
         return p;

--
Gitblit v1.9.3