From b781dc511b21b80b14befe87d42eced1cce59d1f Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 30 十二月 2025 13:58:52 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml |   56 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 48 insertions(+), 8 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 e7d2297..320304f 100644
--- a/zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml
+++ b/zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml
@@ -7,10 +7,17 @@
         SET rsv_in_cnt = rsv_in_cnt + #{qty},
             update_time = NOW()
         WHERE id = #{staId}
+          AND deleted = 0
+          AND status = 1
+          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>
+        AND (capacity - occ_cnt - rsv_in_cnt) >= #{qty}-->
 
     <update id="releaseReserveIn">
         UPDATE man_sta
@@ -25,13 +32,20 @@
     <update id="confirmReserveIn">
         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>
+<!--     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
@@ -40,8 +54,15 @@
         WHERE id = #{staId}
         AND deleted = 0
         AND status = 1
-        AND (occ_cnt - rsv_out_cnt) >= #{qty}
+        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
@@ -56,14 +77,21 @@
     <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}
-    </update>
+        AND occ_cnt >= #{qty}-->
 
     <select id="selectAvailableOutSta" resultType="com.zy.acs.manager.manager.entity.Sta">
         SELECT *
@@ -71,8 +99,14 @@
         WHERE 1=1
         AND deleted = 0
         AND status = 1
-        AND (IFNULL(occ_cnt, 0) - IFNULL(rsv_out_cnt, 0)) >= #{minAvailableQty}
+        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 *
@@ -80,8 +114,14 @@
         WHERE 1=1
         AND deleted = 0
         AND status = 1
-        AND (IFNULL(capacity, 0) - IFNULL(occ_cnt, 0) - IFNULL(rsv_in_cnt, 0)) >= #{minAvailableQty}
+        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">

--
Gitblit v1.9.1