From 43f520b4da427cd91a16a23f6446670091cf02e9 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 15 十月 2026 09:10:38 +0800
Subject: [PATCH] fix: 库存报表格式化现存量

---
 src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java |   34 +++++++++++++++++++++++++++++++---
 1 files changed, 31 insertions(+), 3 deletions(-)

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 ce49958..faac7ac 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -391,7 +391,6 @@
 
     @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, "搴撳瓨淇℃伅");
@@ -399,7 +398,36 @@
 
     @Override
     public IPage<StockInRecordDto> stockInventoryPage(StockInventoryDto stockInventoryDto, Page page) {
-        return stockInventoryMapper.stockInventoryPage(stockInventoryDto, page);
+        IPage<StockInRecordDto> result = stockInventoryMapper.stockInventoryPage(stockInventoryDto, page);
+        formatCurrentStock(result.getRecords());
+        return result;
+    }
+
+    @Override
+    public void exportStockInventoryPage(HttpServletResponse response, StockInventoryDto stockInventoryDto) {
+        List<StockInRecordDto> list = stockInventoryMapper.stockInventoryPage(stockInventoryDto,new Page(-1,-1)).getRecords();
+        formatCurrentStock(list);
+        ExcelUtil<StockInRecordDto> util = new ExcelUtil<>(StockInRecordDto.class);
+        util.exportExcel(response, list, "搴撳瓨鎶ヨ〃瀵煎嚭");
+    }
+
+    /**
+     * 鏍煎紡鍖栫幇瀛橀噺
+     */
+    private void formatCurrentStock(List<StockInRecordDto> list) {
+        if (list == null || list.isEmpty()) {
+            return;
+        }
+        for (StockInRecordDto record : list) {
+            String currentStock = record.getCurrentStock();
+            if (StringUtils.isEmpty(currentStock)) {
+                continue;
+            }
+            try {
+                record.setCurrentStock(new BigDecimal(currentStock).stripTrailingZeros().toPlainString());
+            } catch (NumberFormatException ignored) {
+            }
+        }
     }
 
     @Override
@@ -432,7 +460,7 @@
     }
 
     @Override
-    public List<StockInventory> getByModelId(Long modelId) {
+    public List<StockInventoryDto> getByModelId(Long modelId) {
         return stockInventoryMapper.getByModelId(modelId);
     }
 

--
Gitblit v1.9.3