From 1ca5584d7e3200a9af65a099bd26d3593e2ba702 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 07 五月 2026 14:36:08 +0800
Subject: [PATCH] 迁移pro

---
 src/main/resources/mapper/stock/StockUninventoryMapper.xml |   71 +++++++++++++++++++++++++++++++----
 1 files changed, 62 insertions(+), 9 deletions(-)

diff --git a/src/main/resources/mapper/stock/StockUninventoryMapper.xml b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
index c76ff2d..582542c 100644
--- a/src/main/resources/mapper/stock/StockUninventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
@@ -12,7 +12,7 @@
         <result column="version" property="version" />
     </resultMap>
     <update id="updateSubtractStockUnInventory">
-        update stock_inventory
+        update stock_uninventory
         <set>
             <if test="ew.qualitity != null">
                 qualitity = qualitity - #{ew.qualitity},
@@ -20,35 +20,88 @@
             <if test="ew.version != null">
                 version = version + 1,
             </if>
+            <if test="ew.remark != null and ew.remark !=''">
+                remark = #{ew.remark},
+            </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_inventory
+        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,
+            </if>
+            <if test="ew.remark != null and ew.remark !=''">
+                remark = #{ew.remark},
             </if>
             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.StockUnInventoryExportData">
+        select su.*,
+        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
+        where 1 = 1
+        <if test="ew.productName != null and ew.productName !=''">
+            and p.product_name like concat('%',#{ew.productName},'%')
+        </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