From 0bc2c552b180afa16e4aae3c8c12746b15ba6fc8 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期四, 02 四月 2026 17:35:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_长治_健齿齿科器材' into dev_长治_健齿齿科器材
---
src/main/resources/mapper/stock/StockInventoryMapper.xml | 87 +++++++++++++++++++++++++++++++++----------
1 files changed, 66 insertions(+), 21 deletions(-)
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 21bc11e..f373f79 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -52,34 +52,79 @@
where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
</update>
<select id="pagestockInventory" resultType="com.ruoyi.stock.dto.StockInventoryDto">
- select si.id,
+ WITH RECURSIVE get_root AS (
+ SELECT
+ id,
+ parent_id,
+ id AS root_id
+ FROM product
+ WHERE parent_id IS NULL -- 鏍硅妭鐐�
+ UNION ALL
+ SELECT
+ p.id,
+ p.parent_id,
+ gr.root_id
+ FROM product p
+ INNER JOIN get_root gr ON p.parent_id = gr.id
+ )
+ SELECT
+ si.id,
si.qualitity,
- COALESCE(si.locked_quantity, 0) as locked_quantity,
+ 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,
+ COALESCE(si.warn_num, 0) AS warn_num,
si.version,
- (si.qualitity - COALESCE(si.locked_quantity, 0)) as un_locked_quantity,
+ (si.qualitity - COALESCE(si.locked_quantity, 0)) AS un_locked_quantity,
pm.model,
si.remark,
pm.unit,
- pm.uid_no as uidNo,
+ pm.uid_no AS uidNo,
p.product_name,
si.batch_no,
- si.customer
- 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 1 = 1
- <if test="ew.productName != null and ew.productName !=''">
- and p.product_name like concat('%',#{ew.productName},'%')
- </if>
+ si.customer,
+ rp.product_name AS root_product_name,
+ si.production_date
+ 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
+ LEFT JOIN get_root gr ON gr.id = p.id
+ LEFT JOIN product rp ON rp.id = gr.root_id
+ <where>
+ <if test="ew.productName != null and ew.productName != ''">
+ AND p.product_name LIKE CONCAT('%', #{ew.productName}, '%')
+ </if>
+ <if test="ew.model != null and ew.model != ''">
+ AND pm.model LIKE CONCAT('%', #{ew.model}, '%')
+ </if>
+ <if test="ew.uidNo != null and ew.uidNo != ''">
+ AND pm.uid_no LIKE CONCAT('%', #{ew.uidNo}, '%')
+ </if>
+ <if test="ew.batchNo != null and ew.batchNo != ''">
+ AND si.batch_no LIKE CONCAT('%', #{ew.batchNo}, '%')
+ </if>
+ <if test="ew.productScope != null and ew.productScope != ''">
+ <choose>
+ <when test="ew.productScope == '鎴愬搧'">
+ AND rp.product_name = '鎴愬搧'
+ </when>
+ <otherwise>
+ AND rp.product_name != '鎴愬搧'
+ </otherwise>
+ </choose>
+ </if>
+ </where>
</select>
<select id="listStockInventoryExportData" resultType="com.ruoyi.stock.execl.StockInventoryExportData">
select si.qualitity,
pm.model,
pm.unit,
+ si.batchNo,
+ pm.uid_no,
+ si.production_date,
+ si.customer,
p.product_name,
coalesce(si.warn_num, 0) as warn_num,
coalesce(si.locked_quantity, 0) as locked_quantity,
@@ -283,14 +328,14 @@
LEFT JOIN product_model pm ON si.product_model_id = pm.id
LEFT JOIN product p ON pm.product_id = p.id
LEFT JOIN product p1 ON p1.id = p.parent_id
- WHERE
- p1.product_name = '鍘熸潗鏂�';
- <if test="ew.batchNo != null and ew.batchNo !=''">
- and si.batch_no like concat('%',#{ew.batchNo},'%')
- </if>
- <if test="ew.customer != null and ew.customer !=''">
- and si.customer like concat('%',#{ew.customer},'%')
- </if>
+ <where>
+ <if test="ew.batchNo != null and ew.batchNo !=''">
+ and si.batch_no like concat('%',#{ew.batchNo},'%')
+ </if>
+ <if test="ew.customer != null and ew.customer !=''">
+ and si.customer like concat('%',#{ew.customer},'%')
+ </if>
+ </where>
</select>
<select id="getStockInventoryAll" resultType="com.ruoyi.stock.dto.StockInventoryDto">
--
Gitblit v1.9.3