| | |
| | | @GetMapping("/map/getData/{floor}/{lev}/auth") |
| | | @ManagerAuth |
| | | public String getMapData(@PathVariable("floor") Integer floor, @PathVariable("lev") Integer lev) { |
| | | BasMap basMap = agvBasMapService.selectLatestMap(1,floor); |
| | | |
| | | //to do |
| | | // floor = 2; |
| | | |
| | | BasMap basMap = agvBasMapService.selectLatestMap(lev,floor); |
| | | //解析json地图数据 |
| | | List<ArrayList> arrayLists = JSON.parseArray(basMap.getData(), ArrayList.class); |
| | | |
| | |
| | | |
| | | int x = bay; |
| | | int y = row; |
| | | ////1楼 |
| | | //if(floor == 1){ |
| | | // x = generateMap1Row(row); |
| | | // y = generateMap1Bay(bay); |
| | | //} |
| | | //2楼 |
| | | if(floor == 1 && lev == 1){ |
| | | x = generateMap1Bay(bay); |
| | | } |
| | | if(floor == 1 && lev == 2){ |
| | | y = generateMap4Row(row); |
| | | } |
| | | //2楼 |
| | | if(floor == 2){ |
| | | y = generateMap2Row(row); |
| | | //y = generateMap2Bay(bay); |
| | | } |
| | | ////3楼 |
| | | //if(floor == 3){ |
| | | // y = generateMap3Row(row); |
| | | // x = generateMap3Bay(bay); |
| | | //} |
| | | if(floor == 3){ |
| | | y = generateMap3Row(row); |
| | | // x = generateMap3Bay(bay); |
| | | } |
| | | |
| | | ArrayList rowData = arrayLists.get(y); |
| | | Object o = rowData.get(x); |
| | | ArrayList rowData = arrayLists.get(x); |
| | | Object o = rowData.get(y); |
| | | |
| | | JSONObject jsonObject = JSON.parseObject(o.toString()); |
| | | jsonObject.put("value","0"); |
| | |
| | | |
| | | return JSONObject.toJSONString(arrayLists); |
| | | } |
| | | private Integer generateMap1Bay(int bay){ |
| | | int y = bay; |
| | | Integer[] bayAdd = {1,3,5,7,9,11,13,15,17,19}; |
| | | for(int i=0; i<bayAdd.length; i++){ |
| | | if(bay > bayAdd[i]){ |
| | | y ++; |
| | | } |
| | | } |
| | | |
| | | private Integer generateMap1Row(int row){ |
| | | int x = 21-row; |
| | | if(row > 1){ |
| | | x --; |
| | | return y; |
| | | |
| | | } |
| | | |
| | | private Integer generateMap4Row(int row){ |
| | | int x = row; |
| | | Integer[] rowAdd = {1,3,5,7,9,11,13,15,17,19,21}; |
| | | for(int i=0; i<rowAdd.length; i++){ |
| | | if(row > rowAdd[i]){ |
| | | x ++; |
| | | } |
| | | } |
| | | if(row > 3){ |
| | | x --; |
| | | } |
| | | if(row > 5){ |
| | | x --; |
| | | } |
| | | if(row > 7){ |
| | | x --; |
| | | } |
| | | if(row > 9){ |
| | | x --; |
| | | } |
| | | if(row > 10){ |
| | | x --; |
| | | } |
| | | if(row > 12){ |
| | | x --; |
| | | } |
| | | |
| | | return x; |
| | | |
| | | } |
| | | |
| | | private Integer generateMap1Bay(int bay){ |
| | | private Integer generateMap2Row(int row){ |
| | | int x = row; |
| | | Integer[] rowAdd = {2,4,6,7,8,10,12,13,15,17,19,20,22,24}; |
| | | for(int i=0; i<rowAdd.length; i++){ |
| | | if(row > rowAdd[i]){ |
| | | x ++; |
| | | } |
| | | } |
| | | if(row >20) x += 9; |
| | | |
| | | return x; |
| | | |
| | | } |
| | | |
| | | private Integer generateMap2Bay(int bay){ |
| | | int y = bay; |
| | | if(y > 28){ |
| | | y ++; |
| | |
| | | |
| | | private Integer generateMap3Row(int row){ |
| | | int x = row; |
| | | Integer[] rowAdd = {2,4,6,7,8,10,12,13,15,17,19,21,23,24,26,28,30,32}; |
| | | Integer[] rowAdd = {2,4,6,8,10,12,14,15,17,19,21,22,24,26,28,30,32}; |
| | | for(int i=0; i<rowAdd.length; i++){ |
| | | if(row >= rowAdd[i]){ |
| | | x ++; |
| | | } |
| | | } |
| | | if(row >8) x += 9; |
| | | return x; |
| | | } |
| | | |