From 7f1610d98fa352f17fc8a53597c4bb2a86f277ca Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 22 一月 2026 11:26:58 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 105 insertions(+), 4 deletions(-)

diff --git a/zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml b/zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml
index 84ba928..320304f 100644
--- a/zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml
+++ b/zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml
@@ -9,19 +9,120 @@
         WHERE id = #{staId}
           AND deleted = 0
           AND status = 1
-          AND (capacity - occ_cnt - rsv_in_cnt) >= #{qty}
+          AND (capacity - rsv_in_cnt) >= #{qty}
     </update>
+<!--      UPDATE man_sta
+        SET rsv_in_cnt = rsv_in_cnt + #{qty},
+            update_time = NOW()
+        WHERE id = #{staId}
+        AND deleted = 0
+        AND status = 1
+        AND (capacity - occ_cnt - rsv_in_cnt) >= #{qty}-->
 
     <update id="releaseReserveIn">
         UPDATE man_sta
         SET rsv_in_cnt = rsv_in_cnt - #{qty},
             update_time = NOW()
         WHERE id = #{staId}
-          AND deleted = 0
-          AND status = 1
-          AND rsv_in_cnt > #{qty}
+        AND deleted = 0
+        AND status = 1
+        AND rsv_in_cnt >= #{qty}
     </update>
 
+    <update id="confirmReserveIn">
+        UPDATE man_sta
+        SET rsv_in_cnt = rsv_in_cnt - #{qty},
+            update_time = NOW()
+        WHERE id = #{staId}
+        AND deleted = 0
+        AND status = 1
+        AND rsv_in_cnt >= #{qty}
+    </update>
+<!--     UPDATE man_sta
+        SET rsv_in_cnt = rsv_in_cnt - #{qty},
+            occ_cnt = occ_cnt + #{qty},
+            update_time = NOW()
+        WHERE id = #{staId}
+        AND deleted = 0
+        AND status = 1
+        AND rsv_in_cnt >= #{qty}-->
+
+    <update id="tryReserveOut">
+        UPDATE man_sta
+        SET rsv_out_cnt = rsv_out_cnt + #{qty},
+            update_time = NOW()
+        WHERE id = #{staId}
+        AND deleted = 0
+        AND status = 1
+        AND (capacity - rsv_out_cnt) >= #{qty}
+    </update>
+<!--      UPDATE man_sta
+        SET rsv_out_cnt = rsv_out_cnt + #{qty},
+            update_time = NOW()
+        WHERE id = #{staId}
+        AND deleted = 0
+        AND status = 1
+        AND (occ_cnt - rsv_out_cnt) >= #{qty}-->
+
+    <update id="releaseReserveOut">
+        UPDATE man_sta
+        SET rsv_out_cnt = rsv_out_cnt - #{qty},
+            update_time = NOW()
+        WHERE id = #{staId}
+        AND deleted = 0
+        AND status = 1
+        AND rsv_out_cnt >= #{qty}
+    </update>
+
+    <update id="confirmReserveOut">
+        UPDATE man_sta
+        SET rsv_out_cnt = rsv_out_cnt - #{qty},
+            update_time = NOW()
+        WHERE id = #{staId}
+        AND deleted = 0
+        AND status = 1
+        AND rsv_out_cnt >= #{qty}
+    </update>
+<!--     UPDATE man_sta
+        SET rsv_out_cnt = rsv_out_cnt - #{qty},
+            occ_cnt = occ_cnt - #{qty},
+            update_time = NOW()
+        WHERE id = #{staId}
+        AND deleted = 0
+        AND status = 1
+        AND rsv_out_cnt >= #{qty}
+        AND occ_cnt >= #{qty}-->
+
+    <select id="selectAvailableOutSta" resultType="com.zy.acs.manager.manager.entity.Sta">
+        SELECT *
+        FROM man_sta
+        WHERE 1=1
+        AND deleted = 0
+        AND status = 1
+        AND (IFNULL(capacity, 0) - IFNULL(rsv_out_cnt, 0)) >= #{minAvailableQty}
+    </select>
+<!--            SELECT *
+        FROM man_sta
+        WHERE 1=1
+        AND deleted = 0
+        AND status = 1
+        AND (IFNULL(occ_cnt, 0) - IFNULL(rsv_out_cnt, 0)) >= #{minAvailableQty}-->
+
+    <select id="selectAvailableInSta" resultType="com.zy.acs.manager.manager.entity.Sta">
+        SELECT *
+        FROM man_sta
+        WHERE 1=1
+        AND deleted = 0
+        AND status = 1
+        AND (IFNULL(capacity, 0) - IFNULL(rsv_in_cnt, 0)) >= #{minAvailableQty}
+    </select>
+<!--         SELECT *
+        FROM man_sta
+        WHERE 1=1
+        AND deleted = 0
+        AND status = 1
+        AND (IFNULL(capacity, 0) - IFNULL(occ_cnt, 0) - IFNULL(rsv_in_cnt, 0)) >= #{minAvailableQty}-->
+
     <!-- 鍏宠仈鏌ヨsql -->
     <sql id="selectSql">
         SELECT a.*

--
Gitblit v1.9.1