Browse Source

Agv Event 体系

master
修宁 6 months ago
parent
commit
87033a4eec
  1. 26
      servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java
  2. 16
      servo/src/main/java/com/yvan/logisticsModel/LogisticsRuntime.java

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

@ -12,16 +12,12 @@ import com.galaxis.rcs.ptr.receiveEntity.base.CurBatteryData;
import com.galaxis.rcs.ptr.sendEntity.RcsConfigMessage;
import com.galaxis.rcs.ptr.sendEntity.RcsSRMessage;
import com.galaxis.rcs.ptr.sendEntity.RcsSetLocationMessage;
import com.google.common.base.Joiner;
import com.google.common.collect.Queues;
import com.yvan.LccUtils;
import com.yvan.event.AgvEventType;
import com.yvan.logisticsModel.ExecutorItem;
import com.yvan.logisticsModel.LogisticsRuntime;
import com.yvan.logisticsModel.StaticItem;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.clever.core.BannerUtils;
import org.clever.data.redis.Redis;
import org.clever.data.redis.RedisAdmin;
@ -86,7 +82,7 @@ public abstract class PtrAgvItem extends ExecutorItem {
final Cl2DeviceConnector cl2DeviceConnector = new Cl2DeviceConnector(this.runtime);
final AmrMessageHandler amrMessageHandler;
public final AmrMessageHandler amrMessageHandler;
/**
* 连接器线程
@ -338,16 +334,16 @@ public abstract class PtrAgvItem extends ExecutorItem {
}
}
BannerUtils.printConfig(log, "updatePosition", new String[]{
"logicX: " + logicX,
"logicY: " + logicY,
"direction: " + direction,
"finishTargetIndex: " + finishTargetIndex,
"runningDeviceSize:" + (this.runningDeviceTaskList == null ? "null" : this.runningDeviceTaskList.size()),
"planTask:" + (this.planTaskSequence == null ? "null" :
("\n" + Joiner.on("\n").join((List) this.planTaskSequence.toPrettyMap().get("items")))
)
});
// BannerUtils.printConfig(log, "updatePosition", new String[]{
// "logicX: " + logicX,
// "logicY: " + logicY,
// "direction: " + direction,
// "finishTargetIndex: " + finishTargetIndex,
// "runningDeviceSize:" + (this.runningDeviceTaskList == null ? "null" : this.runningDeviceTaskList.size()),
// "planTask:" + (this.planTaskSequence == null ? "null" :
// ("\n" + Joiner.on("\n").join((List) this.planTaskSequence.toPrettyMap().get("items")))
// )
// });
if (needCompute && this.runningDeviceTaskList.size() > 0) {
int index = this.runningDeviceTaskList.size() - 1;

16
servo/src/main/java/com/yvan/logisticsModel/LogisticsRuntime.java

@ -11,6 +11,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.yvan.event.AgvEventManager;
import com.yvan.event.AgvEventType;
import com.yvan.mqtt.FrontendMessagePushService;
import com.yvan.redis.LccRedisService;
import com.yvan.workbench.model.entity.LccProject;
@ -121,6 +122,21 @@ public class LogisticsRuntime {
this.envId = env.getEnvId();
this.isVirtual = env.getIsVirtual();
this.serverId = serverId;
this.setupEventHandle();
}
private void setupEventHandle() {
eventManager.subscribe((AgvEventType type, Object... args) -> {
ExecutorItem sender = (ExecutorItem) args[0];
String[] eventArgs = new String[args.length - 1];
for (int i = 1; i < args.length; i++) {
eventArgs[i - 1] = Conv.asString(args[i]);
}
BannerUtils.printConfig(log, this.projectUuid + "(" + this.envId + ") " + type + " AGV:" + sender.getId(), eventArgs);
});
}
/**

Loading…
Cancel
Save