自动化立体仓库 - WMS系统
Junjie
2023-05-30 aa9e40ad6406192b5cd1b64701253dac5823a309
checkStockOutLocNo
1个文件已修改
68 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/utils/Utils.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/Utils.java
@@ -405,6 +405,72 @@
        }
    }
    // 获取当前库位出库前方库位组不包含最外侧库位
    public static List<String> getGroupOutWrkLoc(String locNo){
        int row = getRow(locNo);
        switch (row) {
            case 1:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(2), 2) + locNo.substring(2));
                }};
            case 2:
            case 3:
                return new ArrayList<>();
            case 4:
            case 5:
                return new ArrayList<>();
            case 6:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(5), 2) + locNo.substring(2));
                }};
            case 7:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(5), 2) + locNo.substring(2));
                }};
            case 8:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
                }};
            case 9:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
                }};
            case 10:
            case 11:
                return new ArrayList<>();
            case 12:
            case 13:
                return new ArrayList<>();
            case 14:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(13), 2) + locNo.substring(2));
                }};
            case 15:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
                }};
            case 16:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
                }};
            case 17:
            case 18:
                return new ArrayList<>();
            case 19:
            case 20:
                return new ArrayList<>();
            case 21:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(20), 2) + locNo.substring(2));
                }};
            default:
                throw new RuntimeException("库位解析异常");
        }
    }
    // 注意顺序
    public static List<String> getGroupOuterLoc(String locNo){
        int row = getRow(locNo);
@@ -599,7 +665,7 @@
            if (sign) {
                break;
            }
            List<String> groupInsideLoc = Utils.getGroupOuterLoc(locNo);
            List<String> groupInsideLoc = Utils.getGroupOutWrkLoc(locNo);
            if (!Cools.isEmpty(groupInsideLoc)) {
                for (String insideLoc : groupInsideLoc) {
                    if (locNos.contains(insideLoc)) {