From be09cd5461ee9e2589ed833510ac6a2a52ded6f3 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 13 一月 2026 15:05:50 +0800
Subject: [PATCH] Merge branch 'jtwy' into dev_New

---
 src/main/java/com/ruoyi/basic/controller/ProductController.java            |   23 +++++++++++++++++++++--
 src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml    |   12 ++++++++++++
 src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java |   10 ++++++----
 3 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/controller/ProductController.java b/src/main/java/com/ruoyi/basic/controller/ProductController.java
index 2e39db8..a97bd7b 100644
--- a/src/main/java/com/ruoyi/basic/controller/ProductController.java
+++ b/src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -1,5 +1,6 @@
 package com.ruoyi.basic.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.basic.dto.ProductDto;
@@ -12,9 +13,13 @@
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
+import com.ruoyi.sales.service.ISalesLedgerProductService;
+import com.ruoyi.sales.service.ISalesLedgerService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -28,8 +33,8 @@
     private IProductService productService;
 
     private IProductModelService productModelService;
-
-
+    @Autowired
+    private ISalesLedgerProductService salesLedgerProductService;
     /**
      * 鏌ヨ浜у搧
      */
@@ -73,6 +78,13 @@
         if (ids == null || ids.length == 0) {
             return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
         }
+        // 妫�鏌ユ槸鍚︽湁閿�鍞晢鍝佽褰曞叧鑱旇浜у搧
+        LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(SalesLedgerProduct::getProductId, ids);
+        List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper);
+        if (salesLedgerProductList.size() > 0) {
+            return AjaxResult.error("璇ヤ骇鍝佸瓨鍦ㄩ攢鍞�/閲囪喘璁板綍锛屼笉鑳藉垹闄�");
+        }
         return toAjax(productService.delProductByIds(ids));
     }
 
@@ -85,6 +97,13 @@
         if (ids == null || ids.length == 0) {
             return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
         }
+        // 妫�鏌ユ槸鍚︽湁閿�鍞晢鍝佽褰曞叧鑱旇浜у搧瑙勬牸鍨嬪彿
+        LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(SalesLedgerProduct::getProductModelId, ids);
+        List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper);
+        if (salesLedgerProductList.size() > 0) {
+            return AjaxResult.error("璇ヤ骇鍝佽鏍煎瀷鍙峰瓨鍦ㄩ攢鍞�/閲囪喘璁板綍锛屼笉鑳藉垹闄�");
+        }
         return toAjax(productModelService.delProductModel(ids));
     }
 
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
index 058360b..d0d7625 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
@@ -52,10 +52,12 @@
             procurementDto.setSalesLedgerProductId(item.getId());
             procurementDto.setProductCategory(item.getProductCategory());
             IPage<ProcurementPageDtoCopy> result = procurementRecordService.listPageCopyByProduction(new Page<>(1,-1), procurementDto);
-            ProcurementPageDtoCopy procurementDtoCopy = result.getRecords().get(0);
-            if(item.getQuantity().compareTo(procurementDtoCopy.getInboundNum0())>=0){
-                item.setApproveStatus(1);
-                salesLedgerProductService.addOrUpdateSalesLedgerProduct(item);
+            if(result.getRecords().size()>0) {
+                ProcurementPageDtoCopy procurementDtoCopy = result.getRecords().get(0);
+                if (item.getQuantity().compareTo(procurementDtoCopy.getInboundNum0()) >= 0) {
+                    item.setApproveStatus(1);
+                    salesLedgerProductService.addOrUpdateSalesLedgerProduct(item);
+                }
             }
         });
         return AjaxResult.success(list);
diff --git a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
index f739bec..3642db2 100644
--- a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
+++ b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -340,5 +340,17 @@
         select *
         from  procurement_record_storage t1
         left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id
+          <where>
+              1=1
+              <if test="req.productCategory != null and req.productCategory != ''">
+                  and t2.product_category like  concat('%',#{req.productCategory},'%')
+              </if>
+              <if test="req.timeStr != null and req.timeStr != ''">
+                  and t1.create_time like  concat('%',#{req.timeStr},'%')
+              </if>
+              <if test="req.salesLedgerProductId != null and req.salesLedgerProductId != ''">
+                  and t1.sales_ledger_product_id = #{req.salesLedgerProductId}
+              </if>
+          </where>
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3