From 1a3e9e98e9d518a6957fc5340e11339bd3ded331 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 23 一月 2026 16:21:40 +0800
Subject: [PATCH] feat(stock): 不合格库存导出

---
 src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java    |    8 ++++++++
 src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java |   12 ++++++++++++
 src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java            |    5 +++++
 src/main/resources/mapper/stock/StockUninventoryMapper.xml                  |   13 +++++++++++++
 src/main/java/com/ruoyi/stock/service/StockUninventoryService.java          |    4 ++++
 5 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java b/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
index e43604f..b2950db 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
@@ -11,6 +11,8 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+
 /**
  * <p>
  * 涓嶅悎鏍煎簱瀛樿〃 鍓嶇鎺у埗鍣�
@@ -49,4 +51,10 @@
         return R.ok(stockUninventoryService.subtractStockUninventory(stockUninventoryDto));
     }
 
+    @PostMapping("/exportStockUninventory")
+    @ApiOperation("瀵煎嚭搴撳瓨")
+    public void exportStockUninventory(HttpServletResponse response, StockUninventoryDto stockUninventoryDto) {
+        stockUninventoryService.exportStockUninventory(response,stockUninventoryDto);
+    }
+
 }
diff --git a/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java b/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
index 64ecc2c..58ab250 100644
--- a/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
+++ b/src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
@@ -3,10 +3,13 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.stock.dto.StockUninventoryDto;
+import com.ruoyi.stock.execl.StockInventoryExportData;
 import com.ruoyi.stock.pojo.StockUninventory;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -24,4 +27,6 @@
     int updateSubtractStockUnInventory(StockUninventoryDto stockUninventoryDto);
 
     int updateAddStockUnInventory(StockUninventoryDto stockUninventoryDto);
+
+    List<StockInventoryExportData> listStockInventoryExportData(@Param("ew") StockUninventoryDto stockUninventoryDto);
 }
diff --git a/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java b/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
index e4b8d83..7f435fa 100644
--- a/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
+++ b/src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
@@ -6,6 +6,8 @@
 import com.ruoyi.stock.pojo.StockUninventory;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import javax.servlet.http.HttpServletResponse;
+
 /**
  * <p>
  * 涓嶅悎鏍煎簱瀛樿〃 鏈嶅姟绫�
@@ -21,4 +23,6 @@
     Integer addStockUninventory(StockUninventoryDto stockUninventoryDto);
 
     Integer subtractStockUninventory(StockUninventoryDto stockUninventoryDto);
+
+    void exportStockUninventory(HttpServletResponse response, StockUninventoryDto stockUninventoryDto);
 }
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
index c896821..fae9248 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -4,9 +4,11 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.stock.dto.StockInRecordDto;
 import com.ruoyi.stock.dto.StockOutRecordDto;
 import com.ruoyi.stock.dto.StockUninventoryDto;
+import com.ruoyi.stock.execl.StockInventoryExportData;
 import com.ruoyi.stock.pojo.StockInventory;
 import com.ruoyi.stock.pojo.StockUninventory;
 import com.ruoyi.stock.mapper.StockUninventoryMapper;
@@ -17,6 +19,9 @@
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
  * <p>
@@ -86,4 +91,11 @@
         }
         return 1;
     }
+
+    @Override
+    public void exportStockUninventory(HttpServletResponse response, StockUninventoryDto stockUninventoryDto) {
+        List<StockInventoryExportData> list = stockUninventoryMapper.listStockInventoryExportData(stockUninventoryDto);
+        ExcelUtil<StockInventoryExportData> util = new ExcelUtil<>(StockInventoryExportData.class);
+        util.exportExcel(response,list, "涓嶅悎鏍煎簱瀛樹俊鎭�");
+    }
 }
diff --git a/src/main/resources/mapper/stock/StockUninventoryMapper.xml b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
index 70b4471..2c0737f 100644
--- a/src/main/resources/mapper/stock/StockUninventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
@@ -56,5 +56,18 @@
             and p.product_name like concat('%',#{ew.productName},'%')
         </if>
     </select>
+    <select id="listStockInventoryExportData" resultType="com.ruoyi.stock.execl.StockInventoryExportData">
+        select su.*,
+        pm.model,
+        pm.unit,
+        p.product_name
+        from stock_uninventory su
+        left join product_model pm on su.product_model_id = pm.id
+        left join product p on pm.product_id = p.id
+        where 1 = 1
+        <if test="ew.productName != null and ew.productName !=''">
+            and p.product_name like concat('%',#{ew.productName},'%')
+        </if>
+    </select>
 
 </mapper>

--
Gitblit v1.9.3