自动化立体仓库 - WMS系统
zhangc
2025-01-07 ce43df438a4bbef5b9ffaed0a33a97db6e88fbf1
src/main/java/com/zy/asrs/controller/AgvMapController.java
@@ -62,20 +62,36 @@
        //获取当前楼层库位数据
        List<AgvLocMast> locMasts = agvLocMastService.selectLocByLevAndFloor(lev, floor);
        List<AgvLocMast> distinctRow = agvLocMastService.selectDistinctLocByLevAndFloor(lev, floor);
        List<Integer> integers = new ArrayList<>();
        List<AgvLocMast> distinctRow = new ArrayList<>();
        List<Integer> rowIntegers = new ArrayList<>();
        int min = 0;
        int i =1;
        for (AgvLocMast locMast : distinctRow) {
            if (min > locMast.getMapRow1()) {
                min = locMast.getMapRow1();
            }
            if (locMast.getRightSide() == 1) {
                integers.add(i);
            }
            i++;
        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) {
                    rowIntegers.add(i);
                }
                i++;
            }
        }
        for (AgvLocMast locMast : locMasts) {
            Integer row = locMast.getMapRow1();
            if (row < 0) {
@@ -88,11 +104,11 @@
            int x = bay;
            int y = row;
            if (floor == 3) {
                y = generateMap3Row(integers, row);
                y = generateMap3Row(rowIntegers, row);
            } else if (floor == 1 && lev == 1) {
                x = generateMap1Bay(integers, bay);
                x = generateMap1Bay(rowIntegers, bay);
            } else {
                y = generateMap4Row(integers, row);
                y = generateMap4Row(rowIntegers, row);
            }
            ArrayList rowData = arrayLists.get(x);