From f4c9d1b0bbc0d9666180c7f77fb466bd45e10a48 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 16 一月 2026 17:44:22 +0800
Subject: [PATCH] 1.开票台账 2.来漂台账 未开票数量和金额优化
---
src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java | 38 +++++++++++++++++++++++++++++++++-----
1 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
index 7f8bd60..1d71938 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
@@ -2,17 +2,19 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.sales.dto.InvoiceRegistrationDto;
import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
import com.ruoyi.sales.dto.SalesLedgerDto;
import com.ruoyi.sales.excel.InvoiceRegisAndProductExcelDto;
-import com.ruoyi.sales.mapper.InvoiceRegistrationMapper;
-import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper;
-import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.mapper.*;
+import com.ruoyi.sales.pojo.InvoiceLedger;
import com.ruoyi.sales.pojo.InvoiceRegistration;
import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
@@ -25,6 +27,7 @@
import org.springframework.util.ObjectUtils;
import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;
@@ -39,6 +42,9 @@
@Autowired
private SalesLedgerProductMapper salesLedgerProductMapper;
+
+ @Autowired
+ private InvoiceLedgerMapper invoiceLedgerMapper;
/**
* 寮�绁ㄧ櫥璁拌褰曟柊澧�
@@ -55,23 +61,45 @@
invoiceRegistration.setSalesLedgerId(salesLedgerDto.getId().intValue());
invoiceRegistrationMapper.insert(invoiceRegistration);
List<SalesLedgerProduct> productData = salesLedgerDto.getProductData();
+ BigDecimal invoiceAmountTotal = BigDecimal.ZERO;
if(CollectionUtils.isNotEmpty(productData)){
for (SalesLedgerProduct productDatum : productData) {
// 濡傛灉寮�绁ㄦ暟涓�0 璺宠繃
- Integer currentInvoiceNum = productDatum.getCurrentInvoiceNum();
- if(null == currentInvoiceNum || currentInvoiceNum == 0){
+ BigDecimal currentInvoiceNum = productDatum.getCurrentInvoiceNum();
+ if(null == currentInvoiceNum || BigDecimal.ZERO.compareTo(currentInvoiceNum) == 0){
continue;
}
+ invoiceAmountTotal = invoiceAmountTotal.add(currentInvoiceNum);
InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct();
BeanUtils.copyProperties(productDatum, invoiceRegistrationProduct);
+ //鏇存柊宸插紑绁ㄥ墿浣欐湭寮�绁ㄦ暟
+ invoiceRegistrationProductMapper.update(
+ null,
+ new LambdaUpdateWrapper<InvoiceRegistrationProduct>()
+ .eq(InvoiceRegistrationProduct::getSalesLedgerId, salesLedgerDto.getId())
+ .set(InvoiceRegistrationProduct::getNoInvoiceAmount, productDatum.getNoInvoiceAmount())
+ );
invoiceRegistrationProduct.setId(null);
invoiceRegistrationProduct.setSalesLedgerId(salesLedgerDto.getId().intValue());
invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId());
invoiceRegistrationProduct.setInvoiceAmount(productDatum.getCurrentInvoiceAmount());
invoiceRegistrationProduct.setInvoiceNum(productDatum.getCurrentInvoiceNum());
invoiceRegistrationProduct.setSalesLedgerProductId(productDatum.getId().intValue());
+
invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct);
+ productDatum.setInvoiceNum(currentInvoiceNum);
+ productDatum.setInvoiceAmount(productDatum.getCurrentInvoiceAmount());
salesLedgerProductMapper.updateById(productDatum);
+ // 鏂板涓�鏉″紑绁ㄥ彴璐︽暟鎹�
+ InvoiceLedger invoiceLedger = new InvoiceLedger();
+ invoiceLedger.setInvoiceDate(salesLedgerDto.getIssueDate());
+ invoiceLedger.setInvoiceRegistrationProductId(invoiceRegistrationProduct.getId());
+ invoiceLedger.setInvoiceTotal(invoiceRegistrationProduct.getInvoiceAmount());
+ invoiceLedger.setInvoiceNo(salesLedgerDto.getInvoiceNo());
+ invoiceLedger.setCreateUser(SecurityUtils.getUserId().intValue());
+ invoiceLedger.setInvoicePerson(productDatum.getRegister());
+
+ invoiceLedgerMapper.insert(invoiceLedger);
}
}
}
--
Gitblit v1.9.3