| | |
| | | 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) { |