From 42af11ca3a84e13d1f55207b2770e2454a861983 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 01 八月 2025 17:05:03 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/action/ShuttleAction.java | 22 ++++++++++++++++++++-- 1 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/core/action/ShuttleAction.java b/src/main/java/com/zy/core/action/ShuttleAction.java index a0a88b1..6a968c0 100644 --- a/src/main/java/com/zy/core/action/ShuttleAction.java +++ b/src/main/java/com/zy/core/action/ShuttleAction.java @@ -119,8 +119,10 @@ return false; } + News.info("execute check command {},{}", shuttleNo, taskNo); //妫�娴嬪懡浠� int checked = checkCommand(redisCommand, shuttleNo); + News.info("execute check command complete {},{}", shuttleNo, taskNo); if (checked == 0) { return false; } @@ -165,10 +167,20 @@ } List<NavigateNode> nodes = JSON.parseArray(JSON.toJSONString(command.getNodes()), NavigateNode.class); - //鐢宠绠″埗 - applyTrafficControl(commands, nodes, shuttleNo, taskNo); + + Object object = redisUtil.get(RedisKeyType.TRAFFIC_CONTROL_LOCK_APPLY.key + shuttleNo); + if (object == null) { + //鐢宠绠″埗 + News.info("execute apply control {},{}", shuttleNo, taskNo); + redisUtil.set(RedisKeyType.TRAFFIC_CONTROL_LOCK_APPLY.key + shuttleNo, "lock", 10); + applyTrafficControl(commands, nodes, shuttleNo, taskNo); + News.info("execute apply control complete {},{}", shuttleNo, taskNo); + } + + News.info("execute query control {},{}", shuttleNo, taskNo); //鏌ヨ绠″埗 boolean apply = queryTrafficControl(shuttleNo, taskNo); + News.info("execute query control complete {},{}", shuttleNo, taskNo); if(!apply){ return false;//鐢宠澶辫触 } @@ -415,7 +427,9 @@ return false; } //涓婃姤浜ょ + News.info("execute check command report traffic {},{}", shuttleNo, shuttleProtocol.getTaskNo()); trafficControlThread.trafficReport(command.getNodesDeepCopy(), shuttleNo, shuttleProtocol.getTaskNo()); + News.info("execute check command report traffic complete {},{}", shuttleNo, shuttleProtocol.getTaskNo()); String currentLocNo = shuttleProtocol.getCurrentLocNo(); if (currentLocNo == null) { @@ -768,6 +782,10 @@ } } + public synchronized boolean clearPath(Integer shuttleNo) { + return navigateMapUtils.clearPath(shuttleNo); + } + // //璺戝簱绋嬪簭 // public synchronized void moveLoc(Integer shuttleNo) { // ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleNo); -- Gitblit v1.9.1