自动化立体仓库 - WMS系统
#
18516761980
2023-03-04 cc3f826987484580f7275f5bb18d35c0c3e1ed78
src/main/java/com/zy/asrs/utils/Utils.java
@@ -199,6 +199,27 @@
    }
    public static Integer getInnermostRow(String locNo){
        int row = getRow(locNo);
        switch (row) {
            case 1:
            case 2:
            case 3:
            case 4:
                return 1;
            case 5:
            case 6:
            case 7:
            case 8:
            case 9:
            case 10:
            case 11:
                return 11;
            default:
                throw new RuntimeException("库位解析异常");
        }
    }
    public static List<Integer> getGroupLoc(Integer row){
        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
            return CommonService.FIRST_GROUP_ROW_LIST;
@@ -213,17 +234,17 @@
    public static List<String> getGroupOuterLoc(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 (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
            for (Integer integer : CommonService.SECOND_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);
        } else if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
            List<Integer> clone = Arrays.asList(new Integer[CommonService.FIRST_GROUP_ROW_LIST.size()]);
            Collections.copy(clone, CommonService.FIRST_GROUP_ROW_LIST);
            Collections.reverse(clone);
            for (Integer integer : clone) {
                if (integer > row) {
@@ -238,13 +259,17 @@
        return result;
    }
    public static void main(String[] args) {
        System.out.println(JSON.toJSONString(getGroupOuterLoc("0200101")));
    }
    // 内侧方向的货位  优先入库方向/优先出库方向 ===>> 反之
    public static List<String> getGroupInsideLoc(String locNo){
        int row = getRow(locNo);
        List<String> result = new ArrayList<>();
        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
            List<Integer> clone = Arrays.asList(new Integer[CommonService.FIRST_GROUP_ROW_LIST.size()]);
            Collections.copy(clone, CommonService.FIRST_GROUP_ROW_LIST);
        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) {
@@ -253,8 +278,8 @@
                    break;
                }
            }
        } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
            for (Integer integer : CommonService.SECOND_GROUP_ROW_LIST) {
        } else 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 {
@@ -274,17 +299,17 @@
    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 (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
            for (Integer integer : CommonService.SECOND_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);
        } else if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
            List<Integer> clone = Arrays.asList(new Integer[CommonService.FIRST_GROUP_ROW_LIST.size()]);
            Collections.copy(clone, CommonService.FIRST_GROUP_ROW_LIST);
            Collections.reverse(clone);
            for (Integer integer : clone) {
                if (integer > row) {
@@ -300,10 +325,6 @@
            Collections.reverse(result);
        }
        return result;
    }
    public static void main(String[] args) {
        System.out.println(JSON.toJSONString(getGroupOuterLoc("0500201")));
    }
}