diff --git a/mhd_bms/src/main/java/com/mhd/bms/application/server/billingStatement/BillingStatementApplicationService.java b/mhd_bms/src/main/java/com/mhd/bms/application/server/billingStatement/BillingStatementApplicationService.java index bf8388111..e585c16ab 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/application/server/billingStatement/BillingStatementApplicationService.java +++ b/mhd_bms/src/main/java/com/mhd/bms/application/server/billingStatement/BillingStatementApplicationService.java @@ -5,6 +5,10 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.bms.application.server.billManage.BillManageApplicationService; +import com.mhd.bms.domain.billManage.entity.BillDetail; +import com.mhd.bms.domain.billManage.entity.BillManage; +import com.mhd.bms.domain.billManage.repository.facade.IBillDetailService; +import com.mhd.bms.domain.billManage.repository.facade.IBillManageService; import com.mhd.bms.domain.billManage.repository.po.BillManagePO; import com.mhd.bms.domain.billManage.service.BillManageDomainService; import com.mhd.bms.domain.billingStatement.entity.BillingStatement; @@ -16,6 +20,10 @@ import com.mhd.bms.domain.billingStatement.repository.po.BillingStatementPO; import com.mhd.bms.domain.billingStatement.repository.todo.BillingStatementCollectDO; import com.mhd.bms.domain.billingStatement.repository.todo.BillingStatementDO; import com.mhd.bms.domain.billingStatement.service.BillingStatementDomainService; +import com.mhd.bms.domain.bmsInvoiceList.repository.facade.IBmsInvoiceListService; +import com.mhd.bms.domain.bmsInvoiceList.repository.todo.BmsInvoiceListAddDTO; +import com.mhd.bms.domain.bmsMakeOutInvoice.entity.BmsMakeOutInvoice; +import com.mhd.bms.domain.bmsMakeOutInvoiceItem.entity.BmsMakeOutInvoiceItem; import com.mhd.bms.domain.businessDocument.entity.BusinessDocument; import com.mhd.bms.domain.businessDocument.repository.facade.IBusinessDocumentService; import com.mhd.bms.domain.businessDocument.repository.po.BusinessDocumentPO; @@ -27,6 +35,7 @@ import com.mhd.bms.domain.settlementCustomersParameters.repository.mapper.Settle import com.mhd.bms.infrastructure.feign.vo.ContractManagePO; import com.mhd.bms.infrastructure.feign.vo.ExpenseAccountPO; import com.mhd.bms.interfaces.assembler.billingStatement.BillingStatementAssembler; +import com.mhd.bms.interfaces.dto.billManage.BillManageDTO; import com.mhd.bms.interfaces.dto.billingStatement.BillingStatementDTO; import com.mhd.common.core.domain.po.OrganizationPo; import com.mhd.common.core.domain.po.SysDictDataVo; @@ -85,7 +94,12 @@ public class BillingStatementApplicationService { private SettlementCustomersMapper settlementCustomersMapper; @Autowired private SettlementCustomersParametersMapper settlementCustomersParametersMapper; - + @Autowired + private IBmsInvoiceListService bmsInvoiceListService; + @Autowired + private IBillManageService billManageService; + @Autowired + private IBillDetailService billDetailService; /** * 分页查询计费流水列表 @@ -867,6 +881,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } else { @@ -933,6 +990,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } @@ -1014,6 +1114,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } @@ -1102,6 +1245,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } else { @@ -1168,6 +1354,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } @@ -1249,6 +1478,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } @@ -1333,6 +1605,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } else { @@ -1399,6 +1714,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } @@ -1480,6 +1838,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } @@ -1568,6 +1969,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } else { @@ -1634,6 +2078,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } } @@ -1715,6 +2202,49 @@ public class BillingStatementApplicationService { billingStatementDTO1.setTopOrganizationId(topOrganizationId); billingStatementDTO1.setOrganizationName(organizationName); generateBillsJob(billingStatementDTO1); + Long billManageId = billingStatementDTO1.getBillManageId(); + if (ObjectUtil.isNotNull(billManageId)) { + //确认账单 + BillManageDTO params = new BillManageDTO(); + params.setBillManageIds(String.valueOf(billManageId)); + billManageApplicationService.confirmBilling(params); + //申请发票 + BillManage billManage = billManageService.getById(billManageId); + List billDetails = billDetailService.list(new LambdaQueryWrapper() + .eq(BillDetail::getBillManageId, billManageId) + .eq(BillDetail::getDelFlag, 1)); + BmsInvoiceListAddDTO tmsInvoiceListAddDTO = new BmsInvoiceListAddDTO(); + tmsInvoiceListAddDTO.setBillManageId(billManageId); + + if (ObjectUtil.isNotNull(billManage)) { + tmsInvoiceListAddDTO.setSettlementCurrency(billManage.getSettlementCurrency()); + tmsInvoiceListAddDTO.setBillAmount(billManage.getBillAmount()); + tmsInvoiceListAddDTO.setSettlementEntity(billManage.getSettlementEntity()); + } + List bmsMakeOutInvoices = new ArrayList<>(); + BmsMakeOutInvoice bmsMakeOutInvoice = new BmsMakeOutInvoice(); + bmsMakeOutInvoice.setActualInvoiceCustomerId(String.valueOf(billManage.getSettlementCustomersId())); + bmsMakeOutInvoice.setActualInvoiceCustomerName(billManage.getSettlementEntity()); + + + List bmsMakeOutInvoiceItems = new ArrayList<>(); + for (BillDetail billDetail : billDetails) { + BmsMakeOutInvoiceItem bmsMakeOutInvoiceItem = new BmsMakeOutInvoiceItem(); + bmsMakeOutInvoiceItem.setInvoiceItem(billDetail.getInvoiceItem()); + bmsMakeOutInvoiceItem.setFeeType(billDetail.getFeeType()); + bmsMakeOutInvoiceItem.setInvoiceValue(billDetail.getBillingAmount()); + bmsMakeOutInvoiceItem.setTaxAmount(billDetail.getTaxAmount()); + bmsMakeOutInvoiceItem.setTaxFreeFee(billDetail.getTaxFreeFee()); + bmsMakeOutInvoiceItem.setTaxRate(billDetail.getTaxRate()); + bmsMakeOutInvoiceItem.setRemark("系统定时生成发票"); + bmsMakeOutInvoiceItems.add(bmsMakeOutInvoiceItem); + } + bmsMakeOutInvoice.setBmsMakeOutInvoiceItems(bmsMakeOutInvoiceItems); + bmsMakeOutInvoices.add(bmsMakeOutInvoice); + tmsInvoiceListAddDTO.setBmsMakeOutInvoices(bmsMakeOutInvoices); + + bmsInvoiceListService.addReceivableBill(tmsInvoiceListAddDTO); + } } } }