From 788c049b641607b4288f76b57dd73230bf882177 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期三, 21 一月 2026 16:16:27 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java                  |    2 +-
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TravelServiceImpl.java  |   10 ++++++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java |   19 +++++++++++++++++--
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java            |   10 ++++++++--
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java          |    2 ++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TravelService.java           |    2 ++
 6 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
index 4cedd28..fb5727c 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
@@ -165,7 +165,7 @@
         task.setAgvId(agv.getId());
         task.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
         List<Task> lastTasks = taskService.list(new LambdaQueryWrapper<Task>().orderByDesc(Task::getId));
-        task.setSeqNum(Utils.generateSeqNum(Cools.isEmpty(lastTasks)?null:lastTasks.get(0).getSeqNum()));
+        task.setSeqNum(Utils.generateSeqNum(Cools.isEmpty(lastTasks)?null:lastTasks.get(0).getSeqNum())); // todo
 
         task.setTaskType(param.getTaskMode().val());
         task.setTaskSts(TaskStsType.WAITING.val());
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
index ac7bdd8..5f1aa14 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
@@ -50,6 +50,8 @@
     private AgvAreaDispatcher agvAreaDispatcher;
     @Autowired
     private SegmentService segmentService;
+    @Autowired
+    private TravelService travelService;
 
     /**
      * get available agv list which is idle
@@ -220,8 +222,12 @@
 //            if (taskCnt == 0) {
 //                continue;
 //            }
-            // in TransferStationHandler.hasDelayAtSta
-
+            // in TransferStationHandler.hasDelayAtSta todo
+            Travel runningTravel = travelService.findRunningTravel(agvId);
+            if (null == runningTravel) {
+                continue;
+            }
+            segmentService.hasRollerWaitingNow(runningTravel.getId(), agvId, sta.getCode(), TaskPosDto.PosType.ORI_STA)
             Segment currSeg = segmentService.getRollerWaiting(agvId, sta.getCode(), TaskPosDto.PosType.ORI_STA);
             if (null == currSeg) {
                 continue;
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java
index 338dde8..ac9d8ec 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java
@@ -31,6 +31,8 @@
 
     List<Integer> selectUsedBackpacks(Long travelId, Long agvId);
 
+    Segment hasRollerWaitingNow(Long travelId, Long agvId, Long codeId, TaskPosDto.PosType posType);
+
     Segment getRollerWaiting(Long agvId, Long codeId, TaskPosDto.PosType posType);
 
     Boolean isRollerWaiting(Long agvId);
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TravelService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TravelService.java
index 781b975..a8e4ea0 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TravelService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TravelService.java
@@ -9,4 +9,6 @@
 
     void finishAll(Long agvId);
 
+    Travel findRunningTravel(Long agvId);
+
 }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java
index 18fb10e..4eca108 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java
@@ -173,7 +173,22 @@
         return this.baseMapper.selectUsedBackpacks(agvId, travelId);
     }
 
-    @Override
+    @Override // todo
+    public Segment hasRollerWaitingNow(Long travelId, Long agvId, Long codeId, TaskPosDto.PosType posType) {
+        List<Segment> segments = this.list(new LambdaQueryWrapper<Segment>()
+                .eq(Segment::getTravelId, travelId)
+                .eq(Segment::getAgvId, agvId)
+                .eq(Segment::getState, SegmentStateType.WAITING.toString())
+                .eq(Segment::getEndNode, codeId)
+                .eq(Segment::getPosType, posType.toString())
+                .eq(Segment::getRollerWaiting, 1)
+                .orderByDesc(Segment::getId)
+        );
+
+        return null;
+    }
+
+    @Override   //todo
     public Segment getRollerWaiting(Long agvId, Long codeId, TaskPosDto.PosType posType) {
         List<Segment> segments = this.list(new LambdaQueryWrapper<Segment>()
                 .eq(Segment::getAgvId, agvId)
@@ -189,7 +204,7 @@
         return segments.get(0);
     }
 
-    @Override
+    @Override   // todo
     public Boolean isRollerWaiting(Long agvId) {
         return 0 < this.count(new LambdaQueryWrapper<Segment>()
                 .eq(Segment::getAgvId, agvId)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TravelServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TravelServiceImpl.java
index 7010598..a7b73a9 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TravelServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TravelServiceImpl.java
@@ -60,4 +60,14 @@
         }
     }
 
+    @Override
+    public Travel findRunningTravel(Long agvId) {
+        return this.getOne(new LambdaQueryWrapper<Travel>()
+                .eq(Travel::getAgvId, agvId)
+                .eq(Travel::getState, TravelStateType.RUNNING.toString())
+                .orderByDesc(Travel::getCreateTime)
+                .last("limit 1")
+        );
+    }
+
 }

--
Gitblit v1.9.1