From 520d4be5c6b8136f61811c9227515fec8937c709 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 07 五月 2026 10:22:56 +0800
Subject: [PATCH] #latent_code
---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 55 insertions(+), 2 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
index 2613bdb..c9d0c2c 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
@@ -192,6 +192,11 @@
@Override
public LaneDto checkoutOriginLane(Task task) {
+ return checkoutOriginLane(task, null);
+ }
+
+ @Override
+ public LaneDto checkoutOriginLane(Task task, Long agvId) {
Long codeId = null;
TaskTypeType typeType = TaskTypeType.get(task.getTaskTypeEl());
switch (Objects.requireNonNull(typeType)) {
@@ -201,7 +206,7 @@
break;
case STA_TO_LOC:
case STA_TO_STA:
- codeId = staService.getById(task.getOriSta()).getCode();
+ codeId = staService.resolveWorkCodeId(staService.getById(task.getOriSta()), agvId);
break;
default:
break;
@@ -215,6 +220,11 @@
@Override
public LaneDto checkoutDestinationLane(Task task) {
+ return checkoutDestinationLane(task, null);
+ }
+
+ @Override
+ public LaneDto checkoutDestinationLane(Task task, Long agvId) {
Long codeId = null;
TaskTypeType typeType = TaskTypeType.get(task.getTaskTypeEl());
switch (Objects.requireNonNull(typeType)) {
@@ -224,7 +234,7 @@
break;
case LOC_TO_STA:
case STA_TO_STA:
- codeId = staService.getById(task.getDestSta()).getCode();
+ codeId = staService.resolveWorkCodeId(staService.getById(task.getDestSta()), agvId);
break;
default:
break;
@@ -281,6 +291,15 @@
wrapper.eq(Task::getTaskSts, taskSts.val());
}
return this.list(wrapper).stream().findFirst().orElse(null);
+ }
+
+ @Override
+ public void refreshWorkCodes(Task task, Long agvId) {
+ if (task == null) {
+ return;
+ }
+ task.setOriCode(resolveOriginCodeId(task, agvId));
+ task.setDestCode(resolveDestinationCodeId(task, agvId));
}
@Override
@@ -458,4 +477,38 @@
}
}
+ private Long resolveOriginCodeId(Task task, Long agvId) {
+ TaskTypeType taskType = TaskTypeType.get(task.getTaskTypeEl());
+ if (taskType == null) {
+ return task.getOriCode();
+ }
+ switch (taskType) {
+ case LOC_TO_LOC:
+ case LOC_TO_STA:
+ return task.getOriLoc() == null ? null : locService.getById(task.getOriLoc()).getCode();
+ case STA_TO_LOC:
+ case STA_TO_STA:
+ return task.getOriSta() == null ? null : staService.resolveWorkCodeId(staService.getById(task.getOriSta()), agvId);
+ default:
+ return task.getOriCode();
+ }
+ }
+
+ private Long resolveDestinationCodeId(Task task, Long agvId) {
+ TaskTypeType taskType = TaskTypeType.get(task.getTaskTypeEl());
+ if (taskType == null) {
+ return task.getDestCode();
+ }
+ switch (taskType) {
+ case LOC_TO_LOC:
+ case STA_TO_LOC:
+ return task.getDestLoc() == null ? null : locService.getById(task.getDestLoc()).getCode();
+ case LOC_TO_STA:
+ case STA_TO_STA:
+ return task.getDestSta() == null ? null : staService.resolveWorkCodeId(staService.getById(task.getDestSta()), agvId);
+ default:
+ return task.getDestCode();
+ }
+ }
+
}
--
Gitblit v1.9.1