From 4d45de01e35f8b271e5ba25439b574a8b67bc5eb Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 26 十二月 2025 14:00:55 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index 18f8704..9e7f54a 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -96,6 +96,8 @@
     private LaneService laneService;
     @Autowired
     private ActionSorter actionSorter;
+    @Autowired
+    private StaReserveService staReserveService;
 
     @SuppressWarnings("all")
     @Transactional
@@ -175,15 +177,19 @@
                         throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " failed to update");
                     }
 
+                    // reserver station inbound, qty: 1
                     destSta = staService.getById(task.getDestSta());
-                    if (!destSta.getStaSts().equals(StaStsType.IDLE.val())) {
-                        throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status");
+                    if (null == staReserveService.reserveStaIn(destSta, task, 1)) {
+                        throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to reserve");
                     }
-                    destSta.setStaSts(StaStsType.READY_RELEASE.val());
-                    destSta.setUpdateTime(now);
-                    if (!staService.updateById(destSta)) {
-                        throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to update");
-                    }
+//                    if (!destSta.getStaSts().equals(StaStsType.IDLE.val())) {
+//                        throw new BusinessException("destSta锛�" + task.getDestSta$() + " is not in IDLE status");
+//                    }
+//                    destSta.setStaSts(StaStsType.READY_RELEASE.val());
+//                    destSta.setUpdateTime(now);
+//                    if (!staService.updateById(destSta)) {
+//                        throw new BusinessException("destSta锛�" + task.getDestSta$() + " failed to update");
+//                    }
                     break;
                 case STA_TO_LOC:
                     oriSta = staService.getById(task.getOriSta());
@@ -1196,6 +1202,7 @@
             for (Segment item : segmentList) {
                 item.setGroupId(groupId);
                 item.setState(SegmentStateType.RUNNING.toString());
+                item.setStartTime(now);
                 item.setUpdateTime(now);
                 if (null != algoStartTime) {
                     item.setAlgoTime((int) (now.getTime() - algoStartTime.getTime()));
@@ -1556,6 +1563,7 @@
         // segment
         for (Segment segment : segmentList) {
             segment.setState(SegmentStateType.FINISH.toString());
+            segment.setEndTime(now);
             segment.setUpdateTime(now);
             if (!segmentService.updateById(segment)) {
                 log.error("Segment [{}] 鏇存柊澶辫触 锛侊紒锛�", segment.getGroupId() + " - " + segment.getSerial());

--
Gitblit v1.9.1