From c4b6b51afdd3374735ed5f358457987eaa6e476f Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 05 九月 2025 16:55:20 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/impl/TrafficControlImplThread.java | 30 +++++++++++++++++++++++++-----
1 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/impl/TrafficControlImplThread.java b/src/main/java/com/zy/core/thread/impl/TrafficControlImplThread.java
index 9008544..f1655fa 100644
--- a/src/main/java/com/zy/core/thread/impl/TrafficControlImplThread.java
+++ b/src/main/java/com/zy/core/thread/impl/TrafficControlImplThread.java
@@ -56,6 +56,17 @@
List<TrafficControlDataModel> allTrafficControl = getAllTrafficControl();
//鏇存柊浜ょ淇℃伅
redisUtil.set(RedisKeyType.TRAFFIC_CONTROL_MAP.key, allTrafficControl);
+
+ for (TrafficControlDataModel dataModel : allTrafficControl) {
+ Integer shuttleNo = dataModel.getShuttleNo();
+ Integer taskNo = dataModel.getTaskNo();
+
+ Object object1 = redisUtil.get(RedisKeyType.TRAFFIC_CONTROL_SUCCESS_APPLY.key + shuttleNo + "_" + taskNo);
+ if(object1 == null) {
+ redisUtil.set(RedisKeyType.TRAFFIC_CONTROL_SUCCESS_APPLY.key + shuttleNo + "_" + taskNo, 1, 60 * 60);
+ }
+ }
+
Thread.sleep(200);
}catch (Exception e){
e.printStackTrace();
@@ -163,10 +174,14 @@
Long idleTime = pathIdleShuttleMap.get(shuttleProtocol.getShuttleNo());
if((System.currentTimeMillis() - idleTime) > 1000 * 10) {
//妫�娴嬮殰纰嶇墿杞�
- boolean checkObstacle = shuttleOperaUtils.checkObstacle(shuttleProtocol.getCurrentLocNo(), new ArrayList<Integer>() {{
+ int checkObstacle = shuttleOperaUtils.checkObstacle(shuttleProtocol.getCurrentLocNo(), new ArrayList<Integer>() {{
add(shuttleNo);
- }});
+ }}, totalNodeList);
pathIdleShuttleMap.remove(shuttleProtocol.getShuttleNo());
+
+ if (checkObstacle == 2) {
+ pathShuttleThread.restartCalcPath();
+ }
}
}else {
pathIdleShuttleMap.put(shuttleProtocol.getShuttleNo(), System.currentTimeMillis());
@@ -187,6 +202,10 @@
}
if(totalLocList.contains(locNo)) {
+ String first = totalLocList.get(0);
+ if(first.equals(locNo)) {//filter first node
+ continue;
+ }
return false;
}
}
@@ -200,7 +219,7 @@
applyRecordsMap.remove(shuttleNo);
redisUtil.set(RedisKeyType.TRAFFIC_CONTROL_SUCCESS_APPLY.key + shuttleNo + "_" + taskNo, 1, 60 * 60);
- News.info("receipt traffic {},{}", shuttleNo, taskNo);
+ News.info("[RCS Debug] receipt traffic {},{}", shuttleNo, taskNo);
return true;
}
@@ -324,7 +343,7 @@
public synchronized boolean operateTrafficControl(OperateTrafficControlParam param) {
long startTime = System.currentTimeMillis();
String operaType = param.getOperaType();
- News.info("Operate Traffic Control is Start " + operaType);
+ News.info("[RCS Debug] Operate Traffic Control is Start " + operaType);
boolean result = false;
if (operaType.equals("add")) {
@@ -343,7 +362,7 @@
new ArrayList<>(model.getTotalNodeList())
))
.collect(Collectors.toList());
- News.info("Operate Traffic Control is end " + (System.currentTimeMillis() - startTime) + "ms");
+ News.info("[RCS Debug] Operate Traffic Control is end " + (System.currentTimeMillis() - startTime) + "ms");
return result;
}
@@ -382,6 +401,7 @@
}
trafficControlDataList.remove(idx);//鍙栨秷绠″埗
+ redisUtil.del(RedisKeyType.TRAFFIC_CONTROL_SUCCESS_APPLY.key + shuttleNo + "_" + taskNo);
return true;
}
--
Gitblit v1.9.1