From 825accaa1ecde7c8b4a6852b92b8da615b624b6f Mon Sep 17 00:00:00 2001 From: tqs <56479841@qq.com> Date: 星期一, 27 三月 2023 17:16:44 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/ShuttleThread.java | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/core/thread/ShuttleThread.java b/src/main/java/com/zy/core/thread/ShuttleThread.java index 13db8e1..03e30b5 100644 --- a/src/main/java/com/zy/core/thread/ShuttleThread.java +++ b/src/main/java/com/zy/core/thread/ShuttleThread.java @@ -288,7 +288,7 @@ } //鍒嗛厤浠诲姟 - private void assignWork(ShuttleAssignCommand assignCommand) { + private void assignWork(ShuttleAssignCommand assignCommand) throws Exception { //灏嗘map瀛樺叆redis涓� HashMap<String, Object> map = new HashMap<>(); @@ -299,6 +299,13 @@ ArrayList<ArrayList<NavigateNode>> data = NavigateUtils.getSectionPath(calc); //璺緞鏁版嵁 map.put("path", data); + //璺緞娆℃暟 + map.put("pathSize", data.size()); + }else { + if (assignCommand.getTaskMode() == ShuttleTaskModeType.PAK_IN.id.shortValue() || assignCommand.getTaskMode() == ShuttleTaskModeType.PAK_OUT.id.shortValue()) { + //灞炰簬鍏ュ簱鍑哄簱锛屽繀椤昏璁$畻璺緞锛屽垯鎶涘嚭寮傚父 + throw new Exception("鏈兘鎵惧埌杩愯璺緞"); + } } //宸ヤ綔鍙� @@ -336,11 +343,11 @@ Object o1 = pathList.get(commandStep); ArrayList path = JSON.parseObject(o1.toString(), ArrayList.class); - size = path.size(); + size = Integer.parseInt(map.get("pathSize").toString()); //寮�濮嬭矾寰� JSONObject startPath = JSON.parseObject(path.get(0).toString()); //鐩爣璺緞 - JSONObject endPath = JSON.parseObject(path.get(size - 1).toString()); + JSONObject endPath = JSON.parseObject(path.get(path.size() - 1).toString()); command.setCommandWord((short) 1); command.setStartCodeNum(NavigatePositionConvert.xyToPosition(startPath.getIntValue("x"), startPath.getIntValue("y"))); @@ -372,6 +379,14 @@ command.setRunDirection((short) (assignCommand.getTaskMode() - 4)); command.setCommandEnd((short) 1); break; + case 9://鐘舵�佸浣� + command.setCommandWord((short) 0); + //璁剧疆鍥涘悜绌挎杞︿负绌洪棽鐘舵�� + shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE); + //浠诲姟鍙锋竻闆� + shuttleProtocol.setTaskNo((short) 0); + break; + default: } command.setCommandEnd((short) 1); @@ -385,7 +400,7 @@ shuttleProtocol.setPakMk(false); //鍒ゆ柇鏁版嵁鏄惁鎵ц瀹屾垚 - if (commandStep < size) { + if (commandStep < size - 1) { //鏇存柊redis鏁版嵁 //姝ュ簭澧炲姞 commandStep++; -- Gitblit v1.9.1