Browse Source

cl2 基于设备状态和任务状态分步生成设备任务消息

master
yuliang 6 months ago
parent
commit
044a952740
  1. 19
      servo/src/main/java/com/galaxis/rcs/communication/amrCommunication/AmrMessageHandler.java
  2. 2
      servo/src/main/java/com/yvan/logisticsModel/PtrAgvItem.java

19
servo/src/main/java/com/galaxis/rcs/communication/amrCommunication/AmrMessageHandler.java

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

2
servo/src/main/java/com/yvan/logisticsModel/PtrAgvItem.java

@ -327,7 +327,7 @@ public class PtrAgvItem extends ExecutorItem {
deviceTaskEnd.isLastTask = true;
deviceTaskList.add(deviceTaskEnd);
planQueue.addAll(sequence.taskList);
// planQueue.addAll(sequence.taskList);
deviceTaskQueue.addAll(deviceTaskList);
String json = JsonWrapper.toJson(deviceTaskList);

Loading…
Cancel
Save