diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtInvoiceDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtInvoiceDaoController.java index 728d6dbfd..8c1ca4871 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtInvoiceDaoController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtInvoiceDaoController.java @@ -1,5 +1,6 @@ package com.ruoyi.system.fantang.controller; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -17,10 +18,12 @@ import com.ruoyi.system.fantang.service.IFtSettlementDaoService; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -112,7 +115,7 @@ public class FtInvoiceDaoController extends BaseController { } @PostMapping("/addToInvoice") - @Transactional + @Transactional(propagation = Propagation.REQUIRES_NEW) public AjaxResult addToInvoice(@RequestBody JSONObject params) { // 应收 @@ -131,7 +134,7 @@ public class FtInvoiceDaoController extends BaseController { Integer invoiceType = params.getInteger("invoiceType"); // 开票金额 BigDecimal invoiceAmount = params.getBigDecimal("invoiceAmount"); - + FtInvoiceDao invoiceDao = new FtInvoiceDao(); Date today = new Date(); invoiceDao.setCreateAt(today); @@ -145,12 +148,34 @@ public class FtInvoiceDaoController extends BaseController { invoiceDao.setInvoiceAmount(invoiceAmount); iFtInvoiceDaoService.save(invoiceDao); + // 结算 ids + JSONArray settleIds = params.getJSONArray("settleIds"); + + if (settleIds!=null){ + + List ids = JSONObject.parseArray(settleIds.toString(), Long.class); + + List settleList = new ArrayList<>(); + for (Long id : ids) { + FtSettlementDao settlementDao = new FtSettlementDao(); + settlementDao.setSettleId(id); + settlementDao.setInvoiceId(invoiceDao.getId()); + settlementDao.setInvoiceFlag(1); + settleList.add(settlementDao); + } + + settSettlementDaoService.updateBatchById(settleList); + }else { + FtSettlementDao settlementDao = new FtSettlementDao(); settlementDao.setSettleId(params.getLong("settleId")); settlementDao.setInvoiceId(invoiceDao.getId()); settlementDao.setInvoiceFlag(1); settSettlementDaoService.updateById(settlementDao); + } + + return AjaxResult.success("已开票"); } } diff --git a/ruoyi-ui/src/views/fantang/settlement/index.vue b/ruoyi-ui/src/views/fantang/settlement/index.vue index 82fcac727..dd05ebe13 100644 --- a/ruoyi-ui/src/views/fantang/settlement/index.vue +++ b/ruoyi-ui/src/views/fantang/settlement/index.vue @@ -334,6 +334,7 @@ export default { this.combinationOpen = true; this.form.receipts = this.settleTotalReceipts; this.form.payable = this.settleTotalPrice; + this.form.settleIds = id; } }, formatInvoiceFlag(row) { @@ -378,6 +379,7 @@ export default { invoiceNum: undefined, invoiceType: undefined, invoiceAmount: undefined, + settleIds: undefined, }; this.resetForm("form"); },