From aaea873695cd27a28ca9fec7e79a34db31e7527c Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 10 九月 2025 15:20:44 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/action/ShuttleAction.java | 42 ++++++++++++++++++++++-------------------- 1 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/zy/core/action/ShuttleAction.java b/src/main/java/com/zy/core/action/ShuttleAction.java index d709041..d3e961f 100644 --- a/src/main/java/com/zy/core/action/ShuttleAction.java +++ b/src/main/java/com/zy/core/action/ShuttleAction.java @@ -121,9 +121,9 @@ News.info("[RCS Debug] Execute check command {},{}", shuttleNo, taskNo); //妫�娴嬪懡浠� - int checked = checkCommand(redisCommand, shuttleNo); + ShuttleCheckCommandResultType checked = checkCommand(redisCommand, shuttleNo); News.info("[RCS Debug] Execute check command complete {},{}", shuttleNo, taskNo); - if (checked == 0) { + if (checked.equals(ShuttleCheckCommandResultType.FAIL)) { return false; } @@ -140,7 +140,7 @@ //鍙栧嚭鍛戒护 ShuttleCommand command = null; - if (checked == 1) { + if (checked.equals(ShuttleCheckCommandResultType.SUCCESS)) { //闈炶繛缁寚浠わ紝闇�瑕佹娴嬩笂涓�鏉℃寚浠ゆ槸鍚﹀畬鎴� if (commandStep > 0) { ShuttleCommand lastCommand = commands.get(commandStep - 1); @@ -150,7 +150,7 @@ } command = commands.get(commandStep); - } else if (checked == 2) { + } else if (checked.equals(ShuttleCheckCommandResultType.SUCCESS_GO)) { //杩炵画鎸囦护鐩存帴鍙栨暟鎹� command = commands.get(commandStep); } @@ -185,7 +185,7 @@ return false;//鐢宠澶辫触 } - if (checked == 2) { + if (checked.equals(ShuttleCheckCommandResultType.SUCCESS_GO)) { nodes.remove(0); } @@ -240,38 +240,40 @@ * 妫�娴嬪懡浠� * 0:鏈�氳繃 1:閫氳繃 2:閫氳繃涓斿彲鎻愬墠涓嬪彂鎸囦护 */ - private int checkCommand(ShuttleRedisCommand redisCommand, Integer shuttleNo) { + private ShuttleCheckCommandResultType checkCommand(ShuttleRedisCommand redisCommand, Integer shuttleNo) { TrafficControlThread trafficControlThread = (TrafficControlThread) SlaveConnection.get(SlaveType.TrafficControl, 1); if(trafficControlThread == null){ - return 0; + return ShuttleCheckCommandResultType.FAIL; } ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleNo); if (shuttleThread == null) { - return 0; + return ShuttleCheckCommandResultType.FAIL; } ShuttleProtocol shuttleProtocol = shuttleThread.getStatus(); if (shuttleProtocol == null) { - return 0; + return ShuttleCheckCommandResultType.FAIL; } int commandStep = redisCommand.getCommandStep(); if (commandStep == 0) { - return 1;//绗竴鏉″懡浠ゆ棤闇�妫�娴� + return ShuttleCheckCommandResultType.SUCCESS;//绗竴鏉″懡浠ゆ棤闇�妫�娴� } ShuttleAssignCommand assignCommand = redisCommand.getAssignCommand(); List<ShuttleCommand> commands = assignCommand.getCommands(); if (commands.isEmpty()) { - return 0; + return ShuttleCheckCommandResultType.FAIL; } boolean supportContinuously = false; int checkIdx = commandStep - 2; if (checkIdx < 0) { + supportContinuously = true; checkIdx = commandStep - 1; } + ShuttleCommand last2Command = commands.get(checkIdx); if(last2Command.getComplete()){ supportContinuously = true; @@ -289,18 +291,18 @@ //灏忚溅绉诲姩杩炵画涓嬪彂鎸囦护 if (assignCommand.getShuttleMoveCommandsContinuously()) { if (!supportContinuously) { - return 0; + return ShuttleCheckCommandResultType.FAIL; } //绉诲姩鎸囦护 if(lastCommand.getMode() != ShuttleCommandModeType.MOVE.id) { - return 0; + return ShuttleCheckCommandResultType.FAIL; } List<NavigateNode> nodes = lastCommand.getNodes(); NavigateNode startNode = nodes.get(0); if (!startNode.getLinePartAllowGo()) {//鐩寸嚎娈甸儴鍒嗭紝鍏佽鐩存帴琛岃蛋 - return 0; + return ShuttleCheckCommandResultType.FAIL; } //鐩寸嚎娈垫暟鎹爣璇� @@ -310,23 +312,23 @@ //鍙栨寚浠� ShuttleCommand currentCommand = commands.get(commandStep); if(currentCommand.getMode() != ShuttleCommandModeType.MOVE.id) { - return 0; + return ShuttleCheckCommandResultType.FAIL; } List<NavigateNode> currentNodes = currentCommand.getNodes(); NavigateNode currentStartNode = currentNodes.get(0); if(!currentStartNode.getLinePartAllowGo()) {//鐩寸嚎娈甸儴鍒嗭紝鍏佽鐩存帴琛岃蛋 - return 0; + return ShuttleCheckCommandResultType.FAIL; } if(currentStartNode.getLinePartFlag().equals(linePartFlag)) { //鏁版嵁鏍囪瘑涓�鑷� - return 2;//鍏佽灏忚溅绉诲姩杩炵画涓嬪彂鎸囦护 + return ShuttleCheckCommandResultType.SUCCESS_GO;//鍏佽灏忚溅绉诲姩杩炵画涓嬪彂鎸囦护 } } } - return 0; + return ShuttleCheckCommandResultType.FAIL; } } @@ -369,10 +371,10 @@ //鍒犻櫎redis redisUtil.del(RedisKeyType.SHUTTLE_WORK_FLAG.key + redisCommand.getWrkNo()); - return 0;//绂佹鍐嶄笅鍙戝懡浠� + return ShuttleCheckCommandResultType.FAIL;//绂佹鍐嶄笅鍙戝懡浠� } - return 1; + return ShuttleCheckCommandResultType.SUCCESS; } //妫�娴嬫洿鏂板懡浠ゅ畬鎴� -- Gitblit v1.9.1