|
|
@ -115,7 +115,7 @@ public class AmrMessageHandler { |
|
|
JsonWrapper jw = new JsonWrapper(json); |
|
|
JsonWrapper jw = new JsonWrapper(json); |
|
|
int id = jw.asInt("id"); |
|
|
int id = jw.asInt("id"); |
|
|
String agvId = jw.asInt("content", "VehicleId") + ""; |
|
|
String agvId = jw.asInt("content", "VehicleId") + ""; |
|
|
|
|
|
int seqNo = jw.asInt("content", "SeqNo"); |
|
|
PtrAgvItem agvItem = getPtrAgvItem(agvId); |
|
|
PtrAgvItem agvItem = getPtrAgvItem(agvId); |
|
|
if(agvItem == null ){ |
|
|
if(agvItem == null ){ |
|
|
return; |
|
|
return; |
|
|
@ -137,7 +137,7 @@ public class AmrMessageHandler { |
|
|
* 小车离线 20200 AmrOfflineMessage |
|
|
* 小车离线 20200 AmrOfflineMessage |
|
|
* 异常上报 20250 AmrExceptionMessage |
|
|
* 异常上报 20250 AmrExceptionMessage |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
log.info("3-Received message: " + json); |
|
|
AmrMessage<?> amrMessage = null; |
|
|
AmrMessage<?> amrMessage = null; |
|
|
switch (id) { |
|
|
switch (id) { |
|
|
case AMR_TASK_COMPLETED: |
|
|
case AMR_TASK_COMPLETED: |
|
|
@ -145,7 +145,7 @@ public class AmrMessageHandler { |
|
|
break; |
|
|
break; |
|
|
case AMR_TASK_STATUS: { |
|
|
case AMR_TASK_STATUS: { |
|
|
int EventId = jw.asInt("content", "EventId"); |
|
|
int EventId = jw.asInt("content", "EventId"); |
|
|
log.info("1-Received message: " + json); |
|
|
// log.info("1-Received message: " + json);
|
|
|
switch (EventId) { |
|
|
switch (EventId) { |
|
|
case 0: |
|
|
case 0: |
|
|
case 2: |
|
|
case 2: |
|
|
@ -222,7 +222,7 @@ public class AmrMessageHandler { |
|
|
// if (amrMessage.content instanceof AmrHeartbeatMessage) {
|
|
|
// if (amrMessage.content instanceof AmrHeartbeatMessage) {
|
|
|
// AmrHeartbeatMessage msg = (AmrHeartbeatMessage) amrMessage.content;
|
|
|
// AmrHeartbeatMessage msg = (AmrHeartbeatMessage) amrMessage.content;
|
|
|
// if (msg.VehicleId == 102) {
|
|
|
// if (msg.VehicleId == 102) {
|
|
|
log.info("Received message: " + json); |
|
|
// log.info("Received message: " + json);
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
|
|
|
@ -246,9 +246,12 @@ public class AmrMessageHandler { |
|
|
amrMessage = JacksonUtils.parse(json, typeRef20250Message); |
|
|
amrMessage = JacksonUtils.parse(json, typeRef20250Message); |
|
|
break; |
|
|
break; |
|
|
default: |
|
|
default: |
|
|
log.error("未知消息:{}", json); |
|
|
// log.error("未知消息:{}", json);
|
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
|
|
|
if (id != AMR_ACK && id !=AMR_HEARTBEAT) { |
|
|
|
|
|
AmrMessageHandler.sendCmdAck(agvId, seqNo); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
static { |
|
|
static { |
|
|
@ -263,7 +266,7 @@ public class AmrMessageHandler { |
|
|
public static void sendCmd10010(String vehicleId, RcsTaskMessage rcsTaskMessage) throws JsonProcessingException, MqttException { |
|
|
public static void sendCmd10010(String vehicleId, RcsTaskMessage rcsTaskMessage) throws JsonProcessingException, MqttException { |
|
|
MqttClient mqttClient = MqttConfig.mqttClient; |
|
|
MqttClient mqttClient = MqttConfig.mqttClient; |
|
|
BaseMessage baseMessage = new BaseMessage(); |
|
|
BaseMessage baseMessage = new BaseMessage(); |
|
|
baseMessage.id = 10010; |
|
|
baseMessage.id = RCS_TASK; |
|
|
baseMessage.content = rcsTaskMessage; |
|
|
baseMessage.content = rcsTaskMessage; |
|
|
String json = JacksonUtils.toJson(baseMessage); |
|
|
String json = JacksonUtils.toJson(baseMessage); |
|
|
log.info("sendCmd10010: {}", json); |
|
|
log.info("sendCmd10010: {}", json); |
|
|
@ -280,10 +283,10 @@ public class AmrMessageHandler { |
|
|
BaseMessage baseMessage = new BaseMessage(); |
|
|
BaseMessage baseMessage = new BaseMessage(); |
|
|
RcsAckMessage rcsAckMsg = new RcsAckMessage(); |
|
|
RcsAckMessage rcsAckMsg = new RcsAckMessage(); |
|
|
rcsAckMsg.SeqNo = seqNo; |
|
|
rcsAckMsg.SeqNo = seqNo; |
|
|
baseMessage.id = 10010; |
|
|
baseMessage.id = RCS_ACK; |
|
|
baseMessage.content = rcsAckMsg; |
|
|
baseMessage.content = rcsAckMsg; |
|
|
String json = JacksonUtils.toJson(baseMessage); |
|
|
String json = JacksonUtils.toJson(baseMessage); |
|
|
log.info("sendCmd10010: {}", json); |
|
|
log.info("sendCmd10050: {}", json); |
|
|
mqttClient.publish("/wcs_server/" + vehicleId, json.getBytes(StandardCharsets.UTF_8), 0, false); |
|
|
mqttClient.publish("/wcs_server/" + vehicleId, json.getBytes(StandardCharsets.UTF_8), 0, false); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|