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/enums/ShuttleCheckCommandResultType.java | 41 ++++++++++++++++++++
src/main/java/com/zy/core/action/ShuttleAction.java | 40 ++++++++++----------
2 files changed, 61 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 4c2da6f..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,31 +240,31 @@
* 妫�娴嬪懡浠�
* 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;
@@ -291,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;
}
//鐩寸嚎娈垫暟鎹爣璇�
@@ -312,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;
}
}
@@ -371,10 +371,10 @@
//鍒犻櫎redis
redisUtil.del(RedisKeyType.SHUTTLE_WORK_FLAG.key + redisCommand.getWrkNo());
- return 0;//绂佹鍐嶄笅鍙戝懡浠�
+ return ShuttleCheckCommandResultType.FAIL;//绂佹鍐嶄笅鍙戝懡浠�
}
- return 1;
+ return ShuttleCheckCommandResultType.SUCCESS;
}
//妫�娴嬫洿鏂板懡浠ゅ畬鎴�
diff --git a/src/main/java/com/zy/core/enums/ShuttleCheckCommandResultType.java b/src/main/java/com/zy/core/enums/ShuttleCheckCommandResultType.java
new file mode 100644
index 0000000..da6a78a
--- /dev/null
+++ b/src/main/java/com/zy/core/enums/ShuttleCheckCommandResultType.java
@@ -0,0 +1,41 @@
+package com.zy.core.enums;
+
+public enum ShuttleCheckCommandResultType {
+
+ FAIL(0, "鏈�氳繃"),
+ SUCCESS(1, "閫氳繃"),
+ SUCCESS_GO(2, "閫氳繃涓斿彲鎻愬墠涓嬪彂鎸囦护")
+ ;
+
+ public Integer id;
+ public String desc;
+
+ ShuttleCheckCommandResultType(Integer id, String desc) {
+ this.id = id;
+ this.desc = desc;
+ }
+
+ public static ShuttleCheckCommandResultType get(Short id) {
+ if (null == id) {
+ return null;
+ }
+ for (ShuttleCheckCommandResultType type : ShuttleCheckCommandResultType.values()) {
+ if (type.id.equals(id.intValue())) {
+ return type;
+ }
+ }
+ return null;
+ }
+
+ public static ShuttleCheckCommandResultType get(ShuttleCheckCommandResultType type) {
+ if (null == type) {
+ return null;
+ }
+ for (ShuttleCheckCommandResultType type1 : ShuttleCheckCommandResultType.values()) {
+ if (type1 == type) {
+ return type1;
+ }
+ }
+ return null;
+ }
+}
--
Gitblit v1.9.1