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/core/service/MainService.java |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 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 74c3af3..c9d0b79 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
@@ -304,7 +304,7 @@
                             loadSeg.setAgvId(agvId);
                             loadSeg.setTaskId(task.getId());
                             loadSeg.setSerial(currSeg.getSerial() - 1);
-                            loadSeg.setEndNode(sta.getCode());
+                            loadSeg.setEndNode(staService.resolveWorkCodeId(sta, agvId));
                             loadSeg.setPosType(TaskPosDto.PosType.ORI_STA.toString());
                             loadSeg.setState(SegmentStateType.WAITING.toString());
                             loadSeg.setBackpack(backpackLev);
@@ -328,7 +328,7 @@
                                 case STA_TO_STA:
                                     posType = TaskPosDto.PosType.DEST_STA;
                                     Sta destSta = staService.getById(task.getDestSta());
-                                    endCode = codeService.getCacheById(destSta.getCode());
+                                    endCode = codeService.getCacheById(staService.resolveWorkCodeId(destSta, agvId));
                                     break;
                                 default:
                                     throw new BusinessException("[Agv:" + agvNo + "] allocate inbound only supports STA_TO_LOC/STA_TO_STA");
@@ -441,6 +441,7 @@
 
                             // update task
                             task.setAgvId(agvId);
+                            taskService.refreshWorkCodes(task, agvId);
                             task.setTaskSts(TaskStsType.ASSIGN.val());
                             task.setIoTime(now);
                             task.setUpdateTime(now);
@@ -455,6 +456,7 @@
                             Long agvId = agvService.getAgvId(agvNo);
                             // update task
                             task.setAgvId(agvId);
+                            taskService.refreshWorkCodes(task, agvId);
                             task.setTaskSts(TaskStsType.WAITING.val());
                             task.setIoTime(now);
                             task.setUpdateTime(now);
@@ -554,7 +556,7 @@
                         destSta = staService.getById(task.getDestSta());
 
                         startCode = codeService.getCacheById(oriLoc.getCode());
-                        endCode = codeService.getCacheById(destSta.getCode());
+                        endCode = codeService.getCacheById(staService.resolveWorkCodeId(destSta, agvId));
 
                         TaskPosDto.packagePosGroup(groups, task, startCode, TaskPosDto.PosType.ORI_LOC, sameGroupXy);
                         TaskPosDto.packagePosGroup(groups, task, endCode, TaskPosDto.PosType.DEST_STA, sameGroupXy);
@@ -563,7 +565,7 @@
                         oriSta = staService.getById(task.getOriSta());
                         destLoc = locService.getById(task.getDestLoc());
 
-                        startCode = codeService.getCacheById(oriSta.getCode());
+                        startCode = codeService.getCacheById(staService.resolveWorkCodeId(oriSta, agvId));
                         endCode = codeService.getCacheById(destLoc.getCode());
 
                         TaskPosDto.packagePosGroup(groups, task, startCode, TaskPosDto.PosType.ORI_STA, sameGroupXy);
@@ -573,8 +575,8 @@
                         oriSta = staService.getById(task.getOriSta());
                         destSta = staService.getById(task.getDestSta());
 
-                        startCode = codeService.getCacheById(oriSta.getCode());
-                        endCode = codeService.getCacheById(destSta.getCode());
+                        startCode = codeService.getCacheById(staService.resolveWorkCodeId(oriSta, agvId));
+                        endCode = codeService.getCacheById(staService.resolveWorkCodeId(destSta, agvId));
 
                         TaskPosDto.packagePosGroup(groups, task, startCode, TaskPosDto.PosType.ORI_STA, sameGroupXy);
                         TaskPosDto.packagePosGroup(groups, task, endCode, TaskPosDto.PosType.DEST_STA, sameGroupXy);
@@ -720,6 +722,7 @@
 
             // task
             for (Task task : taskList) {
+                taskService.refreshWorkCodes(task, agvId);
                 task.setTaskSts(TaskStsType.ASSIGN.val());
                 task.setStartTime(now);
                 task.setUpdateTime(now);
@@ -734,7 +737,6 @@
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
         }
     }
-
 
     /**
      * 鍏呯數 鍥炲緟鏈轰綅浠诲姟

--
Gitblit v1.9.1