From 54c5131962c735b5e1d96a9be66fffe9c7eed468 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 29 十二月 2025 08:48:59 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java |   40 ++++++++++++++++++++++++++++++++++------
 1 files changed, 34 insertions(+), 6 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 fbf9ac5..7cb0de0 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
@@ -1467,14 +1467,42 @@
 
             log.info("Agv [{}] 鍙栨斁璐ц姹傚寘 ===>> {}", protocol.getAgvNo(), JSON.toJSONString(agv_06_up));
 
-            // todo:vincent 鏍¢獙鏄惁鍙互鍙栨斁璐�
+            // query current segment
+            Segment currSeg = segmentService.getCurrRunningSeg(agv.getId(), agv_06_up.getQrCode());
+            if (null == currSeg) {
+                log.error("failed to find curr segment [{}]", agv.getUuid());
+            } else {
 
-            AGV_06_DOWN agv_06_down = new AGV_06_DOWN();
-            agv_06_down.setSerialNo(agv_06_up.getSerialNo());
-            agv_06_down.setActionCode(agv_06_up.getActionCode());
-            agv_06_down.setResult(1);
+                boolean responseAck = true;
+                TaskPosDto.PosType posType = TaskPosDto.PosType.of(currSeg.getPosType());
+                assert null != posType;
+                switch (posType) {
+                    case ORI_LOC:
+                    case DEST_LOC:
+                        break;
+                    case ORI_STA:
+                    case DEST_STA:
+                        // todo
+                        break;
+                    default:
+                        responseAck = false;
+                        log.error("agv[{}] has wrong posType [{}], segment [{}]", protocol.getAgvNo(), posType.toString(), currSeg.getId());
+                        break;
+                }
 
-            redis.push(RedisConstant.AGV_PATH_DOWN_FLAG, AgvProtocol.build(protocol.getAgvNo()).setMessageBody(agv_06_down));
+                if (responseAck) {
+
+                    // todo:vincent 鏍¢獙鏄惁鍙互鍙栨斁璐�
+
+                    AGV_06_DOWN agv_06_down = new AGV_06_DOWN();
+                    agv_06_down.setSerialNo(agv_06_up.getSerialNo());
+                    agv_06_down.setActionCode(agv_06_up.getActionCode());
+                    agv_06_down.setResult(1);
+
+                    redis.push(RedisConstant.AGV_PATH_DOWN_FLAG, AgvProtocol.build(protocol.getAgvNo()).setMessageBody(agv_06_down));
+                }
+
+            }
         }
 
         // 鏂欎粨淇℃伅鍖�

--
Gitblit v1.9.1