From 7a3193a3d0a94daff257cb13764a83b9863bad22 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 04 十月 2023 14:20:49 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/utils/NavigateUtils.java | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java index 950116e..aeb08e7 100644 --- a/src/main/java/com/zy/common/utils/NavigateUtils.java +++ b/src/main/java/com/zy/common/utils/NavigateUtils.java @@ -4,7 +4,11 @@ import com.zy.common.model.MapNode; import com.zy.common.model.NavigateNode; import com.zy.common.model.enums.NavigationMapType; +import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.ShuttleTaskModeType; +import com.zy.core.enums.SlaveType; +import com.zy.core.model.protocol.NyShuttleProtocol; +import com.zy.core.thread.NyShuttleThread; import java.util.*; @@ -244,6 +248,36 @@ return allDistance; } + /** + * 妫�娴嬭矾寰勬槸鍚﹀彲鐢�(鍙蛋) + */ + public static boolean checkPathIsAvailable(List<NavigateNode> path, Integer shuttleNo, Integer lev) { + NyShuttleThread shuttleThread = (NyShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleNo); + if (shuttleThread == null) { + return false; + } + NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol(); + if (shuttleProtocol == null) { + return false; + } + + Integer mapType = NavigationMapType.DFX.id; + if (shuttleProtocol.getLiftPosition() == 1) { + //涓嬮檷浣嶇疆 + mapType = NavigationMapType.NORMAL.id; + } + + NavigateSolution solution = new NavigateSolution(mapType, lev, null, Utils.getShuttlePoints(shuttleNo, lev));//鑾峰彇鏃犵櫧鍚嶅崟鍦板浘(璇ュ湴鍥惧寘鍚皬杞﹀潗鏍�) + int[][] map = solution.map; + for (NavigateNode node : path) { + int value = map[node.getX()][node.getY()]; + if (value != 0 && value != 3 && value != 5) {//姣嶈建閬�3銆佸瓙杞ㄩ亾0銆佸厖鐢垫々5 + return false; + } + } + return true; + } + public static void main(String[] args) { //璁$畻璺緞 List<NavigateNode> calc = calc("1000901", "1800201", NavigationMapType.NONE.id, null); -- Gitblit v1.9.1