yuliang 6 months ago
parent
commit
bcd6549f2e
  1. 13
      servo/src/main/java/com/galaxis/rcs/ptr/AmrMessageHandler.java
  2. 10
      servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java

13
servo/src/main/java/com/galaxis/rcs/ptr/AmrMessageHandler.java

@ -177,11 +177,13 @@ public class AmrMessageHandler {
amrMessage = JacksonUtils.parse(json, typeRef20149Message); amrMessage = JacksonUtils.parse(json, typeRef20149Message);
break; break;
case AMR_ONLINE: case AMR_ONLINE:
// amrMessage = JacksonUtils.parse(json, typeRef20150Message); AmrMessage<AmrOnlineMessage> onlineMessage = JacksonUtils.parse(json, typeRef20150Message);
this.handleAmrOnlineMessage(agvItem, onlineMessage.content);
this.sendCmdConfig(agvId, agvItem.getConfig()); this.sendCmdConfig(agvId, agvItem.getConfig());
break; break;
case AMR_OFFLINE: case AMR_OFFLINE:
amrMessage = JacksonUtils.parse(json, typeRef20200Message); AmrMessage<AmrOfflineMessage> offlineMessage = JacksonUtils.parse(json, typeRef20200Message);
this.handleAmrOfflineMessage(agvItem, offlineMessage.content);
break; break;
case AMR_EXCEPTION: case AMR_EXCEPTION:
amrMessage = JacksonUtils.parse(json, typeRef20250Message); amrMessage = JacksonUtils.parse(json, typeRef20250Message);
@ -423,6 +425,13 @@ public class AmrMessageHandler {
updateRedisNetDelay(agvItem.getId(), netDelay); 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) { private void handleTaskCompletedMessage(PtrAgvItem agvItem, AmrTaskCompletedMessage message) {
agvItem.taskCompleted(message.CurX, message.CurY, message.CurDirection, 4); agvItem.taskCompleted(message.CurX, message.CurY, message.CurDirection, 4);

10
servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java

@ -261,9 +261,9 @@ public abstract class PtrAgvItem extends ExecutorItem {
if (this.isPaused) { if (this.isPaused) {
return false; return false;
} }
if (this.taskMode != AmrTaskMode.AMR_FREE_MODE) { // if (this.taskMode != AmrTaskMode.AMR_FREE_MODE) {
return false; // return false;
} // }
return this.isOnline; return this.isOnline;
} }
@ -435,13 +435,13 @@ public abstract class PtrAgvItem extends ExecutorItem {
updateRedisStatus(); updateRedisStatus();
} }
private void handleOnlineEvent() { public void handleOnlineEvent() {
isOnline = true; isOnline = true;
fireEvent(AgvEventType.ONLINE, this); fireEvent(AgvEventType.ONLINE, this);
requestCurrentStatus(); requestCurrentStatus();
} }
private void handleOfflineEvent() { public void handleOfflineEvent() {
isOnline = false; isOnline = false;
fireEvent(AgvEventType.OFFLINE, this); fireEvent(AgvEventType.OFFLINE, this);
} }

Loading…
Cancel
Save