#
LSH
2023-02-15 a6316a8425c65e94a558ebce84db7e51000d5096
src/main/java/com/zy/asrs/utils/Utils.java
@@ -2,7 +2,6 @@
import com.core.common.Arith;
import com.core.common.Cools;
import com.zy.core.enums.SteABType;
import com.zy.core.properties.SlaveProperties;
import java.text.DecimalFormat;
@@ -225,7 +224,8 @@
    /**
     * 获取 深库位对应的浅库位组
     */
    public static String getShallowLocs(String deepLoc){
    public static String[] getShallowLocs(String deepLoc){
        String[] locsArr = null;
        String locs="";
        int row = getRow(deepLoc);
        switch (row){
@@ -270,13 +270,17 @@
                locs += zerofill(String.valueOf(row-1),2) + deepLoc.substring(2);
                break;
        }
        return locs;
        if(!Cools.isEmpty(locs)){
            locsArr = locs.split(",");
        }
        return locsArr;
    }
    /**
     * 获取 浅库位对应的深库位组
     */
    public static String getDeepLocs(String shallowLoc){
    public static String[] getDeepLocs(String shallowLoc){
        String[] locsArr = null;
        String locs="";
        int row = getRow(shallowLoc);
        switch (row){
@@ -288,19 +292,19 @@
            case 3:
            case 10:
            case 17:
                locs += zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
                locs += "," + zerofill(String.valueOf(row-2),2) + shallowLoc.substring(2);
                locs += zerofill(String.valueOf(row-2),2) + shallowLoc.substring(2);
                locs += "," + zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
                break;
            case 4:
                locs += zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
                locs += zerofill(String.valueOf(row+3),2) + shallowLoc.substring(2);
                locs += "," + zerofill(String.valueOf(row+2),2) + shallowLoc.substring(2);
                locs += "," + zerofill(String.valueOf(row+3),2) + shallowLoc.substring(2);
                locs += "," + zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
                break;
            case 5:
            case 12:
            case 19:
                locs += zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
                locs += "," + zerofill(String.valueOf(row+2),2) + shallowLoc.substring(2);
                locs += zerofill(String.valueOf(row+2),2) + shallowLoc.substring(2);
                locs += "," + zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
                break;
            case 6:
            case 13:
@@ -309,12 +313,15 @@
                break;
            case 11:
            case 18:
                locs += zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
                locs += zerofill(String.valueOf(row-3),2) + shallowLoc.substring(2);
                locs += "," + zerofill(String.valueOf(row-2),2) + shallowLoc.substring(2);
                locs += "," + zerofill(String.valueOf(row-3),2) + shallowLoc.substring(2);
                locs += "," + zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
                break;
        }
        return locs;
        if(!Cools.isEmpty(locs)){
            locsArr = locs.split(",");
        }
        return locsArr;
    }
    /**
@@ -340,17 +347,18 @@
    }
    public static void main(String[] args) {
        String shallowLocs = getShallowLocs("2100203");
        String deepLocs = getDeepLocs("2100203");
        System.out.println("shallowLocs ==>> " + shallowLocs);
        System.out.println("deepLocs ==>> " + deepLocs);
        String[] shallowArr = null, deepArr = null;
        if (shallowLocs.indexOf(',') >= 0) {
            shallowArr = shallowLocs.split(",");
        }
        if (deepLocs.indexOf(',') >= 0) {
            deepArr = deepLocs.split(",");
        }
//        String shallowLocs = getShallowLocs("2100203");
//        String deepLocs = getDeepLocs("2100203");
//        System.out.println("shallowLocs ==>> " + shallowLocs);
//        System.out.println("deepLocs ==>> " + deepLocs);
        String[] shallowArr = getShallowLocs("1700203");;
        String[] deepArr = getDeepLocs("1700203");
//        if (shallowLocs.indexOf(',') >= 0) {
//            shallowArr = shallowLocs.split(",");
//        }
//        if (deepLocs.indexOf(',') >= 0) {
//            deepArr = deepLocs.split(",");
//        }
        for(String str : deepArr){
            System.out.println(str);
@@ -366,4 +374,92 @@
        System.out.println(deepRow);
    }
    public static List<String> getGroupInsideLoc(String locNo){
        int row = getRow(locNo);
        switch (row) {
            case 1:
            case 21:
            case 14:
            case 15:
            case 7:
            case 8:
                return new ArrayList<>();
            case 2:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(1), 2) + locNo.substring(2));
                }};
            case 3:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(1), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(2), 2) + locNo.substring(2));
                }};
            case 4:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(5), 2) + locNo.substring(2));
                }};
            case 5:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
                }};
            case 6:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
                }};
            case 9:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
                }};
            case 10:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
                }};
            case 11:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
                }};
            case 12:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(14), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(13), 2) + locNo.substring(2));
                }};
            case 13:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(14), 2) + locNo.substring(2));
                }};
            case 16:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
                }};
            case 17:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
                }};
            case 18:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
                }};
            case 19:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(21), 2) + locNo.substring(2));
                    add(zerofill(String.valueOf(20), 2) + locNo.substring(2));
                }};
            case 20:
                return new ArrayList<String>() {{
                    add(zerofill(String.valueOf(21), 2) + locNo.substring(2));
                }};
            default:
                throw new RuntimeException("库位解析异常");
        }
    }
}