From 08c0e7417807e0e172640835d21f873157b03650 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 13 五月 2025 16:48:51 +0800
Subject: [PATCH] 采购台账联调优化

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java |   40 +++++++++++++++++++++++++++-------------
 1 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index c397b9f..b34d193 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
 import com.ruoyi.sales.mapper.SalesLedgerMapper;
 import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
 import com.ruoyi.sales.pojo.SalesLedger;
@@ -35,6 +37,8 @@
 
     private SalesLedgerMapper salesLedgerMapper;
 
+    private PurchaseLedgerMapper purchaseLedgerMapper;
+
     @Override
     public SalesLedgerProduct selectSalesLedgerProductById(Long id) {
         return salesLedgerProductMapper.selectById(id);
@@ -43,7 +47,8 @@
     @Override
     public List<SalesLedgerProduct> selectSalesLedgerProductList(SalesLedgerProduct salesLedgerProduct) {
         LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId,salesLedgerProduct.getSalesLedgerId());
+        queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerProduct.getSalesLedgerId())
+                .eq(SalesLedgerProduct::getType, salesLedgerProduct.getType());
         return salesLedgerProductMapper.selectList(queryWrapper);
     }
 
@@ -92,7 +97,6 @@
     public int addOrUpdateSalesLedgerProduct(SalesLedgerProduct salesLedgerProduct) {
         int result;
         Long salesLedgerId = salesLedgerProduct.getSalesLedgerId();
-
         if (salesLedgerProduct.getId() == null) {
             result = salesLedgerProductMapper.insert(salesLedgerProduct);
         } else {
@@ -103,19 +107,29 @@
         if (result > 0 && salesLedgerId != null) {
             // 鏌ヨ璇ヤ富琛ㄤ笅鐨勬墍鏈夊瓙琛ㄦ暟鎹�
             LambdaQueryWrapper<SalesLedgerProduct> wrapper = new LambdaQueryWrapper<>();
-            wrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerId);
+            wrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerId)
+                    .eq(SalesLedgerProduct::getType, salesLedgerProduct.getType());
             List<SalesLedgerProduct> productList = salesLedgerProductMapper.selectList(wrapper);
-
-            // 璋冪敤閫氱敤鏂规硶鏇存柊涓昏〃閲戦
-            updateMainContractAmount(
-                    salesLedgerId,
-                    productList,
-                    SalesLedgerProduct::getTaxInclusiveTotalPrice,
-                    salesLedgerMapper,
-                    SalesLedger.class
-            );
+            if (salesLedgerProduct.getType() == 1) {
+                // 璋冪敤閫氱敤鏂规硶鏇存柊涓昏〃閲戦
+                updateMainContractAmount(
+                        salesLedgerId,
+                        productList,
+                        SalesLedgerProduct::getTaxInclusiveTotalPrice,
+                        salesLedgerMapper,
+                        SalesLedger.class
+                );
+            } else {
+                // 璋冪敤閫氱敤鏂规硶鏇存柊涓昏〃閲戦
+                updateMainContractAmount(
+                        salesLedgerId,
+                        productList,
+                        SalesLedgerProduct::getTaxInclusiveTotalPrice,
+                        purchaseLedgerMapper,
+                        PurchaseLedger.class
+                );
+            }
         }
-
         return result;
     }
 

--
Gitblit v1.9.3