自动化立体仓库 - WMS系统
whycq
2024-10-16 405e94c5d08e89c9bf2bd0820d39ceeaa049211d
src/main/java/com/zy/asrs/controller/AgvMapController.java
@@ -51,9 +51,9 @@
    public String getMapData(@PathVariable("floor") Integer floor, @PathVariable("lev") Integer lev) {
        //to do
        floor = 2;
//        floor = 2;
        BasMap basMap = agvBasMapService.selectLatestMap(1,floor);
        BasMap basMap = agvBasMapService.selectLatestMap(lev,floor);
        //解析json地图数据
        List<ArrayList> arrayLists = JSON.parseArray(basMap.getData(), ArrayList.class);
@@ -68,15 +68,22 @@
            int x = bay;
            int y = row;
            //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(x);
            Object o = rowData.get(y);
@@ -92,6 +99,31 @@
        }
        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 ++;
            }
        }
        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 ++;
            }
        }
        return x;
    }
    private Integer generateMap2Row(int row){
@@ -121,12 +153,13 @@
    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;
    }