From 980052523e461ba3745a6a0b73bd2b309e1eb879 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 03 四月 2025 15:18:04 +0800 Subject: [PATCH] 开票 --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java | 27 +++++++++++++++++++++++++-- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java | 4 ++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCheckAcceptRecordController.java | 1 + 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCheckAcceptRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCheckAcceptRecordController.java index 5b51c0a..695e91c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCheckAcceptRecordController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCheckAcceptRecordController.java @@ -118,6 +118,7 @@ tBill.setPayFeesStatus("1"); tBill.setBillType("4"); tBill.setSmsStatus(0); + tBill.setBusinessDeptId(contract.getBusinessDeptId()); billService.save(tBill); } diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java index 2ab98bb..a1dd1b2 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java @@ -9,7 +9,6 @@ import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.CodeGenerateUtils; import com.ruoyi.common.utils.DictUtils; -import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.BatchBillDTO; import com.ruoyi.system.dto.TBillDto; @@ -22,12 +21,14 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * <p> @@ -129,17 +130,39 @@ @PostMapping(value = "/invoice") public R<String> invoice(@RequestBody TInvoiceDTO dto) { String userId = tokenService.getLoginUserApplet().getUserId(); + List<String> billIds = dto.getBillIds(); dto.setApplyName(tenantService.getById(userId).getResidentName()); String code; do { code = CodeGenerateUtils.generateVolumeSn(); } while (invoiceService.count(Wrappers.lambdaQuery(TInvoice.class).eq(TInvoice::getInvoiceNumber, code)) > 0); dto.setInvoiceNumber(CodeGenerateUtils.generateVolumeSn()); + String deptId = ""; + List<TBill> list = tBillService.list(Wrappers.lambdaQuery(TBill.class).in(TBill::getId, billIds)); + for (String billId : billIds) { + TBill tBill = list.stream().filter(bill -> bill.getId().equals(billId)).findFirst().orElse(null); + if(StringUtils.hasLength(deptId)){ + if(Objects.nonNull(tBill)){ + if(!deptId.equals(tBill.getBusinessDeptId())){ + return R.fail("请选择同一运营部门账单开票"); + }else { + deptId = tBill.getBusinessDeptId(); + } + } + }else { + if(Objects.nonNull(tBill)){ + deptId = tBill.getBusinessDeptId(); + }else { + return R.fail("请选择同一运营部门账单开票"); + } + } + } + dto.setBusinessDeptId(deptId); + // 添加开票信息 invoiceService.save(dto); // 添加开票信息中间表信息 - List<String> billIds = dto.getBillIds(); List<TInvoiceToBill> sysInvoiceToBills = new ArrayList<>(); for (String billId : billIds) { TInvoiceToBill tInvoiceToBill = new TInvoiceToBill(); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java index 2824697..fbad782 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java @@ -525,6 +525,8 @@ depositBill.setBillType("2"); contractService.updateById(contract); + rentBill.setBusinessDeptId(contract.getBusinessDeptId()); + depositBill.setBusinessDeptId(contract.getBusinessDeptId()); billService.save(rentBill); billService.save(depositBill); // 生成后续账单 @@ -744,6 +746,7 @@ tBill.setContractNumber(contract.getContractNumber()); tBill.setPayFeesStatus("1"); tBill.setBillType("1"); + tBill.setBusinessDeptId(contract.getBusinessDeptId()); billService.save(tBill); beforeBill.setEndTime(beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12).with(TemporalAdjusters.lastDayOfMonth())); @@ -1014,6 +1017,7 @@ // } else { tBill.setPayableFeesTime(tBill.getStartTime().withDayOfMonth(15).toLocalDate()); // } + tBill.setBusinessDeptId(contract.getBusinessDeptId()); billService.save(tBill); } } -- Gitblit v1.7.1