From 6e02d92c3b9c240fa78a343b67ddf0db12d840e6 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 22 八月 2025 17:00:56 +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