From bcd6549f2eba2aee88bec1daf4875f1563551b73 Mon Sep 17 00:00:00 2001 From: yuliang <398780299@qq.com> Date: Thu, 3 Jul 2025 19:33:59 +0800 Subject: [PATCH] clx --- .../main/java/com/galaxis/rcs/ptr/AmrMessageHandler.java | 13 +++++++++++-- servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java | 10 +++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/servo/src/main/java/com/galaxis/rcs/ptr/AmrMessageHandler.java b/servo/src/main/java/com/galaxis/rcs/ptr/AmrMessageHandler.java index c9bd749..00d88a2 100644 --- a/servo/src/main/java/com/galaxis/rcs/ptr/AmrMessageHandler.java +++ b/servo/src/main/java/com/galaxis/rcs/ptr/AmrMessageHandler.java @@ -177,11 +177,13 @@ public class AmrMessageHandler { amrMessage = JacksonUtils.parse(json, typeRef20149Message); break; case AMR_ONLINE: -// amrMessage = JacksonUtils.parse(json, typeRef20150Message); + AmrMessage onlineMessage = JacksonUtils.parse(json, typeRef20150Message); + this.handleAmrOnlineMessage(agvItem, onlineMessage.content); this.sendCmdConfig(agvId, agvItem.getConfig()); break; case AMR_OFFLINE: - amrMessage = JacksonUtils.parse(json, typeRef20200Message); + AmrMessage offlineMessage = JacksonUtils.parse(json, typeRef20200Message); + this.handleAmrOfflineMessage(agvItem, offlineMessage.content); break; case AMR_EXCEPTION: amrMessage = JacksonUtils.parse(json, typeRef20250Message); @@ -423,6 +425,13 @@ public class AmrMessageHandler { updateRedisNetDelay(agvItem.getId(), netDelay); } + private void handleAmrOnlineMessage(PtrAgvItem agvItem, AmrOnlineMessage message) { + agvItem.handleOnlineEvent(); + } + + private void handleAmrOfflineMessage(PtrAgvItem agvItem, AmrOfflineMessage message) { + agvItem.handleOfflineEvent(); + } private void handleTaskCompletedMessage(PtrAgvItem agvItem, AmrTaskCompletedMessage message) { agvItem.taskCompleted(message.CurX, message.CurY, message.CurDirection, 4); diff --git a/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java b/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java index 9f17828..1d2b6ff 100644 --- a/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java +++ b/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java @@ -261,9 +261,9 @@ public abstract class PtrAgvItem extends ExecutorItem { if (this.isPaused) { return false; } - if (this.taskMode != AmrTaskMode.AMR_FREE_MODE) { - return false; - } +// if (this.taskMode != AmrTaskMode.AMR_FREE_MODE) { +// return false; +// } return this.isOnline; } @@ -435,13 +435,13 @@ public abstract class PtrAgvItem extends ExecutorItem { updateRedisStatus(); } - private void handleOnlineEvent() { + public void handleOnlineEvent() { isOnline = true; fireEvent(AgvEventType.ONLINE, this); requestCurrentStatus(); } - private void handleOfflineEvent() { + public void handleOfflineEvent() { isOnline = false; fireEvent(AgvEventType.OFFLINE, this); }