| | |
| | | //获取当前楼层库位数据 |
| | | List<AgvLocMast> locMasts = agvLocMastService.selectLocByLevAndFloor(lev, floor); |
| | | |
| | | if (floor == 1 && lev == 2) { |
| | | List<AgvLocMast> distinctRow = agvLocMastService.selectDistinctLocByLevAndFloor(lev, floor); |
| | | List<Integer> integers = new ArrayList<>(); |
| | | int min = 0; |
| | | int i =1; |
| | | List<AgvLocMast> distinctRow = new ArrayList<>(); |
| | | List<Integer> rowIntegers = new ArrayList<>(); |
| | | int min = 0; |
| | | int i =1; |
| | | if (lev == 1 && floor == 1) { |
| | | distinctRow = agvLocMastService.selectDistinctLocByLevAndFloorMapbay1(lev, floor); |
| | | for (AgvLocMast locMast : distinctRow) { |
| | | if (min > locMast.getMapBay1()) { |
| | | min = locMast.getMapBay1(); |
| | | } |
| | | if (locMast.getRightSide() == 1) { |
| | | rowIntegers.add(i); |
| | | } |
| | | i++; |
| | | |
| | | } |
| | | } else { |
| | | distinctRow = agvLocMastService.selectDistinctLocByLevAndFloorMaprow1(lev, floor); |
| | | for (AgvLocMast locMast : distinctRow) { |
| | | if (min > locMast.getMapRow1()) { |
| | | min = locMast.getMapRow1(); |
| | | } |
| | | if (locMast.getRightSide() == 1) { |
| | | integers.add(i); |
| | | rowIntegers.add(i); |
| | | } |
| | | i++; |
| | | |
| | | } |
| | | for (AgvLocMast locMast : locMasts) { |
| | | Integer row = locMast.getMapRow1(); |
| | | if (row < 0) { |
| | | row = row - min + 1; |
| | | } else { |
| | | row = row - min; |
| | | } |
| | | Integer bay = locMast.getMapBay1(); |
| | | Integer rightSide = locMast.getRightSide(); |
| | | int x = bay; |
| | | int y = row; |
| | | y = generateMap4Row(integers, row); |
| | | ArrayList rowData = arrayLists.get(x); |
| | | Object o = rowData.get(y); |
| | | } |
| | | |
| | | JSONObject jsonObject = JSON.parseObject(o.toString()); |
| | | jsonObject.put("value", "0"); |
| | | |
| | | jsonObject.put("locNo", locMast.getLocNo());//设置库位号 |
| | | jsonObject.put("locSts", locMast.getLocSts());//库位状态 |
| | | //更新list |
| | | rowData.set(y, jsonObject); |
| | | arrayLists.set(x, rowData); |
| | | for (AgvLocMast locMast : locMasts) { |
| | | Integer row = locMast.getMapRow1(); |
| | | if (row < 0) { |
| | | row = row - min + 1; |
| | | } else { |
| | | row = row - min; |
| | | } |
| | | } else { |
| | | for (AgvLocMast locMast : locMasts) { |
| | | Integer row = locMast.getRow1(); |
| | | Integer bay = locMast.getBay1(); |
| | | |
| | | |
| | | int x = bay; |
| | | int y = row; |
| | | //2楼 |
| | | if (floor == 1 && lev == 1) { |
| | | x = generateMap1Bay(bay); |
| | | } |
| | | //2楼 |
| | | if (floor == 2) { |
| | | y = generateMap2Row(row); |
| | | //y = generateMap2Bay(bay); |
| | | } |
| | | ////3楼 |
| | | if (floor == 3) { |
| | | y = generateMap3Row(row); |
| | | // x = generateMap3Bay(bay); |
| | | } |
| | | |
| | | ArrayList rowData = arrayLists.get(x); |
| | | Object o = rowData.get(y); |
| | | |
| | | JSONObject jsonObject = JSON.parseObject(o.toString()); |
| | | jsonObject.put("value", "0"); |
| | | |
| | | jsonObject.put("locNo", locMast.getLocNo());//设置库位号 |
| | | jsonObject.put("locSts", locMast.getLocSts());//库位状态 |
| | | //更新list |
| | | rowData.set(y, jsonObject); |
| | | arrayLists.set(x, rowData); |
| | | Integer bay = locMast.getMapBay1(); |
| | | Integer rightSide = locMast.getRightSide(); |
| | | int x = bay; |
| | | int y = row; |
| | | if (floor == 3) { |
| | | y = generateMap3Row(rowIntegers, row); |
| | | } else if (floor == 1 && lev == 1) { |
| | | x = generateMap1Bay(rowIntegers, bay); |
| | | } else { |
| | | y = generateMap4Row(rowIntegers, row); |
| | | } |
| | | |
| | | ArrayList rowData = arrayLists.get(x); |
| | | Object o = rowData.get(y); |
| | | |
| | | JSONObject jsonObject = JSON.parseObject(o.toString()); |
| | | jsonObject.put("value", "0"); |
| | | |
| | | jsonObject.put("locNo", locMast.getLocNo());//设置库位号 |
| | | jsonObject.put("locSts", locMast.getLocSts());//库位状态 |
| | | //更新list |
| | | rowData.set(y, jsonObject); |
| | | arrayLists.set(x, rowData); |
| | | } |
| | | |
| | | return JSONObject.toJSONString(arrayLists); |
| | | } |
| | | |
| | | private Integer generateMap1Bay(int bay) { |
| | | private Integer generateMap1Bay(List<Integer> rightSide,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]) { |
| | | for (int i = 0; i < rightSide.size(); i++) { |
| | | if (bay > rightSide.get(i)) { |
| | | y++; |
| | | } |
| | | } |
| | |
| | | |
| | | private Integer generateMap4Row(List<Integer> rightSide, int row) { |
| | | int x = row; |
| | | // if (rightSide == 0) { |
| | | // x++; |
| | | // } |
| | | for (int i = 0; i < rightSide.size(); i++) { |
| | | if (row > rightSide.get(i)) { |
| | | x++; |
| | |
| | | |
| | | } |
| | | |
| | | private Integer generateMap2Row(int row) { |
| | | private Integer generateMap2Row(List<Integer> rightSide,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]) { |
| | | for (int i = 0; i < rightSide.size(); i++) { |
| | | if (row > rightSide.get(i)) { |
| | | x++; |
| | | } |
| | | } |
| | | if (row > 20) x += 9; |
| | | |
| | | return x; |
| | | |
| | |
| | | return y; |
| | | } |
| | | |
| | | private Integer generateMap3Row(int row) { |
| | | private Integer generateMap3Row(List<Integer> rightSide,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]) { |
| | | for (int i = 0; i < rightSide.size(); i++) { |
| | | if (row > rightSide.get(i)) { |
| | | x++; |
| | | } |
| | | } |