自动化立体仓库 - WMS系统
zyx
2024-04-11 4dbb96434dceef64f00cc118853e131b04bf6ba1
src/main/java/com/zy/asrs/controller/AgvMapController.java
@@ -49,6 +49,10 @@
    @GetMapping("/map/getData/{floor}/{lev}/auth")
    @ManagerAuth
    public String getMapData(@PathVariable("floor") Integer floor, @PathVariable("lev") Integer lev) {
        //to do
        floor = 2;
        BasMap basMap = agvBasMapService.selectLatestMap(1,floor);
        //解析json地图数据
        List<ArrayList> arrayLists = JSON.parseArray(basMap.getData(), ArrayList.class);
@@ -58,16 +62,16 @@
        List<AgvLocMast> locMasts = agvLocMastService.selectLocByLevAndFloor(lev,floor);
        for (AgvLocMast locMast : locMasts) {
            Integer row = locMast.getRow1();
            Integer bay = 34 - locMast.getBay1();
            Integer bay = locMast.getBay1();
            int x = bay;
            int y = row;
            ////1楼
            //if(floor == 1){
                x = generateMap1Row(row);
            //    y = generateMap1Bay(bay);
            //}
            //2楼
            if(floor == 2){
                y = generateMap2Row(row);
                //y = generateMap2Bay(bay);
            }
            ////3楼
            //if(floor == 3){
            //    y = generateMap3Row(row);
@@ -90,34 +94,21 @@
        return JSONObject.toJSONString(arrayLists);
    }
    private Integer generateMap1Row(int row){
        int x = 21-row;
        if(row > 1){
            x --;
    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 > 3){
            x --;
        }
        if(row > 5){
            x --;
        }
        if(row > 7){
            x --;
        }
        if(row > 9){
            x --;
        }
        if(row > 10){
            x --;
        }
        if(row > 12){
            x --;
        }
        if(row >20) x += 9;
        return x;
    }
    private Integer generateMap1Bay(int bay){
    private Integer generateMap2Bay(int bay){
        int y = bay;
        if(y > 28){
            y ++;