From 4336d99906953517399187638925817d969c4e10 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 14 五月 2026 14:18:14 +0800
Subject: [PATCH] refactor(stock): 优化库存管理和产品模型查询功能
---
src/main/resources/mapper/basic/ProductModelMapper.xml | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 50 insertions(+), 1 deletions(-)
diff --git a/src/main/resources/mapper/basic/ProductModelMapper.xml b/src/main/resources/mapper/basic/ProductModelMapper.xml
index bd388fb..6292eeb 100644
--- a/src/main/resources/mapper/basic/ProductModelMapper.xml
+++ b/src/main/resources/mapper/basic/ProductModelMapper.xml
@@ -23,6 +23,10 @@
select="selectBatchNoListByProductModelId"/>
</resultMap>
+ <resultMap id="ProductModelVoBaseResultMap" type="com.ruoyi.basic.vo.ProductModelVo" extends="BaseResultMap">
+ <result column="create_time" property="createTime" />
+ </resultMap>
+
<select id="listPageProductModel" resultMap="ProductModelVoResultMap">
select pm.*,p.product_name
from product_model pm
@@ -128,7 +132,6 @@
)
</if>
</where>
-
ORDER BY pm.id DESC
</select>
<select id="getProductAndModelList" resultType="java.util.Map">
@@ -153,5 +156,51 @@
</if>
</where>
</select>
+ <select id="pageModelAndQua" resultMap="ProductModelVoBaseResultMap">
+ select pm.*, p.product_name
+ from product_model pm
+ left join product p on pm.product_id = p.id
+ <where>
+ <if test="c.model != null and c.model != ''">
+ and pm.model like concat('%',#{c.model},'%')
+ </if>
+ <if test="c.productName != null and c.productName != ''">
+ and p.product_name like concat('%',#{c.productName},'%')
+ </if>
+ <if test="c.topProductParentId != null and c.topProductParentId > 0">
+ and p.id in (
+ WITH RECURSIVE product_tree AS (
+ SELECT id
+ FROM product
+ WHERE id = #{c.topProductParentId}
+
+ UNION ALL
+
+ SELECT p.id
+ FROM product p
+ INNER JOIN product_tree pt ON p.parent_id = pt.id
+ )
+ select id from product_tree
+ )
+ </if>
+ </where>
+ order by pm.id
+ </select>
+
+ <select id="selectBatchNoQtyByProductModelIds" resultType="java.util.Map">
+ select si.product_model_id as productModelId,
+ si.warehouse_info_id as warehouseId,
+ si.batch_no as batchNo,
+ si.qualitity as qty
+ from stock_inventory si
+ where si.product_model_id in
+ <foreach collection="list" item="productModelId" separator="," open="(" close=")">
+ #{productModelId}
+ </foreach>
+ and si.warehouse_info_id is not null
+ and si.batch_no is not null
+ and si.batch_no != ''
+ order by si.product_model_id, si.warehouse_info_id, si.batch_no, si.id
+ </select>
</mapper>
--
Gitblit v1.9.3