From 3dbaccac83e648d4b87da72a243848ad1926f7bb Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期二, 23 十二月 2025 14:43:17 +0800
Subject: [PATCH] 新增日志
---
service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableFeeManagementServiceImpl.java | 63 ++++++++++++++++++++++++++++++-
1 files changed, 60 insertions(+), 3 deletions(-)
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableFeeManagementServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableFeeManagementServiceImpl.java
index f8e94db..359e215 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableFeeManagementServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableFeeManagementServiceImpl.java
@@ -2,9 +2,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import com.ruoyi.common.enums.SystemDataNoEnum;
import com.ruoyi.common.exception.ServiceException;
@@ -148,6 +146,12 @@
String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.YS);
receivableFeeManagement.setSystemNo(noByKey);
+ // 璁$畻搴旀敹閲戦瀛楃涓叉弿杩�
+ if (receivableFeeManagement.getReceivableFeeDetailList() != null && !receivableFeeManagement.getReceivableFeeDetailList().isEmpty()) {
+ String receivableAmountStr = calculateReceivableAmountStr(receivableFeeManagement.getReceivableFeeDetailList());
+ receivableFeeManagement.setReceivableAmountStr(receivableAmountStr);
+ }
+
// 淇濆瓨涓昏〃淇℃伅
int result = receivableFeeManagementMapper.insertReceivableFeeManagement(receivableFeeManagement);
@@ -190,6 +194,12 @@
public int updateReceivableFeeManagement(ReceivableFeeManagement receivableFeeManagement)
{
receivableFeeManagement.setUpdateTime(DateUtils.getNowDate());
+
+ // 璁$畻搴旀敹閲戦瀛楃涓叉弿杩�
+ if (receivableFeeManagement.getReceivableFeeDetailList() != null && !receivableFeeManagement.getReceivableFeeDetailList().isEmpty()) {
+ String receivableAmountStr = calculateReceivableAmountStr(receivableFeeManagement.getReceivableFeeDetailList());
+ receivableFeeManagement.setReceivableAmountStr(receivableAmountStr);
+ }
// 1. 鏇存柊涓昏〃淇℃伅
int result = receivableFeeManagementMapper.updateReceivableFeeManagement(receivableFeeManagement);
@@ -474,4 +484,51 @@
public int updateReceivableFeeManagementByRelatedBillNo(String relatedBillNo) {
return receivableFeeManagementMapper.updateReceivableFeeManagementByRelatedBillNo(relatedBillNo);
}
+
+ /**
+ * 璁$畻搴旀敹閲戦瀛楃涓叉弿杩�
+ * 鏍规嵁鏄庣粏鍒楄〃鎸夊竵绉嶆眹鎬婚噾棰濓紝鏍煎紡濡傦細"200娓竵100浜烘皯甯�"
+ *
+ * @param detailList 搴旀敹璐圭敤鏄庣粏鍒楄〃
+ * @return 搴旀敹閲戦瀛楃涓叉弿杩�
+ */
+ private String calculateReceivableAmountStr(List<ReceivableFeeDetail> detailList) {
+ if (detailList == null || detailList.isEmpty()) {
+ return "";
+ }
+
+ // 鎸夊竵绉嶆眹鎬婚噾棰�
+ Map<String, BigDecimal> currencyAmountMap = new HashMap<>();
+ for (ReceivableFeeDetail detail : detailList) {
+ String currency = detail.getCurrency();
+ BigDecimal billingAmount = detail.getBillingAmount();
+
+ if (currency != null && billingAmount != null) {
+ currencyAmountMap.merge(currency, billingAmount, BigDecimal::add);
+ }
+ }
+
+ // 鏋勫缓瀛楃涓叉弿杩�
+ StringBuilder sb = new StringBuilder();
+ for (Map.Entry<String, BigDecimal> entry : currencyAmountMap.entrySet()) {
+ if (sb.length() > 0) {
+ sb.append(" ");
+ }
+ sb.append(entry.getValue().stripTrailingZeros().toPlainString());
+
+ // 鏍规嵁甯佺鏄剧ず瀵瑰簲鐨勮揣甯佸悕绉�
+ String currency = entry.getKey();
+ if ("CNY".equals(currency)) {
+ sb.append("浜烘皯甯�");
+ } else if ("HKD".equals(currency)) {
+ sb.append("娓竵");
+ } else if ("USD".equals(currency)) {
+ sb.append("缇庡厓");
+ } else {
+ sb.append(currency);
+ }
+ }
+
+ return sb.toString();
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0