From 16c4741366fb54867febe7528fcc72e1e49b6482 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 03 二月 2026 17:57:51 +0800
Subject: [PATCH] feat(stock): 添加通过ID查询库存功能

---
 src/main/java/com/ruoyi/stock/service/StockInventoryService.java          |    2 ++
 src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java            |    2 ++
 src/main/resources/mapper/stock/StockInventoryMapper.xml                  |   25 +++++++++++++++++++++++++
 src/main/java/com/ruoyi/stock/controller/StockInventoryController.java    |    6 ++++++
 src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java |    5 +++++
 5 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java b/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
index f4bd009..303d82e 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
@@ -104,4 +104,10 @@
     public R thawStock(@RequestBody StockInventoryDto stockInventoryDto) {
         return R.ok(stockInventoryService.thawStock(stockInventoryDto));
     }
+
+    @GetMapping("/getById")
+    @ApiOperation("閫氳繃id鏌ヨ搴撳瓨")
+    public R getById(Long id) {
+        return R.ok(stockInventoryService.getStcokById(id));
+    }
 }
diff --git a/src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java b/src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java
index e58db7c..f99a6c9 100644
--- a/src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java
+++ b/src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java
@@ -48,4 +48,6 @@
     List<Map<String, Object>> selectDailyStockOutCounts(@Param("rootCategoryId") Long rootCategoryId, @Param("startDate") String startDate, @Param("endDate") String endDate);
 
     BigDecimal selectTotalByDate( @Param("now") LocalDate now);
+
+    StockInventoryDto getStcokById(@Param("id") Long id);
 }
diff --git a/src/main/java/com/ruoyi/stock/service/StockInventoryService.java b/src/main/java/com/ruoyi/stock/service/StockInventoryService.java
index 65dcca3..1163ea3 100644
--- a/src/main/java/com/ruoyi/stock/service/StockInventoryService.java
+++ b/src/main/java/com/ruoyi/stock/service/StockInventoryService.java
@@ -38,4 +38,6 @@
     Boolean frozenStock(StockInventoryDto stockInventoryDto);
 
     Boolean thawStock(StockInventoryDto stockInventoryDto);
+
+    StockInventoryDto getStcokById(Long id);
 }
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 4c89975..14a0e39 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -206,4 +206,9 @@
         stockInventory.setLockedQuantity(stockInventory.getLockedQuantity().subtract(stockInventoryDto.getLockedQuantity()));
         return this.updateById(stockInventory);
     }
+
+    @Override
+    public StockInventoryDto getStcokById(Long id) {
+        return stockInventoryMapper.getStcokById( id);
+    }
 }
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 05e8558..c09ba2a 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -242,5 +242,30 @@
         GROUP BY DATE(sor.create_time)
         ORDER BY DATE(sor.create_time) ASC
     </select>
+    <select id="getStcokById" resultType="com.ruoyi.stock.dto.StockInventoryDto">
+        select si.id,
+               si.qualitity,
+               COALESCE(si.locked_quantity, 0) as locked_quantity,
+               si.product_model_id,
+               si.create_time,
+               si.update_time,
+               COALESCE(si.warn_num, 0) as warn_num,
+               si.version,
+               (si.qualitity - COALESCE(si.locked_quantity, 0)) as un_locked_quantity,
+               pm.model,
+               si.remark,
+               pm.unit,
+               p.product_name,
+               pm.url,
+               pm.height,
+               pm.box_num,
+               pm. dollar_price,
+               pm.tax_inclusive_unit_price,
+               si.create_by
+        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 si.id = #{id}
+    </select>
 
 </mapper>

--
Gitblit v1.9.3