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