From 2f16d95c236faedc9812064ecdd144d8b10346d5 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 10 四月 2025 15:42:32 +0800 Subject: [PATCH] bug修改 --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 40 insertions(+), 3 deletions(-) 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 b275980..b9d8a9e 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 @@ -1,6 +1,7 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.constant.DictConstants; @@ -8,8 +9,8 @@ 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; import com.ruoyi.system.dto.TInvoiceDTO; import com.ruoyi.system.model.*; @@ -20,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> @@ -62,7 +65,7 @@ public R<PageInfo<TBillDto>> list(@RequestBody TBillQuery query){ String userId = tokenService.getLoginUserApplet().getUserId(); query.setUserId(userId); - PageInfo<TBillDto> pageInfo = tBillService.queryPage(query); + PageInfo<TBillDto> pageInfo = tBillService.queryPageForApplet(query); return R.ok(pageInfo); } @@ -80,6 +83,18 @@ query.setUserId(userId); List<String> billIds = tBillService.getBillIds(query); return R.ok(billIds); + } + + @ApiOperation(value = "跳转批量缴费") + @PostMapping("/batchBill") + public R<String> batchBill(@RequestBody BatchBillDTO dto){ + String userId = tokenService.getLoginUserApplet().getUserId(); + List<String> billIds = dto.getBillIds(); + Integer count = tBillService.batchBillCount(userId, billIds); + if(count>0){ + return R.fail("请优先缴纳水电费"); + } + return R.ok(); } @ApiOperation(value = "查看缴费账单详情") @@ -115,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(); -- Gitblit v1.7.1