自动化立体仓库 - WCS系统
zjj
2023-11-27 15dfde1636a2aff5e12ee1d1c53007f6e4c12391
src/main/java/com/zy/asrs/utils/Utils.java
@@ -6,6 +6,7 @@
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -14,6 +15,67 @@
public class Utils {
    private static final DecimalFormat fmt = new DecimalFormat("##0.00");
    //转换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);
            if (split[4].equals("01")){
                ints = Arrays.copyOfRange(ints, wcsRow.length / 2,wcsRow.length-1);
            }else {
                ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2);
            }
        }else {
            ints = Arrays.copyOfRange(wcsRow, wcsRow.length / 2,wcsRow.length-1 );
            if (split[4].equals("01")){
                ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2);
            }else {
                ints = Arrays.copyOfRange(ints, wcsRow.length / 2,wcsRow.length-1);
            }
        }
        int i = ints[0];
        String wcsLocNo = "";
        if (i>9){
            wcsLocNo = i+"0"+split[1]+split[2];
        }else {
            wcsLocNo = "0"+i+"0"+split[1]+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){
        if (f == null || f == 0f || Float.isNaN(f)) {
@@ -214,14 +276,15 @@
    }
    public static void main(String[] args) {
        SlaveProperties slaveProperties = new SlaveProperties();
        slaveProperties.setDoubleDeep(true);
        List<Integer> list = new ArrayList<>();
        list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12);
        slaveProperties.setDoubleLocs(list);
        slaveProperties.setGroupCount(4);
        Integer deepRow = getDeepRow(slaveProperties, 6);
        System.out.println(deepRow);
//        SlaveProperties slaveProperties = new SlaveProperties();
//        slaveProperties.setDoubleDeep(true);
//        List<Integer> list = new ArrayList<>();
//        list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12);
//        slaveProperties.setDoubleLocs(list);
//        slaveProperties.setGroupCount(4);
//        Integer deepRow = getDeepRow(slaveProperties, 6);
//        System.out.println(deepRow);
        String wcsLocNo = getWcsLocNo("03-52-01-01-02");
        System.out.println(wcsLocNo);
    }
}