From a4a7479ffbee57c642387baeca5783b943bb1af3 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 26 十二月 2025 15:00:31 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaReserveServiceImpl.java | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 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 b30427c..c68acd5 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
@@ -98,6 +98,32 @@
return reserve;
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void confirmStaReserve(Sta sta, Task task, Integer qty, StaReserveType type) {
+ qty = Optional.ofNullable(qty).orElse(1);
+
+ // update reserve state to be confirmed
+ if (0 == this.baseMapper.updateState(task.getId(), sta.getId(), type.toString(), StaReserveStateType.CONFIRMED.toString())) {
+ throw new BusinessException("failed to confirm sta reserve");
+ }
+
+ int cntOfDealWithReserve = 0;
+ switch (type) {
+ case IN:
+ cntOfDealWithReserve = staMapper.confirmReserveIn(sta.getId(), qty);
+ break;
+ case OUT:
+ cntOfDealWithReserve = staMapper.confirmReserveOut(sta.getId(), qty);
+ break;
+ default:
+ break;
+ }
+ if (cntOfDealWithReserve == 0) {
+ throw new BusinessException("Sta[" + sta.getStaNo() + "] apply confirmed failed, type=" + type.toString());
+ }
+ }
+
private String generateReserveUniqKey(Long staId, Long taskId, StaReserveType type) {
return "STA:" + staId + "-TASK:" + taskId + "-T:" + type.toString();
--
Gitblit v1.9.1