|  |  | 
 |  |  |     private RedisUtil redisUtil; | 
 |  |  |     @Value("${super.pwd}") | 
 |  |  |     private String superPwd; | 
 |  |  |     @Autowired | 
 |  |  |     private NavigateMapData navigateMapData; | 
 |  |  |  | 
 |  |  |     @PostMapping("/system/running/status") | 
 |  |  |     @ManagerAuth(memo = "系统运行状态") | 
 |  |  | 
 |  |  |         BasMap basMap = JSON.parseObject(data.toString(), BasMap.class); | 
 |  |  |         //解析json地图数据 | 
 |  |  |         ArrayList arrayList = JSON.parseObject(basMap.getData(), ArrayList.class); | 
 |  |  |         NavigateMapData navigateMapData = new NavigateMapData(lev); | 
 |  |  |         navigateMapData.setLev(lev); | 
 |  |  |         List<List<MapNode>> lists = navigateMapData.filterMap(NavigationMapType.NONE.id, arrayList, lev, null, null);//过滤地图数据 | 
 |  |  |         return R.ok().add(lists); | 
 |  |  |     } | 
 |  |  | 
 |  |  |                 } | 
 |  |  |                 br.close(); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             NavigateMapData navigateMapData = new NavigateMapData(); | 
 |  |  |  | 
 |  |  |             //解析json地图数据 | 
 |  |  |             ArrayList arrayList = JSON.parseObject(stringBuffer.toString(), ArrayList.class); | 
 |  |  | 
 |  |  |         for (int i = 1; i <= 10; i++) {//总共10层楼 | 
 |  |  |             BasMap basMap = basMapService.selectLatestMap(i); | 
 |  |  |             //载入地图 | 
 |  |  |             NavigateMapData mapData = new NavigateMapData(i); | 
 |  |  |             List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//获取完整地图(包括入库出库) | 
 |  |  |             navigateMapData.setLev(i); | 
 |  |  |             List<List<MapNode>> lists = navigateMapData.getJsonData(-1, null, null);//获取完整地图(包括入库出库) | 
 |  |  |             if (basMap == null) { | 
 |  |  |                 //数据库中也不存在地图数据,从地图文件中获取 | 
 |  |  |                 //存入数据库 | 
 |  |  | 
 |  |  |  | 
 |  |  |         BasMap basMap = basMapService.selectLatestMap(lev); | 
 |  |  |         //载入地图 | 
 |  |  |         NavigateMapData mapData = new NavigateMapData(lev); | 
 |  |  |         List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//获取完整地图(包括入库出库) | 
 |  |  |         navigateMapData.setLev(lev); | 
 |  |  |         List<List<MapNode>> lists = navigateMapData.getJsonData(-1, null, null);//获取完整地图(包括入库出库) | 
 |  |  |         if (basMap == null) { | 
 |  |  |             //数据库中也不存在地图数据,从地图文件中获取 | 
 |  |  |             //存入数据库 | 
 
 |  |  | 
 |  |  |     private WrkDetlLogService wrkDetlLogService; | 
 |  |  |     @Autowired | 
 |  |  |     private MatService matService; | 
 |  |  |     @Autowired | 
 |  |  |     private NavigateMapData navigateMapData; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |                     if (basMap == null) { | 
 |  |  |                         //数据库中也不存在地图数据,从地图文件中获取 | 
 |  |  |                         //载入地图 | 
 |  |  |                         NavigateMapData mapData = new NavigateMapData(i); | 
 |  |  |                         List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//获取完整地图(包括入库出库) | 
 |  |  |                         navigateMapData.setLev(i); | 
 |  |  |                         List<List<MapNode>> lists = navigateMapData.getJsonData(-1, null, null);//获取完整地图(包括入库出库) | 
 |  |  |  | 
 |  |  |                         //存入数据库 | 
 |  |  |                         basMap = new BasMap(); | 
 
 |  |  | 
 |  |  |         WrkMastService wrkMastService = SpringUtils.getBean(WrkMastService.class); | 
 |  |  |         CommonService commonService = SpringUtils.getBean(CommonService.class); | 
 |  |  |         ShuttleDispatchUtils shuttleDispatchUtils = SpringUtils.getBean(ShuttleDispatchUtils.class); | 
 |  |  |         NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class); | 
 |  |  |  | 
 |  |  |         if (shuttleThread == null) { | 
 |  |  |             return false; | 
 |  |  | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         NavigateMapData mapData = new NavigateMapData(z);//获取地图数据 | 
 |  |  |         int[][] data = mapData.getData(-1, null, currentShuttleId == null ? null : Utils.getShuttlePoints(0, z));//载入全部车辆 | 
 |  |  |         navigateMapData.setLev(z);//获取地图数据 | 
 |  |  |         int[][] data = navigateMapData.getData(-1, null, currentShuttleId == null ? null : Utils.getShuttlePoints(0, z));//载入全部车辆 | 
 |  |  |  | 
 |  |  |         int moveBay = 23;//避让起始列 | 
 |  |  |         int bay = Utils.getBay(shuttleProtocol.getCurrentLocNo());//小车当前列 | 
 
 |  |  | 
 |  |  |  | 
 |  |  |     private Integer lev;//地图楼层 | 
 |  |  |  | 
 |  |  |     public NavigateMapData() { | 
 |  |  |         this.lev = 1; | 
 |  |  |     public Integer getLev() { | 
 |  |  |         return lev; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public NavigateMapData(Integer lev) { | 
 |  |  |     public void setLev(Integer lev) { | 
 |  |  |         this.lev = lev; | 
 |  |  |     } | 
 |  |  |  | 
 
 |  |  | 
 |  |  |      */ | 
 |  |  |     public synchronized boolean writeNavigateNodeToRedisMap(Integer lev, Integer shuttleNo, List<NavigateNode> nodes, boolean lock) { | 
 |  |  |         RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class); | 
 |  |  |         NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class); | 
 |  |  |         try { | 
 |  |  |             if (nodes.isEmpty()) { | 
 |  |  |                 return true; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             NavigateMapData navigateMapData = new NavigateMapData(lev); | 
 |  |  |  | 
 |  |  |             navigateMapData.setLev(lev); | 
 |  |  |             Object o = redisUtil.get(RedisKeyType.MAP.key + lev); | 
 |  |  |             if (o == null) { | 
 |  |  |                 return false; | 
 |  |  | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             //尝试锁定/解锁路径 | 
 |  |  |             NavigateMapData mapData = new NavigateMapData(nodes.get(0).getZ()); | 
 |  |  |             List<List<MapNode>> realMap = mapData.getJsonData(-1, null, null);//获取完整地图(包括入库出库) | 
 |  |  |             navigateMapData.setLev(nodes.get(0).getZ()); | 
 |  |  |             List<List<MapNode>> realMap = navigateMapData.getJsonData(-1, null, null);//获取完整地图(包括入库出库) | 
 |  |  |             for (NavigateNode node : nodes) { | 
 |  |  |                 if (node.getZ() != lev) { | 
 |  |  |                     continue; | 
 
 |  |  | 
 |  |  | package com.zy.common.utils; | 
 |  |  |  | 
 |  |  | import com.core.common.SpringUtils; | 
 |  |  | import com.zy.common.model.NavigateNode; | 
 |  |  |  | 
 |  |  | import java.util.ArrayList; | 
 |  |  | 
 |  |  |  | 
 |  |  |     public NavigateSolution() { | 
 |  |  |         //载入地图 | 
 |  |  |         NavigateMapData mapData = new NavigateMapData(); | 
 |  |  |         int[][] data = mapData.getData(); | 
 |  |  |         NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class); | 
 |  |  |         navigateMapData.setLev(1); | 
 |  |  |         int[][] data = navigateMapData.getData(); | 
 |  |  |         this.map = data; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public NavigateSolution(Integer mapType, Integer lev, List<int[]> whitePoints, List<int[]> shuttlePoints) { | 
 |  |  |         //载入地图指定层高地图 | 
 |  |  |         NavigateMapData mapData = new NavigateMapData(lev); | 
 |  |  |         int[][] data = mapData.getDataFromRedis(mapType, whitePoints, shuttlePoints); | 
 |  |  |         NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class); | 
 |  |  |         navigateMapData.setLev(lev); | 
 |  |  |         int[][] data = navigateMapData.getDataFromRedis(mapType, whitePoints, shuttlePoints); | 
 |  |  |         if (data == null) { | 
 |  |  |             data = mapData.getData(mapType, whitePoints, shuttlePoints); | 
 |  |  |             data = navigateMapData.getData(mapType, whitePoints, shuttlePoints); | 
 |  |  |         } | 
 |  |  |         this.map = data; | 
 |  |  |     } | 
 
 |  |  | 
 |  |  | package com.zy.common.utils; | 
 |  |  |  | 
 |  |  | import com.core.common.SpringUtils; | 
 |  |  | import com.zy.asrs.utils.Utils; | 
 |  |  | import com.zy.common.model.MapNode; | 
 |  |  | import com.zy.common.model.NavigateNode; | 
 |  |  | 
 |  |  |  | 
 |  |  |     //获取从x点到下一点的行走距离 | 
 |  |  |     public static Integer getXToNextDistance(NavigateNode xNode) { | 
 |  |  |         NavigateMapData mapData = new NavigateMapData(); | 
 |  |  |         List<List<MapNode>> lists = mapData.getJsonData(NavigationMapType.NONE.id, null, null); | 
 |  |  |         NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class); | 
 |  |  |         navigateMapData.setLev(xNode.getZ()); | 
 |  |  |  | 
 |  |  |         List<List<MapNode>> lists = navigateMapData.getJsonData(NavigationMapType.NONE.id, null, null); | 
 |  |  |         if (lists != null) { | 
 |  |  |             MapNode mapNode = lists.get(xNode.getX()).get(xNode.getY()); | 
 |  |  |             if (mapNode != null) { |