自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-10-17 4ef9743e298277191d68482f5c9e0647a03f74bf
src/main/java/com/zy/asrs/utils/Utils.java
@@ -355,13 +355,14 @@
        }
    }
    // 注意顺序
    public static List<String> getGroupOuterLoc(String locNo){
        int row = getRow(locNo);
        switch (row) {
            case 1:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(2), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(3), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(2), 2) + locNo.substring(2));
                }};
            case 2:
                return new ArrayList<String>() {{
@@ -391,14 +392,14 @@
                }};
            case 8:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
                    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(10), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(11), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
                }};
            case 10:
                return new ArrayList<String>() {{
@@ -415,14 +416,14 @@
                }};
            case 15:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
                    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(17), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(18), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
                }};
            case 17:
                return new ArrayList<String>() {{
@@ -442,4 +443,92 @@
        }
    }
    // 注意顺序
    public static List<String> getGroupInsideLoc(String locNo){
        int row = getRow(locNo);
        switch (row) {
            case 1:
            case 21:
            case 14:
            case 15:
            case 7:
            case 8:
                return new ArrayList<>();
            case 2:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(1), 2) + locNo.substring(2));
                }};
            case 3:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(1), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(2), 2) + locNo.substring(2));
                }};
            case 4:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(5), 2) + locNo.substring(2));
                }};
            case 5:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
                }};
            case 6:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
                }};
            case 9:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
                }};
            case 10:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
                }};
            case 11:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
                }};
            case 12:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(14), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(13), 2) + locNo.substring(2));
                }};
            case 13:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(14), 2) + locNo.substring(2));
                }};
            case 16:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
                }};
            case 17:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
                }};
            case 18:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
                }};
            case 19:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(21), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(20), 2) + locNo.substring(2));
                }};
            case 20:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(21), 2) + locNo.substring(2));
                }};
            default:
                throw new RuntimeException("库位解析异常");
        }
    }
}