From 5c891d8d2c206dfd2aa6daf59579eb2b6843dcc0 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 01 四月 2026 18:00:37 +0800
Subject: [PATCH] fix:1.采购/销售入库去掉审批 2.返工下载附件内容变更 3.生产/库存入库生产日期添加 4.仓库导入导出字段优化
---
src/main/resources/mapper/stock/StockInventoryMapper.xml | 142 +++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 129 insertions(+), 13 deletions(-)
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 7bcef36..f373f79 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -52,32 +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,
- p.product_name
- 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>
+ pm.uid_no AS uidNo,
+ p.product_name,
+ si.batch_no,
+ 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,
@@ -257,4 +304,73 @@
ORDER BY pm.id
</select>
+ <select id="getMaterials" 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,
+ pm.uid_no AS uidNo,
+ p.product_name,
+ p1.product_name AS parentName,
+ 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
+ LEFT JOIN product p1 ON p1.id = p.parent_id
+ <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">
+ 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.id as productModelId,
+ pm.model,
+ si.remark,
+ pm.unit,
+ pm.uid_no AS uidNo,
+ p.id AS product_id,
+ p.product_name,
+ p.parent_id AS parent_id,
+ p1.product_name AS parentName,
+ 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
+ LEFT JOIN product p1 ON p1.id = p.parent_id
+ <where>
+ <if test="ew.productName != null and ew.productName != ''">
+ AND p.product_name LIKE CONCAT('%', #{ew.productName}, '%')
+ </if>
+ </where>
+ </select>
+
+
</mapper>
--
Gitblit v1.9.3