自动化立体仓库 - WMS系统
#
luxiaotao1123
2023-02-14 be8651536f81e44a3d071891594c6f38c29c0cf5
src/main/java/com/zy/asrs/utils/Utils.java
@@ -189,26 +189,12 @@
    public static Integer getOutLayerRow(String locNo, Boolean pakin){
        int row = getRow(locNo);
        // 入库
        if (pakin) {
            if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
                return 17;
            } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
                return 18;
            } else {
                return -1;
//                throw new RuntimeException("库位解析异常");
            }
        // 出库
        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
            return 4;
        } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
            return 5;
        } else {
            if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
                return 2;
            } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
                return 30;
            } else {
                return -1;
//                throw new RuntimeException("库位解析异常");
            }
            return -1;
        }
    }
@@ -252,10 +238,6 @@
        return result;
    }
    public static void main(String[] args) {
        System.out.println(JSON.toJSONString(getGroupInsideLoc("2300101")));
    }
    // 内侧方向的货位  优先入库方向/优先出库方向 ===>> 反之
    public static List<String> getGroupInsideLoc(String locNo){
        int row = getRow(locNo);
@@ -288,4 +270,40 @@
        return result;
    }
    // 外侧方向的货位  优先入库方向/优先出库方向 ===>> 反之
    public static List<String> getGroupOutsideLoc(String locNo){
        int row = getRow(locNo);
        List<String> result = new ArrayList<>();
        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
            for (Integer integer : CommonService.FIRST_GROUP_ROW_LIST) {
                if (integer < row) {
                    result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2));
                } else {
                    break;
                }
            }
        } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
            List<Integer> clone = Arrays.asList(new Integer[CommonService.SECOND_GROUP_ROW_LIST.size()]);
            Collections.copy(clone, CommonService.SECOND_GROUP_ROW_LIST);
            Collections.reverse(clone);
            for (Integer integer : clone) {
                if (integer > row) {
                    result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2));
                } else {
                    break;
                }
            }
        } else {
//            throw new RuntimeException("库位解析异常");
        }
        if (!Cools.isEmpty(result)) {
            Collections.reverse(result);
        }
        return result;
    }
    public static void main(String[] args) {
        System.out.println(JSON.toJSONString(getGroupOuterLoc("0500201")));
    }
}