|  |  | 
 |  |  | 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.*; | 
 |  |  |  | 
 |  |  | 
 |  |  |         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); |