Browse Source

Logs 推送问题

master
修宁 5 months ago
parent
commit
b48e6f5a7c
  1. 16
      servo/src/main/java/com/yvan/logisticsModel/LogisticsRuntime.java
  2. 24
      servo/src/main/java/com/yvan/pusher/FrontendMessagePushService.java
  3. 15
      servo/src/main/java/com/yvan/workbench/controller/RcsController.java

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

@ -22,13 +22,11 @@ import com.yvan.event.AgvEventManager;
import com.yvan.event.AgvEventType; import com.yvan.event.AgvEventType;
import com.yvan.pusher.FrontendMessagePushService; import com.yvan.pusher.FrontendMessagePushService;
import com.yvan.redis.LccRedisService; import com.yvan.redis.LccRedisService;
import com.yvan.workbench.SpringContext;
import com.yvan.workbench.autoconfigure.LccConfigProperties;
import com.yvan.workbench.service.LccMapService;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.clever.core.BannerUtils; import org.clever.core.BannerUtils;
import org.clever.core.Conv; import org.clever.core.Conv;
import org.clever.core.DateUtils;
import org.clever.data.jdbc.DaoFactory; import org.clever.data.jdbc.DaoFactory;
import org.clever.data.jdbc.QueryDSL; import org.clever.data.jdbc.QueryDSL;
import org.clever.data.redis.Redis; import org.clever.data.redis.Redis;
@ -215,6 +213,16 @@ public class LogisticsRuntime {
}); });
} }
public void writeLog(String type, String content, Object... args) {
StringBuilder sb = new StringBuilder();
// 获取 时分秒.毫秒 HH:mm:ss.SSS
String time = DateFormatUtils.format(new Date(), "HH:mm:ss.SSS");
sb.append(time).append(" [").append(type).append("] - ").append(
String.format(content, args)
);
FrontendMessagePushService.INSTANCE.pushLogs(this, type, sb.toString());
}
/** /**
* 库存转移 AGV->货架 * 库存转移 AGV->货架
*/ */

24
servo/src/main/java/com/yvan/pusher/FrontendMessagePushService.java

@ -163,7 +163,7 @@ public class FrontendMessagePushService implements MqttCallback {
* 推送任务更新 * 推送任务更新
* /lcc/{proj_id}/{env_id}/task * /lcc/{proj_id}/{env_id}/task
* *
* @param runtime 运行时环境 * @param runtime 运行时环境
* @param taskData 任务数据 * @param taskData 任务数据
*/ */
public void pushTaskUpdate(LogisticsRuntime runtime, Object taskData) { public void pushTaskUpdate(LogisticsRuntime runtime, Object taskData) {
@ -175,11 +175,11 @@ public class FrontendMessagePushService implements MqttCallback {
* 推送库存更新 * 推送库存更新
* /lcc/{proj_id}/{env_id}/inv * /lcc/{proj_id}/{env_id}/inv
* *
* @param runtime 运行时环境 * @param runtime 运行时环境
* @param lpn 容器号 * @param lpn 容器号
* @param before 更新前库存 * @param before 更新前库存
* @param after 更新后库存 * @param after 更新后库存
* @param qty 更新数量 * @param qty 更新数量
*/ */
public void pushInvUpdate(LogisticsRuntime runtime, String lpn, BasLocationVo before, BasLocationVo after, int qty) { public void pushInvUpdate(LogisticsRuntime runtime, String lpn, BasLocationVo before, BasLocationVo after, int qty) {
String topic = buildTopic(runtime, "inv"); String topic = buildTopic(runtime, "inv");
@ -208,7 +208,7 @@ public class FrontendMessagePushService implements MqttCallback {
/** /**
* 推送设备存活状态 * 推送设备存活状态
* *
* @param runtime 运行时环境 * @param runtime 运行时环境
* @param deviceId 设备ID * @param deviceId 设备ID
* @param type 设备类型 * @param type 设备类型
* @param online 是否在线 * @param online 是否在线
@ -228,20 +228,20 @@ public class FrontendMessagePushService implements MqttCallback {
* 推送日志 * 推送日志
* /lcc/{proj_id}/{env_id}/log/{type} * /lcc/{proj_id}/{env_id}/log/{type}
* *
* @param runtime 运行时环境 * @param runtime 运行时环境
* @param logType 日志类型 * @param logType 日志类型
* @param logData 日志数据 * @param log 日志数据
*/ */
public void pushLogs(LogisticsRuntime runtime, String logType, Object logData) { public void pushLogs(LogisticsRuntime runtime, String logType, String log) {
String topic = buildTopic(runtime, "log/" + logType); String topic = buildTopic(runtime, "log/" + logType);
publishJson(topic, logData); publish(topic, log);
} }
/** /**
* 推送告警 * 推送告警
* /lcc/{proj_id}/{env_id}/alarm * /lcc/{proj_id}/{env_id}/alarm
* *
* @param runtime 运行时环境 * @param runtime 运行时环境
* @param alarmData 告警数据 * @param alarmData 告警数据
*/ */
public void pushAlarm(LogisticsRuntime runtime, Object alarmData) { public void pushAlarm(LogisticsRuntime runtime, Object alarmData) {

15
servo/src/main/java/com/yvan/workbench/controller/RcsController.java

@ -75,6 +75,8 @@ public class RcsController {
ps.agv.logicY = ps.fromItem.logicY; ps.agv.logicY = ps.fromItem.logicY;
ps.agv.dispatchTask(ps.planSequence); ps.agv.dispatchTask(ps.planSequence);
ps.runtime.writeLog("biz", "agvToCharger任务:%s", ps.planSequence.toPrettyMap());
return R.success(ps.planSequence.toPrettyMap()); return R.success(ps.planSequence.toPrettyMap());
} }
@ -117,6 +119,8 @@ public class RcsController {
ps.agv.logicY = ps.fromItem.logicY; ps.agv.logicY = ps.fromItem.logicY;
ps.agv.dispatchTask(ps.planSequence); ps.agv.dispatchTask(ps.planSequence);
ps.runtime.writeLog("biz", "agvMove任务:%s", ps.planSequence.toPrettyMap());
return R.success(ps.planSequence.toPrettyMap()); return R.success(ps.planSequence.toPrettyMap());
} }
@ -235,6 +239,8 @@ public class RcsController {
ps.agv.logicY = ps.fromItem.logicY; ps.agv.logicY = ps.fromItem.logicY;
ps.agv.dispatchTask(ps.planSequence); ps.agv.dispatchTask(ps.planSequence);
ps.runtime.writeLog("biz", "agvCarry任务:%s", ps.planSequence.toPrettyMap());
return R.success(ps.planSequence.toPrettyMap()); return R.success(ps.planSequence.toPrettyMap());
} }
@ -267,7 +273,7 @@ public class RcsController {
} }
// ==================== 找到托盘号 ==================== // ==================== 找到托盘号 ====================
BasLocationVo executorVo = new BasLocationVo(ps.agv); BasLocationVo executorVo = new BasLocationVo(ps.agv);
String lpn = ps.runtime.queryDSL String lpn = ps.runtime.queryDSL
.select(lccInvLpn.lpn) .select(lccInvLpn.lpn)
.from(lccInvLpn) .from(lccInvLpn)
@ -301,6 +307,8 @@ public class RcsController {
ps.agv.logicY = ps.fromItem.logicY; ps.agv.logicY = ps.fromItem.logicY;
ps.agv.dispatchTask(ps.planSequence); ps.agv.dispatchTask(ps.planSequence);
ps.runtime.writeLog("biz", "agvUnload任务:%s", ps.planSequence.toPrettyMap());
return R.success(ps.planSequence.toPrettyMap()); return R.success(ps.planSequence.toPrettyMap());
} }
@ -366,6 +374,8 @@ public class RcsController {
ps.agv.logicY = ps.fromItem.logicY; ps.agv.logicY = ps.fromItem.logicY;
ps.agv.dispatchTask(ps.planSequence); ps.agv.dispatchTask(ps.planSequence);
ps.runtime.writeLog("biz", "agvLoad任务:%s", ps.planSequence.toPrettyMap());
return R.success(ps.planSequence.toPrettyMap()); return R.success(ps.planSequence.toPrettyMap());
} }
@ -378,6 +388,9 @@ public class RcsController {
RcsCommonParam ps = (RcsCommonParam) ret; RcsCommonParam ps = (RcsCommonParam) ret;
ps.agv.cancelTask(); ps.agv.cancelTask();
ps.runtime.writeLog("biz", "cancelTasks");
return R.success("AGV tasks cancelled successfully"); return R.success("AGV tasks cancelled successfully");
} }

Loading…
Cancel
Save