修复组合开票后仍能再次开票的 bug

This commit is contained in:
ryoeiken 2021-01-25 17:12:23 +08:00
parent 0cc09c302a
commit 8514ebb6f0
2 changed files with 29 additions and 2 deletions

View File

@ -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<Long> ids = JSONObject.parseArray(settleIds.toString(), Long.class);
List<FtSettlementDao> 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("已开票");
}
}

View File

@ -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");
},