自动化立体仓库 - WMS系统
#
zwl
21 小时以前 da5d4106e294a229e3bf72939c6b7630e6345d76
src/main/java/com/zy/asrs/utils/Utils.java
@@ -35,6 +35,91 @@
        return (float) Arith.multiplys(2, f, 1);
    }
    public static int armStaNo(int armNo,int staNo) {
        switch (armNo){
            case 1:
                switch (staNo){
                    case 0:
                        return 7;
                    case 1:
                        return 8;
                    case 2:
                        return 101;
                    case 3:
                        return 102;
                    default:
                        return 0;
                }
            case 2:
                switch (staNo){
                    case 0:
                        return 5;
                    case 1:
                        return 6;
                    case 2:
                        return 101;
                    case 3:
                        return 102;
                    default:
                        return 0;
                }
            case 3:
                switch (staNo){
                    case 0:
                        return 3;
                    case 1:
                        return 4;
                    case 2:
                        return 101;
                    case 3:
                        return 102;
                    default:
                        return 0;
                }
            case 4:
                switch (staNo){
                    case 0:
                        return 1;
                    case 1:
                        return 2;
                    case 2:
                        return 101;
                    case 3:
                        return 102;
                    default:
                        return 0;
                }
            case 5:
                switch (staNo){
                    case 0:
                        return 11;
                    case 1:
                        return 12;
                    case 2:
                        return 101;
                    case 3:
                        return 102;
                    default:
                        return 0;
                }
            case 6:
                switch (staNo){
                    case 0:
                        return 13;
                    case 1:
                        return 14;
                    case 2:
                        return 101;
                    case 3:
                        return 102;
                    default:
                        return 0;
                }
            default:
                return 0;
        }
    }
    public static String zerofill(String msg, Integer count) {
        if (msg.length() == count) {
            return msg;
@@ -338,14 +423,14 @@
            if (curRow < sRow || curRow > (crnNumber * 4 + sRow - 1)) {
                throw new CoolException("库位排号异常:排号:" + curRow);
            }
            if ((curRow - sRow) % 4 == 0) {
            if ((curRow - (sRow-1)) % 4 == 0) {
                necessaryParameters[1] = curRow;    //curRow   最深库位排
                necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo - 1;     //crnNo     堆垛机号
                necessaryParameters[3] = curRow + 1;    //nearRow  最浅库位排
            } else if ((curRow - sRow + 1) % 4 == 0) {
                necessaryParameters[1] = curRow;    //curRow   最深库位排
                necessaryParameters[2] = (curRow - sRow + 1) / 4 + sCrnNo - 1;     //crnNo     堆垛机号
                necessaryParameters[2] = (curRow - (sRow-1)) / 4 + sCrnNo - 1;     //crnNo     堆垛机号
                necessaryParameters[3] = curRow - 1;    //nearRow  最浅库位排
            } else if ((curRow - (sRow-1)-1) % 4 == 0) {
                necessaryParameters[1] = curRow;    //curRow   最深库位排
                necessaryParameters[2] = (curRow - (sRow-1)-1) / 4 + sCrnNo;     //crnNo     堆垛机号
                necessaryParameters[3] = curRow + 1;    //nearRow  最浅库位排
            } else {
                throw new CoolException("库位排号异常:排号:" + curRow);
            }
@@ -654,4 +739,38 @@
        return result;
    }
    //将wms库位号转换成wcs库位号
    public static String WMSLocToWCSLoc(String locNo) {
        String row = locNo.substring(0, 2);
        int i = 0;
        for (char c : row.toCharArray()) {
            if (c == '0') {
                i++;
            }else {
                break;
            }
        }
        row = row.substring(i);
        int j = 0;
        String boy = locNo.substring(2, 5);
        for (char c : boy.toCharArray()) {
            if (c == '0') {
                j++;
            }else {
                break;
            }
        }
        boy = boy.substring(j);
        int k = 0;
        String lev = locNo.substring(5);
        for (char c : lev.toCharArray()) {
            if (c == '0') {
                k++;
            }else {
                break;
            }
        }
        lev = lev.substring(k);
        return row + "-" + boy + "-" + lev;
    }
}