| | |
| | | @Autowired |
| | | private RedisUtil redisUtil; |
| | | |
| | | private Integer max = 10000; |
| | | |
| | | private static final List<String> DISABLE_LOC_NO = new ArrayList<String>() {{ |
| | | // add("0200101"); |
| | | // add("0300101"); |
| | |
| | | //to do |
| | | // floor = 2; |
| | | |
| | | BasMap basMap = agvBasMapService.selectLatestMap(lev,floor); |
| | | BasMap basMap = agvBasMapService.selectLatestMap(lev, floor); |
| | | //解析json地图数据 |
| | | List<ArrayList> arrayLists = JSON.parseArray(basMap.getData(), ArrayList.class); |
| | | |
| | | |
| | | //获取当前楼层库位数据 |
| | | List<AgvLocMast> locMasts = agvLocMastService.selectLocByLevAndFloor(lev,floor); |
| | | List<AgvLocMast> locMasts = agvLocMastService.selectLocByLevAndFloor(lev, floor); |
| | | for (AgvLocMast locMast : locMasts) { |
| | | Integer row = locMast.getRow1(); |
| | | Integer bay = locMast.getBay1(); |
| | |
| | | int x = bay; |
| | | int y = row; |
| | | //2楼 |
| | | if(floor == 1 && lev == 1){ |
| | | if (floor == 1 && lev == 1) { |
| | | x = generateMap1Bay(bay); |
| | | } |
| | | if(floor == 1 && lev == 2){ |
| | | if (floor == 1 && lev == 2) { |
| | | y = generateMap4Row(row); |
| | | } |
| | | //2楼 |
| | | if(floor == 2){ |
| | | if (floor == 2) { |
| | | y = generateMap2Row(row); |
| | | //y = generateMap2Bay(bay); |
| | | } |
| | | ////3楼 |
| | | if(floor == 3){ |
| | | if (floor == 3) { |
| | | y = generateMap3Row(row); |
| | | // x = generateMap3Bay(bay); |
| | | } |
| | |
| | | Object o = rowData.get(y); |
| | | |
| | | JSONObject jsonObject = JSON.parseObject(o.toString()); |
| | | jsonObject.put("value","0"); |
| | | jsonObject.put("value", "0"); |
| | | |
| | | jsonObject.put("locNo", locMast.getLocNo());//设置库位号 |
| | | jsonObject.put("locSts", locMast.getLocSts());//库位状态 |
| | |
| | | |
| | | return JSONObject.toJSONString(arrayLists); |
| | | } |
| | | private Integer generateMap1Bay(int bay){ |
| | | |
| | | 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 ++; |
| | | 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 generateMap4Row(int row){ |
| | | 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 ++; |
| | | 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++; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | private Integer generateMap2Row(int row){ |
| | | 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 ++; |
| | | 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; |
| | | if (row > 20) x += 9; |
| | | |
| | | return x; |
| | | |
| | | } |
| | | |
| | | private Integer generateMap2Bay(int bay){ |
| | | private Integer generateMap2Bay(int bay) { |
| | | int y = bay; |
| | | if(y > 28){ |
| | | y ++; |
| | | if (y > 28) { |
| | | y++; |
| | | } |
| | | if(y > 57){ |
| | | y ++; |
| | | if (y > 57) { |
| | | y++; |
| | | } |
| | | return y; |
| | | } |
| | | |
| | | private Integer generateMap3Row(int row){ |
| | | private Integer generateMap3Row(int row) { |
| | | int x = row; |
| | | 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 ++; |
| | | 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; |
| | | if (row > 8) x += 9; |
| | | return x; |
| | | } |
| | | |
| | | private Integer generateMap3Bay(int bay){ |
| | | int y = 76-bay; |
| | | if(bay >= 18) y --; |
| | | if(bay >= 26) y --; |
| | | if(bay >= 50) y --; |
| | | private Integer generateMap3Bay(int bay) { |
| | | int y = 76 - bay; |
| | | if (bay >= 18) y--; |
| | | if (bay >= 26) y--; |
| | | if (bay >= 50) y--; |
| | | return y; |
| | | } |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | AgvMapController a = new AgvMapController(); |
| | | System.out.println(a.generateMap4Row(4)); |
| | | |
| | | System.out.println(a.process(1)); |
| | | } |
| | | |
| | | private List<Integer> process(int start) { |
| | | List<Integer> l = new ArrayList<>(); |
| | | while (start <= max) { |
| | | l.add(start); |
| | | start = start + 2; |
| | | } |
| | | return l; |
| | | } |
| | | |
| | | |
| | | @RequestMapping("/map/searchData/auth") |
| | | @ManagerAuth |
| | |
| | | @RequestParam("specs") String specs, |
| | | @RequestParam("matnr") String matnr, |
| | | @RequestParam("maktx") String maktx |
| | | ) { |
| | | ) { |
| | | |
| | | List<AgvLocDetl> locDetls = agvLocDetlService.searchByLike(orderNo, matnr, maktx, specs, locNo); |
| | | ArrayList<AgvLocDetl> lists = new ArrayList<>(); |