wujianwei
2025-12-24 faa02fa3487f765a03d3fc7e63c9be57ddd42c9e
service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableFeeManagementServiceImpl.java
@@ -151,7 +151,7 @@
            String receivableAmountStr = calculateReceivableAmountStr(receivableFeeManagement.getReceivableFeeDetailList());
            receivableFeeManagement.setReceivableAmountStr(receivableAmountStr);
        }
        receivableFeeManagement.setCreateBy(SecurityUtils.getUsername());
        // 保存主表信息
        int result = receivableFeeManagementMapper.insertReceivableFeeManagement(receivableFeeManagement);
        
@@ -451,6 +451,7 @@
        billManagement.setCreateTime(DateUtils.getNowDate());
        billManagement.setBillName(billCreateVo.getBillName());
        billManagement.setCustomerName(billCreateVo.getCustomerName());
        billManagement.setCreateBy(SecurityUtils.getUsername());
        billManagement.setIsInternalSettlement(billCreateVo.getIsInternalSettlement());
        billManagement.setInternalSettlementUnit(billCreateVo.getInternalSettlementUnit());
        // 3. 根据账单类型设置币种和总金额
@@ -465,6 +466,7 @@
        } else {
            throw new IllegalArgumentException("无效的账单类型:" + billType);
        }
        billManagement.setPendingAmount(billManagement.getTotalAmount());
        String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.YSZD);
        billManagement.setSystemNo(noByKey);
        // 4. 保存主账单记录
@@ -530,7 +532,7 @@
        Map<String, BigDecimal> currencyAmountMap = new HashMap<>();
        for (ReceivableFeeDetail detail : detailList) {
            String currency = detail.getCurrency();
            BigDecimal billingAmount = detail.getBillingAmount();
            BigDecimal billingAmount = detail.getActualAmount();
            
            if (currency != null && billingAmount != null) {
                currencyAmountMap.merge(currency, billingAmount, BigDecimal::add);