自动化立体仓库 - WCS系统
野心家
2024-09-04 bfc2fee36897a0e6ca4d77701cf4d8f6a7281aec
src/main/java/com/zy/asrs/utils/Utils.java
@@ -3,13 +3,12 @@
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;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.*;
/**
 * Created by vincent on 2020/8/27
@@ -224,9 +223,18 @@
     */
    public static String getShallowLoc(SlaveProperties slaveProperties, String deepLoc) {
        int row = getRow(deepLoc);
        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
        int shallowRow = remainder == 1 ? (row + 1) : (row - 1);
//        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
        int shallowRow  = getShallowRow(row);
        return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2);
    }
    public static int getShallowRow(Integer row){
        Map<Integer, Integer> map = new HashMap<>();
        map.put(1,2);map.put(4,3);
        map.put(7,8);map.put(10,9);
        map.put(11,12);map.put(14,13);
        map.put(15,16);map.put(18,17);
        map.put(19,20);
        return map.get(row);
    }
    /**
@@ -377,4 +385,61 @@
        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;
    }
}