From 13fd47c5aa585b74bfc8b77722bde3f7a2399587 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 21 五月 2026 10:26:42 +0800
Subject: [PATCH] refactor(invoice): 删除invoice_registration  invoice_registration_product  invoice_ledger  invoice_ledger_file

---
 src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java |   79 +++++++++++++++++++--------------------
 1 files changed, 38 insertions(+), 41 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
index 5a19bde..235f1e9 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -6,45 +6,34 @@
 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.CustomerInteractionDto;
-import com.ruoyi.sales.dto.InvoiceLedgerDto;
 import com.ruoyi.sales.dto.ReceiptPaymentDto;
 import com.ruoyi.sales.dto.ReceiptPaymentExeclDto;
-import com.ruoyi.sales.mapper.InvoiceLedgerMapper;
 import com.ruoyi.sales.mapper.ReceiptPaymentMapper;
 import com.ruoyi.sales.mapper.SalesLedgerMapper;
 import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
-import com.ruoyi.sales.pojo.InvoiceLedger;
 import com.ruoyi.sales.pojo.ReceiptPayment;
 import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.service.ReceiptPaymentService;
-import org.springframework.beans.factory.annotation.Autowired;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 
-import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.YearMonth;
 import java.util.*;
-import java.util.stream.Collectors;
 
 @Service
+@RequiredArgsConstructor
 public class ReceiptPaymentServiceImpl extends ServiceImpl<ReceiptPaymentMapper,ReceiptPayment> implements ReceiptPaymentService {
 
-    @Autowired
-    private ReceiptPaymentMapper receiptPaymentMapper;
-
-    @Autowired
-    private SalesLedgerMapper salesLedgerMapper;
-
-    @Autowired
-    private SalesLedgerProductMapper salesLedgerProductMapper;
-    @Autowired
-    private InvoiceLedgerMapper invoiceLedgerMapper;
+    private final ReceiptPaymentMapper receiptPaymentMapper;
+    private final SalesLedgerMapper salesLedgerMapper;
+    private final SalesLedgerProductMapper salesLedgerProductMapper;
 
     /**
      * 鍥炴鐧昏鏂板
@@ -59,23 +48,24 @@
             if (!ObjectUtils.isEmpty(receiptPayment.getId())){
                 receiptPayment = this.getById(receiptPayment.getId());
             }
-//        InvoiceLedger invoiceLedger = invoiceLedgerMapper.selectById(byId.getInvoiceLedgerId());
             SalesLedger salesLedger = salesLedgerMapper.selectById(receiptPayment.getSalesLedgerId());
             if(null==salesLedger) throw new RuntimeException("鏈壘鍒伴攢鍞崟");
             // 宸插洖娆鹃噾棰�
             SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(receiptPayment.getSalesLedgerProductId());
             if(null==salesLedgerProduct) throw new RuntimeException("鏈壘鍒伴攢鍞崟浜у搧");
-            if (salesLedgerProduct.getPendingInvoiceTotal().compareTo(receiptPayment.getReceiptPaymentAmount())<0){
-                throw new RuntimeException("鏈鍥炴閲戦涓嶈兘澶т簬寰呭洖娆鹃噾棰�");
+            if (salesLedgerProduct.getPendingInvoiceTotal().add(receiptPayment.getReceiptPaymentAmount()).compareTo(byId.getReceiptPaymentAmount())<0){
+                throw new RuntimeException("鏈鍥炴閲戦涓嶈兘澶т簬寰呭洖娆鹃噾棰�+鍥炴閲戦");
             }
             if(null==receiptPayment.getId()){
                 salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(receiptPayment.getReceiptPaymentAmount()));
                 salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));
                 receiptPaymentMapper.insert(receiptPayment);
             }else {
-                BigDecimal subtract = receiptPayment.getReceiptPaymentAmount().subtract(byId.getReceiptPaymentAmount());
+                BigDecimal subtract = byId.getReceiptPaymentAmount().subtract(receiptPayment.getReceiptPaymentAmount());
                 salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(subtract));
                 salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));
+                receiptPayment.setReceiptPaymentAmount(byId.getReceiptPaymentAmount());
+                receiptPayment.setReceiptPaymentType(byId.getReceiptPaymentType());
                 receiptPaymentMapper.updateById(receiptPayment);
             }
             salesLedgerProductMapper.updateById(salesLedgerProduct);
@@ -90,6 +80,24 @@
      */
     @Override
     public int receiptPaymentUpdate(ReceiptPayment receiptPayment) {
+        ReceiptPayment byId = receiptPayment;
+        if (!ObjectUtils.isEmpty(receiptPayment.getId())){
+            receiptPayment = this.getById(receiptPayment.getId());
+        }
+        SalesLedger salesLedger = salesLedgerMapper.selectById(receiptPayment.getSalesLedgerId());
+        if(null==salesLedger) throw new RuntimeException("鏈壘鍒伴攢鍞崟");
+        // 宸插洖娆鹃噾棰�
+        SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(receiptPayment.getSalesLedgerProductId());
+        if(null==salesLedgerProduct) throw new RuntimeException("鏈壘鍒伴攢鍞崟浜у搧");
+        if (salesLedgerProduct.getPendingInvoiceTotal().compareTo(receiptPayment.getReceiptPaymentAmount())<0){
+            throw new RuntimeException("鏈鍥炴閲戦涓嶈兘澶т簬寰呭洖娆鹃噾棰�");
+        }
+        BigDecimal subtract = receiptPayment.getReceiptPaymentAmount().subtract(byId.getReceiptPaymentAmount());
+        salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(subtract));
+        salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));
+        salesLedgerProductMapper.updateById(salesLedgerProduct);
+        receiptPayment.setReceiptPaymentAmount(byId.getReceiptPaymentAmount());
+        receiptPayment.setReceiptPaymentType(byId.getReceiptPaymentType());
         return receiptPaymentMapper.updateById(receiptPayment);
     }
 
@@ -102,6 +110,15 @@
     public int receiptPaymentDel(List<Integer> ids) {
         LambdaQueryWrapper<ReceiptPayment> delQuery = new LambdaQueryWrapper<>();
         delQuery.in(ReceiptPayment::getId, ids);
+        List<ReceiptPayment> receiptPayments = receiptPaymentMapper.selectList(delQuery);
+        if(CollectionUtils.isEmpty(receiptPayments)) throw new RuntimeException("鏈壘鍒板洖娆剧櫥璁�");
+        // 閲嶆柊璁$畻閿�鍞骇鍝佸洖娆鹃噾棰�
+        for (ReceiptPayment receiptPayment : receiptPayments) {
+            SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(receiptPayment.getSalesLedgerProductId());
+            salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().subtract(receiptPayment.getReceiptPaymentAmount()));
+            salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));
+            salesLedgerProductMapper.updateById(salesLedgerProduct);
+        }
         return receiptPaymentMapper.delete(delQuery);
     }
 
@@ -194,16 +211,6 @@
         return receiptPaymentDtoIPage;
     }
 
-    /**
-     * 寮�绁ㄥ彴璐﹁鎯�
-     * @param id
-     * @return
-     */
-    @Override
-    public InvoiceLedgerDto invoiceInfo(Integer id) {
-        return receiptPaymentMapper.invoiceInfo(id);
-    }
-
     @Override
     public Map<String,BigDecimal> getAmountMouth() {
         List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(null);
@@ -248,16 +255,6 @@
     @Override
     public IPage<ReceiptPaymentDto> receiptPaymentHistoryListPage(Page page, ReceiptPaymentDto receiptPaymentDto) {
         return receiptPaymentMapper.receiptPaymentHistoryListPage(page, receiptPaymentDto);
-    }
-
-    /**
-     * 瀹㈡埛寰�鏉ヨ褰曟煡璇�
-     * @param receiptPaymentDto
-     * @return
-     */
-    @Override
-    public List<InvoiceLedgerDto> customerInteractions(InvoiceLedgerDto receiptPaymentDto) {
-        return receiptPaymentMapper.invoiceLedgerSalesAccount(receiptPaymentDto);
     }
 
     /**

--
Gitblit v1.9.3