自动化立体仓库 - WCS系统
#
Junjie
7 天以前 d65679fefe52fc2bf2435825c65aec3a329e3b9e
src/main/java/com/zy/asrs/utils/Utils.java
@@ -3,6 +3,7 @@
import com.core.common.Arith;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.LocMast;
import com.zy.core.model.CrnSlave;
import com.zy.core.properties.SlaveProperties;
@@ -56,93 +57,6 @@
            s = 1;
        }
        return crnNo == 1 ? s : 3 - s;
    }
    //转换wms传输的库位号
    public static String getWcsLocNo(String locNo){
        String[] split = locNo.split("-");
        int[] wcsRow = getWcsRow(split[0]);
        int[] ints = null;
        if (split[3].equals("01")){
            ints = Arrays.copyOfRange(wcsRow, 0, (wcsRow.length+2-1) / 2);
            if (split[4].equals("01")){
                if (ints.length<2){
                }else {
                    ints = Arrays.copyOfRange(ints, ints.length / 2, ints.length);
                }
            }else {
                if (ints.length<2){
                }else {
                    ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1);
                }
            }
        }else {
            ints = Arrays.copyOfRange(wcsRow, (wcsRow.length+2-1) / 2,wcsRow.length );
            if (split[4].equals("01")){
                if (ints.length<2){
                }else {
                    ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1);
                }
            }else {
                if (ints.length<2){
                }else {
                    ints = Arrays.copyOfRange(ints, ints.length / 2, ints.length);
                }
            }
        }
        int i = ints[0];
        String wcsLocNo = "";
        Integer bay = Integer.parseInt(split[1])+1;
        String bay2 = "";
        if (bay>9){
            bay2 = bay.toString();
        }else {
            bay2 = "0"+bay;
        }
        if (i>9){
            wcsLocNo = i+"0"+bay2+split[2];
        }else {
            wcsLocNo = "0"+i+"0"+bay2+split[2];
        }
        return wcsLocNo;
    }
    public static int[] getWcsRow(String row){
        int[] array = null;
        switch (row){
            case "01":
                 array= new int[]{1, 2, 3, 4};
                break;
            case "02":
                 array= new int[]{5,6};
                break;
            case "03":
                 array= new int[]{7,8,9,10};
                break;
            case "04":
                 array= new int[]{11,12,13,14};
                break;
            case "05":
                 array= new int[]{15,16,17,18};
                break;
            case "06":
                 array= new int[]{19,20,21};
                break;
            default:
        }
        return array;
    }
    public static float scale(Float f){
@@ -381,7 +295,62 @@
//        slaveProperties.setGroupCount(4);
//        Integer deepRow = getDeepRow(slaveProperties, 6);
//        System.out.println(deepRow);
        String wcsLocNo = getWcsLocNo("01-01-01-01-01");
        System.out.println(wcsLocNo);
    }
    public static Integer StaNoCrnNo(Integer staNo) {
        switch (staNo){
            case 100:
            case 101:
                return 1;
            case 102:
            case 103:
                return 2;
            case 104:
            case 105:
                return 3;
            case 106:
            case 107:
                return 4;
            default:
                return 0;
        }
    }
    public static boolean locNoRowBoolean(Integer row) {
        switch (row){
            case 1:
            case 2:
            case 4:
            case 5:
            case 8:
            case 9:
            case 11:
            case 12:
                return true;
            case 3:
            case 6:
            case 7:
            case 10:
            case 13:
            default:
                return false;
        }
    }
    public static String Fusion(int x, int y, int z){
        String locNo="0"+x;
        if(z>=10){
            locNo=locNo+"0"+z;
        }else{
            locNo=locNo+"00"+z;
        }
        if(y>=10){
            locNo=locNo+y;
        }else {
            locNo=locNo+"0"+y;
        }
        return locNo;
    }
}