From 03c3c2cd4491f3b3d6defa13a8635ce18852eb37 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 23 一月 2026 15:28:39 +0800
Subject: [PATCH] feat(stock): 库存导出接口开发

---
 src/main/java/com/ruoyi/stock/service/StockInventoryService.java          |    4 ++
 src/main/java/com/ruoyi/stock/execl/StockInventoryExportData.java         |   12 ++++++
 src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java            |    6 +++
 src/main/resources/mapper/stock/StockInventoryMapper.xml                  |   13 ++++++
 src/main/java/com/ruoyi/stock/controller/StockInventoryController.java    |    8 +++
 src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java |   20 +++++-----
 6 files changed, 52 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java b/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
index 8d5db33..25e109d 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
@@ -73,6 +73,12 @@
     public void exportStockInventory(HttpServletResponse response) {
         List<StockInventoryExportData> list = new ArrayList<>();
         ExcelUtil<StockInventoryExportData> util = new ExcelUtil<>(StockInventoryExportData.class);
-        util.exportExcel(response, list, "涓嬭浇钖祫绠$悊鍒楄〃妯℃澘");
+        util.exportExcel(response, list, "搴撳瓨妯℃澘");
+    }
+
+    @GetMapping("/exportStockInventory")
+    @ApiOperation("瀵煎嚭搴撳瓨")
+    public void exportStockInventory(HttpServletResponse response,StockInventoryDto stockInventoryDto) {
+         stockInventoryService.exportStockInventory(response,stockInventoryDto);
     }
 }
diff --git a/src/main/java/com/ruoyi/stock/execl/StockInventoryExportData.java b/src/main/java/com/ruoyi/stock/execl/StockInventoryExportData.java
index 8937fbb..c3d17a1 100644
--- a/src/main/java/com/ruoyi/stock/execl/StockInventoryExportData.java
+++ b/src/main/java/com/ruoyi/stock/execl/StockInventoryExportData.java
@@ -1,10 +1,14 @@
 package com.ruoyi.stock.execl;
 
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
 
 @Data
 public class StockInventoryExportData {
@@ -15,10 +19,18 @@
     @Excel(name = "瑙勬牸")
     private String productName;
 
+    @Excel(name = "鍗曚綅")
+    private String unit;
+
     @Excel(name = "搴撳瓨鏁伴噺")
     private BigDecimal qualitity;
 
     @Excel(name = "澶囨敞")
     private String remark;
 
+    @Excel(name = "鏈�鏂版洿鏂版椂闂�")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
 }
diff --git a/src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java b/src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java
index 3463cc3..322cc3c 100644
--- a/src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java
+++ b/src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.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.StockInventoryDto;
+import com.ruoyi.stock.execl.StockInventoryExportData;
 import com.ruoyi.stock.pojo.StockInventory;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -25,4 +28,7 @@
     int updateAddStockInventory(@Param("ew") StockInventoryDto stockInventoryDto);
 
     int updateSubtractStockInventory(@Param("ew") StockInventoryDto stockInventoryDto);
+
+    List<StockInventoryExportData> listStockInventoryExportData(StockInventoryDto stockInventoryDto);
+
 }
diff --git a/src/main/java/com/ruoyi/stock/service/StockInventoryService.java b/src/main/java/com/ruoyi/stock/service/StockInventoryService.java
index 41a2f7f..37571f6 100644
--- a/src/main/java/com/ruoyi/stock/service/StockInventoryService.java
+++ b/src/main/java/com/ruoyi/stock/service/StockInventoryService.java
@@ -8,6 +8,8 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
+
 /**
  * <p>
  * 搴撳瓨琛� 鏈嶅姟绫�
@@ -25,4 +27,6 @@
     Boolean subtractStockInventory(StockInventoryDto stockInventoryDto);
 
     R importStockInventory(MultipartFile file);
+
+    void exportStockInventory(HttpServletResponse response, StockInventoryDto stockInventoryDto);
 }
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
index 3beaf09..ae5b91f 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -4,10 +4,8 @@
 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.basic.excel.SupplierManageExcelDto;
-import com.ruoyi.basic.pojo.SupplierManage;
+import com.ruoyi.account.pojo.BorrowInfo;
 import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
-import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.procurementrecord.utils.StockUtils;
@@ -17,7 +15,6 @@
 import com.ruoyi.stock.dto.StockInventoryDto;
 import com.ruoyi.stock.dto.StockOutRecordDto;
 import com.ruoyi.stock.execl.StockInventoryExportData;
-import com.ruoyi.stock.pojo.StockInRecord;
 import com.ruoyi.stock.pojo.StockInventory;
 import com.ruoyi.stock.mapper.StockInventoryMapper;
 import com.ruoyi.stock.service.StockInRecordService;
@@ -25,17 +22,12 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.stock.service.StockOutRecordService;
 import lombok.AllArgsConstructor;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.time.LocalDate;
-import java.util.ArrayList;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -133,4 +125,12 @@
         }
         return R.fail();
     }
+
+    @Override
+    public void exportStockInventory(HttpServletResponse response, StockInventoryDto stockInventoryDto) {
+
+        List<StockInventoryExportData> list = stockInventoryMapper.listStockInventoryExportData(stockInventoryDto);
+        ExcelUtil<StockInventoryExportData> util = new ExcelUtil<>(StockInventoryExportData.class);
+        util.exportExcel(response,list, "搴撳瓨淇℃伅");
+    }
 }
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index b39d329..0eaf12b 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -58,5 +58,18 @@
             and p.product_name like concat('%',#{ew.productName},'%')
         </if>
     </select>
+    <select id="listStockInventoryExportData" resultType="com.ruoyi.stock.execl.StockInventoryExportData">
+        select si.qualitity,
+        pm.model,
+        pm.unit,
+        p.product_name
+        from stock_inventory si
+        left join product_model pm on si.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