From ab328dcee3499bdc622e4eae787abd76c8c845c0 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 15 五月 2026 09:39:03 +0800
Subject: [PATCH] feat(stock): 添加批号字段并优化出入库记录导出功能
---
src/main/resources/mapper/stock/StockInventoryMapper.xml | 41 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 6e8a3bc..4e7adf6 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -226,6 +226,7 @@
model,
unit,
product_name,
+ batch_no,
MAX(warn_num) as warn_num,
MAX(remark) as remark,
MAX(update_time) as update_time
@@ -238,6 +239,7 @@
si.product_model_id,
si.create_time,
si.update_time,
+ si.batch_no,
COALESCE(si.warn_num, 0) as warn_num,
si.remark,
pm.model,
@@ -259,6 +261,7 @@
su.create_time,
su.update_time,
0 as warn_num,
+ su.batch_no,
su.remark,
pm.model,
pm.unit,
@@ -281,7 +284,7 @@
and combined.product_id in (select id from product_tree)
</if>
</where>
- group by product_model_id, model, unit, product_name
+ group by product_model_id, model, unit, product_name,batch_no
</select>
<select id="stockInventoryPage" resultType="com.ruoyi.stock.dto.StockInRecordDto">
select sir.*,si.qualitity as current_stock,
@@ -436,7 +439,41 @@
WHERE sor.product_model_id = #{productModelId}
AND (sor.batch_no = #{batchNo} OR (#{batchNo} IS NULL AND sor.batch_no IS NULL))
AND sor.type = #{type}
- AND sor.approval_status = 0
+ AND sor.approval_status IN (0, 3)
+ </select>
+
+ <select id="listSelectableBatchNoByProductModelIds" resultType="com.ruoyi.stock.pojo.StockInventory">
+ select distinct si.product_model_id,
+ si.batch_no
+ from stock_inventory si
+ where si.product_model_id in
+ <foreach collection="productModelIds" item="productModelId" open="(" separator="," close=")">
+ #{productModelId}
+ </foreach>
+ and si.batch_no is not null
+ and si.batch_no != ''
+ 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
+ from stock_inventory si
+ left join (
+ select spd.stock_inventory_id, sum(spd.quantity) as qualitity
+ from shipping_product_detail spd
+ where exists (
+ select 1
+ from stock_out_record sor
+ where sor.record_id = spd.shipping_info_id
+ and sor.record_type = '13'
+ and sor.type = '0'
+ and sor.approval_status in (0, 3)
+ and sor.product_model_id = spd.product_model_id
+ and (sor.batch_no = spd.batch_no or (sor.batch_no is null and spd.batch_no is null))
+ )
+ group by spd.stock_inventory_id
+ ) as sd on sd.stock_inventory_id = si.id
+ where si.product_model_id = #{productModelId}
</select>
</mapper>
--
Gitblit v1.9.3