From d5e4005d30bb2b6116cbb0e44da2c54b8ab88708 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 22 五月 2026 10:42:21 +0800
Subject: [PATCH] fix(stock): 修复库存查询中多余的字符导致SQL语法错误

---
 src/main/resources/mapper/stock/StockInventoryMapper.xml |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 4820533..6ca5bf7 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -209,6 +209,12 @@
             <if test="ew.topParentProductId != null and ew.topParentProductId > 0">
                 and combined.product_id in (select id from product_tree)
             </if>
+            <if test="ew.model != null and ew.model !=''">
+                and combined.model like concat('%',#{ew.model},'%')
+            </if>
+            <if test="ew.batchNo != null and ew.batchNo !=''">
+                and combined.batch_no like concat('%',#{ew.batchNo},'%')
+            </if>
         </where>
         group by
         product_model_id,
@@ -506,8 +512,9 @@
           and (si.qualitity - ifnull(si.locked_quantity, 0)) > 0
         order by si.product_model_id, si.batch_no
     </select>
-    <select id="getByModelId" resultType="com.ruoyi.stock.pojo.StockInventory">
-        select si.id, si.batch_no, si.locked_quantity, (si.qualitity - IFNULL(sd.qualitity, 0)) as qualitity
+    <select id="getByModelId" resultType="com.ruoyi.stock.dto.StockInventoryDto">
+        select si.id, si.batch_no, si.locked_quantity, (si.qualitity - IFNULL(sd.qualitity, 0)) as qualitity,
+               p.product_name, pm.model, pm.unit
         from stock_inventory si
                  left join (
                     select spd.stock_inventory_id, sum(spd.quantity) as qualitity
@@ -524,7 +531,10 @@
                     )
                     group by spd.stock_inventory_id
                  ) as sd on sd.stock_inventory_id = si.id
+                 left join product_model pm on si.product_model_id = pm.id
+                 left join product p on pm.product_id = p.id
         where si.product_model_id = #{productModelId}
+        and si.qualitity > IFNULL(sd.qualitity, 0)
     </select>
 
     <select id="getBatchNoQty" resultType="com.ruoyi.stock.dto.StockInventoryDto">

--
Gitblit v1.9.3