From 62ecfddb95ede7fdd913311f955b4546eddabfb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 3 Jul 2026 21:04:19 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A6=E5=8D=95=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessDocumentApplicationService.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java b/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java index f833c59e8..ad261c128 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java +++ b/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java @@ -288,6 +288,9 @@ public class BusinessDocumentApplicationService { billingStatementDTO.setBillingStatementIds(billingStatement.getBillingStatementId().toString()); billingStatementDTO.setAuditOperation(1); billingStatementDomainService.reviewBilling(billingStatementDTO); + billingStatement.setBillManageId(businessDocumentDO.getBillManageId()); + billingStatement.setBillingState(3); + billingStatementMapper.updateById(billingStatement); } BillManage billManage = billManageService.getById(businessDocumentDO.getBillManageId()); @@ -320,6 +323,15 @@ public class BusinessDocumentApplicationService { BigDecimal amount = billAmount.add(billDetail.getBillingAmount()); billManage.setBillAmount(amount); billManage.setBillTotalAmount(amount); + BigDecimal billTotalAmount = billManage.getBillTotalAmount(); + BigDecimal billAmountSettlement = billManage.getBillAmountSettlement(); + BigDecimal subtract = billTotalAmount.subtract(billAmountSettlement); + billManage.setBillAmountUnsettled(subtract); + Double taxRate = billManage.getTaxRate() != null ? billManage.getTaxRate() : 0.0; + BigDecimal taxAmount = billTotalAmount.divide(BigDecimal.ONE.add(new BigDecimal(taxRate).divide(BigDecimal.valueOf(100))),10, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(taxRate).divide(BigDecimal.valueOf(100))).setScale(2, BigDecimal.ROUND_HALF_UP); + BigDecimal taxFreeFee = billTotalAmount.subtract(taxAmount); + billManage.setTaxAmount(taxAmount); + billManage.setTaxFreeFee(taxFreeFee); billManageService.updateById(billManage); return true; }