From fe1b02a121c173e9b2d56bbe5a1982e0e69e0548 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 28 四月 2026 18:06:08 +0800
Subject: [PATCH] feat(production): 新增生产工单管理功能 - 创建 ProductionOperationTask 实体类定义工单数据结构 - 实现 ProductionOperationTaskController 提供工单的增删改查接口 - 开发 ProductionOperationTaskService 和实现类处理业务逻辑 - 配置 ProductionOperationTaskMapper 及 XML 文件实现数据库操作 - 添加 ProductionOperationTaskVo 视图对象用于数据展示 - 扩展 ProductionOrder 实体类增加生产订单相关属性 - 更新 ProductionOrderMapper.xml 完善订单查询映射配置 - 优化 ProductionOrderPickRecordMapper.xml 记录物料领取明细 - 新增 ProductionOrderRoutingOperationParam 参数配置实体 - 完善 工序参数处理逻辑
---
src/main/resources/mapper/stock/StockUninventoryMapper.xml | 50 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 42 insertions(+), 8 deletions(-)
diff --git a/src/main/resources/mapper/stock/StockUninventoryMapper.xml b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
index 39b16b3..582542c 100644
--- a/src/main/resources/mapper/stock/StockUninventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
@@ -25,13 +25,24 @@
</if>
update_time = now()
</set>
- where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
+ where
+ product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
+ <if test="ew.batchNo == null">
+ and batch_no is null
+ </if>
+ <if test="ew.batchNo != null">
+ and batch_no = #{ew.batchNo}
+ </if>
+
</update>
<update id="updateAddStockUnInventory">
update stock_uninventory
<set>
<if test="ew.qualitity != null">
qualitity = qualitity + #{ew.qualitity},
+ </if>
+ <if test="ew.lockedQuantity != null">
+ locked_quantity = locked_quantity + #{ew.lockedQuantity},
</if>
<if test="ew.version != null">
version = version + 1,
@@ -42,21 +53,35 @@
update_time = now()
</set>
where product_model_id = #{ew.productModelId}
+ <if test="ew.batchNo == null">
+ and batch_no is null
+ </if>
+ <if test="ew.batchNo != null">
+ and batch_no = #{ew.batchNo}
+ </if>
</update>
<select id="pageStockUninventory" resultType="com.ruoyi.stock.dto.StockUninventoryDto">
- select su.*,
- pm.model,
- pm.unit,
- p.product_name
+ select su.id,
+ su.qualitity,
+ COALESCE(su.locked_quantity, 0) as locked_quantity,
+ su.product_model_id,
+ su.create_time,
+ su.update_time,
+ su.version,
+ su.update_time,
+ (su.qualitity - COALESCE(su.locked_quantity, 0)) as un_locked_quantity,
+ pm.model,
+ pm.unit,
+ p.product_name
from stock_uninventory su
- left join product_model pm on su.product_model_id = pm.id
- left join product p on pm.product_id = p.id
+ left join product_model pm on su.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>
</select>
- <select id="listStockInventoryExportData" resultType="com.ruoyi.stock.execl.StockInventoryExportData">
+ <select id="listStockInventoryExportData" resultType="com.ruoyi.stock.execl.StockUnInventoryExportData">
select su.*,
pm.model,
pm.unit,
@@ -70,4 +95,13 @@
</if>
</select>
+ <select id="selectPendingOutQuantity" resultType="java.math.BigDecimal">
+ SELECT IFNULL(SUM(sor.stock_out_num), 0)
+ FROM stock_out_record sor
+ 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
+ </select>
+
</mapper>
--
Gitblit v1.9.3