From dcf49806e12b014cf6471910814fdbcb6f494c44 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 27 四月 2026 09:11:01 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaReserveServiceImpl.java |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaReserveServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaReserveServiceImpl.java
index 7c6c9a9..dd9db0e 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaReserveServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaReserveServiceImpl.java
@@ -9,10 +9,7 @@
 import com.zy.acs.manager.manager.entity.Sta;
 import com.zy.acs.manager.manager.entity.StaReserve;
 import com.zy.acs.manager.manager.entity.Task;
-import com.zy.acs.manager.manager.enums.StaReserveStateType;
-import com.zy.acs.manager.manager.enums.StaReserveType;
-import com.zy.acs.manager.manager.enums.StatusType;
-import com.zy.acs.manager.manager.enums.TaskTypeType;
+import com.zy.acs.manager.manager.enums.*;
 import com.zy.acs.manager.manager.mapper.StaMapper;
 import com.zy.acs.manager.manager.mapper.StaReserveMapper;
 import com.zy.acs.manager.manager.service.StaReserveService;
@@ -45,7 +42,14 @@
         qty = Optional.ofNullable(qty).orElse(DEFAULT_QTY);
 
         // reserve sta in
-        if (staMapper.tryReserveIn(sta.getId(), qty) < qty) {
+        int changed;
+        StaTypeType staType = staService.resolveStaType(sta);
+        if (StaTypeType.ROLLER.equals(staType)) {
+            changed = staMapper.tryReserveInRoller(sta.getId(), qty);
+        } else {
+            changed = staMapper.tryReserveInCommon(sta.getId(), qty);
+        }
+        if (changed < qty) {
             throw new BusinessException("Sta[" + sta.getStaNo() + "] can't reserve IN");
         }
         Date now = new Date();
@@ -79,7 +83,14 @@
         qty = Optional.ofNullable(qty).orElse(DEFAULT_QTY);
 
         // reserve sta out
-        if (staMapper.tryReserveOut(sta.getId(), qty) < qty) {
+        StaTypeType staType = staService.resolveStaType(sta);
+        int changed;
+        if (StaTypeType.ROLLER.equals(staType)) {
+            changed = staMapper.tryReserveOutRoller(sta.getId(), qty);
+        } else {
+            changed = staMapper.tryReserveOutCommon(sta.getId(), qty);
+        }
+        if (changed < qty) {
             throw new BusinessException("Sta[" + sta.getStaNo() + "] can't reserve OUT");
         }
 
@@ -172,12 +183,17 @@
         }
 
         int cntOfDealWithReserve = 0;
+        StaTypeType staType = staService.resolveStaType(sta);
         switch (type) {
             case IN:
-                cntOfDealWithReserve = staMapper.confirmReserveIn(sta.getId(), qty);
+                cntOfDealWithReserve = StaTypeType.ROLLER.equals(staType)
+                        ? staMapper.confirmReserveInRoller(sta.getId(), qty)
+                        : staMapper.confirmReserveInCommon(sta.getId(), qty);
                 break;
             case OUT:
-                cntOfDealWithReserve = staMapper.confirmReserveOut(sta.getId(), qty);
+                cntOfDealWithReserve = StaTypeType.ROLLER.equals(staType)
+                        ? staMapper.confirmReserveOutRoller(sta.getId(), qty)
+                        : staMapper.confirmReserveOutCommon(sta.getId(), qty);
                 break;
             default:
                 break;

--
Gitblit v1.9.1