From 7ac5a3f2bcbb0d0e13dc87cd969c8fb1fd99b488 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期日, 04 一月 2026 10:38:42 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
index 4eda19e..a10ea6c 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -96,7 +96,6 @@
 
             Travel travel = travelService.getById(segment.getTravelId());
             Agv agv = agvService.getById(travel.getAgvId());
-            AgvDetail agvDetail = agvDetailService.selectByAgvId(travel.getAgvId());
             long endNode = segment.getEndNode();
 
             // valid ----------------------------------------------------
@@ -208,9 +207,9 @@
             }
 
             // checkout path
-            Code startCode = codeService.getCacheById(agvDetail.getRecentCode());
+            Code startCode = agvDetailService.getCurrentCode(travel.getAgvId());
             Code endCode = codeService.getCacheById(endNode);
-            long startTime = System.currentTimeMillis();
+//            long startTime = System.currentTimeMillis();
             List<String> pathList = this.checkoutPath(agv, startCode, endCode, segment);
 //            System.out.println("checkoutPath: " + (System.currentTimeMillis() - startTime));
             if (Cools.isEmpty(pathList)) {
@@ -248,7 +247,7 @@
                 insertSeg.setPosType(TaskPosDto.PosType.MOVE.toString());
                 insertSeg.setState(SegmentStateType.WAITING.toString());
                 if (!segmentService.save(insertSeg)) {
-                    log.error("Segment [{}] failed to save 锛侊紒锛�", segment.getTravelId() + " - " + segment.getSerial());
+                    log.error("Segment [{}] failed to save 锛侊紒锛�", insertSeg.getTravelId() + " - " + insertSeg.getSerial());
                 }
                 segmentList.add(insertSeg);
 
@@ -265,8 +264,11 @@
                         interrupt = true;
                     } else {
                         if (nextStep.getEndNode() == endNode) {
-
-                            segmentList.add(nextStep);
+                            // remove sta action seg
+                            if (!nextStep.getPosType().equals(TaskPosDto.PosType.ORI_STA.toString())
+                                    && !nextStep.getPosType().equals(TaskPosDto.PosType.DEST_STA.toString())) {
+                                segmentList.add(nextStep);
+                            }
                         } else {
                             interrupt = true;
                         }
@@ -277,7 +279,7 @@
 
             mapService.lockPath(null, pathList, agv.getUuid());
 
-            startTime = System.currentTimeMillis();
+//            startTime = System.currentTimeMillis();
             mainService.generateAction(segment.getAgvId(), segmentList, pathList, now);
 //            System.out.println("generateAction: " + (System.currentTimeMillis() - startTime));
 
@@ -694,8 +696,13 @@
             if (!blockVehicleDto.isAvoidable()) {
                 continue;
             }
+            Long agvId = agvService.getAgvId(blockVehicleDto.getVehicle());
             // 褰撳墠vehicle姝e湪杩涜閬胯浣滀笟
-            if (!Cools.isEmpty(jamService.getUnfinishedAvoSegByAvo(blockVehicleDto.getVehicle(), null))) {
+            if (!Cools.isEmpty(jamService.getUnfinishedAvoSegByAvo(agvId, null))) {
+                continue;
+            }
+            // 褰撳墠vehicle姝e湪杩涜婊氱瓛杈撻�佺嚎绛夊緟
+            if (segmentService.isRollerWaiting(agvId)) {
                 continue;
             }
             return blockVehicleDto.getVehicle();

--
Gitblit v1.9.1