zss
2 天以前 caa53e1a00016ad123eabdd6ee3e753574dcdace
src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
@@ -3,7 +3,6 @@
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;
@@ -13,7 +12,10 @@
import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
import com.ruoyi.sales.dto.SalesLedgerDto;
import com.ruoyi.sales.excel.InvoiceRegisAndProductExcelDto;
import com.ruoyi.sales.mapper.*;
import com.ruoyi.sales.mapper.InvoiceLedgerMapper;
import com.ruoyi.sales.mapper.InvoiceRegistrationMapper;
import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.pojo.InvoiceLedger;
import com.ruoyi.sales.pojo.InvoiceRegistration;
import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
@@ -85,18 +87,16 @@
                throw new RuntimeException("销售台账产品不存在,ID:" + productDatum.getId());
            }
            //  计算累计开票
            BigDecimal newInvoiceNum = dbProduct.getInvoiceNum().add(currentInvoiceNum);
            // 未开票
            BigDecimal noInvoiceAmount = dbProduct.getNoInvoiceAmount();
            BigDecimal noInvoiceNum = dbProduct.getNoInvoiceNum();
            BigDecimal newInvoiceAmount = dbProduct.getInvoiceAmount().add(currentInvoiceAmount);
            // 剩余未开票
            BigDecimal newNoInvoiceNum = noInvoiceNum.subtract(currentInvoiceNum);
            BigDecimal newNoInvoiceAmount = noInvoiceAmount.subtract(currentInvoiceAmount);
            //  计算未开票
            BigDecimal newNoInvoiceNum = dbProduct.getQuantity().subtract(newInvoiceNum);
            BigDecimal newNoInvoiceAmount = dbProduct.getTaxInclusiveTotalPrice().subtract(newInvoiceAmount);
            if (newNoInvoiceNum.compareTo(BigDecimal.ZERO) < 0
                    || newNoInvoiceAmount.compareTo(BigDecimal.ZERO) < 0) {
            if (newNoInvoiceAmount.compareTo(BigDecimal.ZERO) < 0) {
                throw new RuntimeException("开票数量或金额超过合同总量");
            }
@@ -105,8 +105,6 @@
                    null,
                    new LambdaUpdateWrapper<SalesLedgerProduct>()
                            .eq(SalesLedgerProduct::getId, dbProduct.getId())
                            .set(SalesLedgerProduct::getInvoiceNum, newInvoiceNum)
                            .set(SalesLedgerProduct::getInvoiceAmount, newInvoiceAmount)
                            .set(SalesLedgerProduct::getNoInvoiceNum, newNoInvoiceNum)
                            .set(SalesLedgerProduct::getNoInvoiceAmount, newNoInvoiceAmount)
            );