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 |   18 ++++++++++++------
 1 files changed, 12 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 1c27133..7dceb8a 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -398,12 +398,15 @@
             }
             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);
             }
@@ -426,12 +429,15 @@
             }
             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);
             }

--
Gitblit v1.9.3