自动化立体仓库 - WMS系统
LSH
2023-08-04 8c49659c1c7f26b6014949538165ab4025aa8861
#低频最外侧连带出库
2个文件已修改
94 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/Utils.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -170,6 +170,10 @@
        for (StockOutParam.LocDetl locDetl : param.getLocDetls()) {
            //获取同一库位组的外侧库位号
            List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo());
            if (Utils.getBay(locDetl.getLocNo())>=21){
                groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locDetl.getLocNo());
            }
            for (String locNo : groupOuterSingleLoc) {
                //每个库位的库位明细
                if(locs.contains(locNo)) continue;
src/main/java/com/zy/asrs/utils/Utils.java
@@ -472,6 +472,96 @@
        }
    }
    // 获取库位前侧全部低频区域库位组
    public static List<String> getGroupOuterSingleLocLowFrequency(String locNo){
        int row = getRow(locNo);
        switch (row) {
            case 1:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(3), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(2), 2) + locNo.substring(2));
                }};
            case 2:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(3), 2) + locNo.substring(2));
                }};
            case 3:
                return new ArrayList<>();
            case 4:
            case 5:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(4), 2) + locNo.substring(2));
                }};
            case 6:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(4), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(5), 2) + locNo.substring(2));
                }};
            case 7:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(4), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(5), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
                }};
            case 8:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(11), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
                }};
            case 9:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(11), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
                }};
            case 10:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(11), 2) + locNo.substring(2));
                }};
            case 11:
                return new ArrayList<>();
            case 12:
            case 13:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(12), 2) + locNo.substring(2));
                }};
            case 14:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(12), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(13), 2) + locNo.substring(2));
                }};
            case 15:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(18), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
                }};
            case 16:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(18), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
                }};
            case 17:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(18), 2) + locNo.substring(2));
                }};
            case 18:
                return new ArrayList<>();
            case 19:
            case 20:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(19), 2) + locNo.substring(2));
                }};
            case 21:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(19), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(20), 2) + locNo.substring(2));
                }};
            default:
                throw new RuntimeException("库位解析异常");
        }
    }
    // 注意顺序
    public static List<String> getGroupOuterLoc(String locNo){
        int row = getRow(locNo);