From 5b7abad9f80bb0b4c9d0bb2d85e0368a92888b30 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期三, 31 十二月 2025 14:34:21 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 70 +++++++++++++++++++++++++++-------
1 files changed, 55 insertions(+), 15 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 10ff983..33d4e20 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
@@ -245,22 +245,62 @@
return;
}
- List<Long> taskIds = taskList.stream().map(Task::getId).distinct().collect(Collectors.toList());
- for (Task task : taskList) {
- Agv agv = allocateService.execute(task, () => {
+// List<Long> taskIds = taskList.stream().map(Task::getId).distinct().collect(Collectors.toList());
+ for (Task t : taskList) {
+ String resultAgvNo = allocateService.execute(t
+ // inbound
+ , (task, agvNo, sta) -> {
+ Long agvId = agvService.getAgvId(agvNo);
- });
- if (null == agv) {
-// log.warn("Task[{}] has an issue锛� because it failed to check out agv which is idle...", task.getSeqNum());
- continue;
- }
- task.setAgvId(agv.getId());
- task.setTaskSts(TaskStsType.WAITING.val());
- task.setIoTime(now);
- task.setUpdateTime(now);
- if (!taskService.updateById(task)) {
- throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update");
- }
+ List<Travel> travelList = travelService.list(new LambdaQueryWrapper<Travel>()
+ .eq(Travel::getAgvId, agvId)
+ .eq(Travel::getState, TravelStateType.RUNNING.toString())
+ .orderByDesc(Travel::getCreateTime));
+ if (Cools.isEmpty(travelList)) {
+ throw new BusinessException("[Agv: " + agvNo + "]allocate inbound failed to find travel");
+ }
+ Travel travel = travelList.get(0);
+
+ List<Segment> currSegments = segmentService.list(new LambdaQueryWrapper<Segment>()
+ .eq(Segment::getAgvId, agvId)
+ .eq(Segment::getTravelId, travel.getId())
+ );
+ // load segment
+ Segment currSeg = segmentService.getRollerWaiting(agvId, sta.getCode(), TaskPosDto.PosType.ORI_STA);
+
+
+ // place segment
+
+ task.setAgvId(agvId);
+ task.setTaskSts(TaskStsType.ASSIGN.val());
+ task.setIoTime(now);
+ task.setUpdateTime(now);
+ if (!taskService.updateById(task)) {
+ throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update");
+ }
+ }
+ // normal
+ , (task, agvNo, sta) -> {
+ Long agvId = agvService.getAgvId(agvNo);
+ task.setAgvId(agvId);
+ task.setTaskSts(TaskStsType.WAITING.val());
+ task.setIoTime(now);
+ task.setUpdateTime(now);
+ if (!taskService.updateById(task)) {
+ throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update");
+ }
+ });
+// if (Cools.isEmpty(agvNo)) {
+//// log.warn("Task[{}] has an issue锛� because it failed to check out agv which is idle...", task.getSeqNum());
+// continue;
+// }
+// task.setAgvId(agvService.getAgvId(agvNo));
+// task.setTaskSts(TaskStsType.WAITING.val());
+// task.setIoTime(now);
+// task.setUpdateTime(now);
+// if (!taskService.updateById(task)) {
+// throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update");
+// }
}
} catch (Exception e) {
log.error("mainService.infuseAgvForTask", e);
--
Gitblit v1.9.1