From 1bc33546a044cbc84dd9595c19dbcd9a4e309fc9 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期六, 10 一月 2026 14:06:10 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml |  121 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 121 insertions(+), 0 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 b44c79b..320304f 100644
--- a/zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml
+++ b/zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml
@@ -2,6 +2,127 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.acs.manager.manager.mapper.StaMapper">
 
+    <update id="tryReserveIn">
+        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 - 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}
+    </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