| | |
| | | String receivableAmountStr = calculateReceivableAmountStr(receivableFeeManagement.getReceivableFeeDetailList()); |
| | | receivableFeeManagement.setReceivableAmountStr(receivableAmountStr); |
| | | } |
| | | |
| | | receivableFeeManagement.setCreateBy(SecurityUtils.getUsername()); |
| | | // 保存主表信息 |
| | | int result = receivableFeeManagementMapper.insertReceivableFeeManagement(receivableFeeManagement); |
| | | |
| | |
| | | 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. 根据账单类型设置币种和总金额 |
| | |
| | | } else { |
| | | throw new IllegalArgumentException("无效的账单类型:" + billType); |
| | | } |
| | | billManagement.setPendingAmount(billManagement.getTotalAmount()); |
| | | String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.YSZD); |
| | | billManagement.setSystemNo(noByKey); |
| | | // 4. 保存主账单记录 |
| | |
| | | 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); |