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