自动化立体仓库 - WMS系统
zhangc
2024-12-20 78ff74dfc9c42ee12993ac01c43063d0432231e3
Merge remote-tracking branch 'origin/phyzasrs-erp-4' into phyzasrs-erp-4
4个文件已修改
66 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/AgvMapController.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/AgvLocMastService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java
@@ -35,6 +35,12 @@
    List<String> queryContainerTypeByLocType1(@Param("locType1")Short locType1);
    @Select("SELECT distinct map_row1 as mapRow1,right_side as rightSide FROM agv_loc_mast WHERE lev1 = #{lev1} And floor = #{floor} order by map_row1")
    @Select("SELECT distinct map_row1 as mapRow1,map_bay1 as mapBay1,right_side as rightSide FROM agv_loc_mast WHERE lev1 = #{lev1} And floor = #{floor} order by map_row1")
    List<AgvLocMast> selectDistinctLocByLevAndFloor(@Param("lev1")Integer lev1,@Param("floor")Integer floor);
    @Select("SELECT distinct map_row1 as mapRow1,right_side as rightSide FROM agv_loc_mast WHERE lev1 = #{lev1} And floor = #{floor} order by map_row1")
    List<AgvLocMast> selectDistinctLocByLevAndFloorMaprow1(@Param("lev1")Integer lev1,@Param("floor")Integer floor);
    @Select("SELECT distinct map_bay1 as mapBay1,right_side as rightSide FROM agv_loc_mast WHERE lev1 = #{lev1} And floor = #{floor} order by map_bay1")
    List<AgvLocMast> selectDistinctLocByLevAndFloorMapbay1(@Param("lev1")Integer lev1,@Param("floor")Integer floor);
}
src/main/java/com/zy/asrs/service/AgvLocMastService.java
@@ -35,4 +35,8 @@
    List<AgvLocMast> selectDistinctLocByLevAndFloor(int lev, int floor);
    List<AgvLocMast> selectDistinctLocByLevAndFloorMaprow1(int lev, int floor);
    List<AgvLocMast> selectDistinctLocByLevAndFloorMapbay1(int lev, int floor);
}
src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
@@ -420,4 +420,16 @@
        return this.agvLocMastMapper.selectDistinctLocByLevAndFloor(lev,floor);
    }
    @Override
    public List<AgvLocMast> selectDistinctLocByLevAndFloorMaprow1(int lev, int floor) {
        return this.agvLocMastMapper.selectDistinctLocByLevAndFloorMaprow1(lev,floor);
    }
    @Override
    public List<AgvLocMast> selectDistinctLocByLevAndFloorMapbay1(int lev, int floor) {
        return this.agvLocMastMapper.selectDistinctLocByLevAndFloorMapbay1(lev,floor);
    }
}