自动化立体仓库 - WMS系统
#
LSH
2022-11-24 b4533e8fae0351c1f431e63359e15dfb58589ac2
#
1个文件已修改
146 ■■■■■ 已修改文件
src/main/java/com/zy/common/service/CommonService.java 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java
@@ -188,70 +188,23 @@
                }
            }
        }
        // 如果没有相近物料,则按规则轮询货架
        if (null == locMast){
            switch (curRow){
                case 1:
                case 3:
                case 5:
                    curRow=curRow+2;
            curRow = getCurRow(curRow);
            if (curRow == 0){
                crnNo = 0;
            }else if( curRow <= 8 && curRow > 0){
                    crnNo=(curRow+1)/2;
                    break;
                case 7:
                    crnNo=1;
                    curRow=2;
                    break;
                case 13:
            }else if (curRow <= 12 && curRow >= 9){
                crnNo=5;
            }else if (curRow <= 14 && curRow >= 13){
                    crnNo=6;
                    curRow=14;
                    break;
                case 2:
                case 4:
                case 6:
                    curRow=curRow+2;
                    crnNo=curRow/2;
                    break;
                case 8:
                    crnNo=1;
                    curRow=1;
                    break;
                case 14:
                    crnNo=6;
                    curRow=13;
                    break;
                case 9:
                    crnNo=5;
                    curRow=12;
                    break;
                case 10:
                    crnNo=5;
                    curRow=11;
                    break;
                case 11:
                    crnNo=5;
                    curRow=9;
                    break;
                case 12:
                    crnNo=5;
                    curRow=10;
                    break;
                case 15:
            }else if (curRow <= 18 && curRow >= 15){
                    crnNo=7;
                    curRow=18;
                    break;
                case 16:
                    crnNo=7;
                    curRow=17;
                    break;
                case 17:
                    crnNo=7;
                    curRow=15;
                    break;
                case 18:
                    crnNo=7;
                    curRow=16;
                    break;
                default:
                    throw new CoolException("根据入库站获取库位排号分配失败,入库站:" + sourceStaNo);
            }
            if (curRow!=0 && !basCrnpService.checkSiteError(crnNo, true)) {
                crnNo = 0;
            }
        }
@@ -383,35 +336,54 @@
    /**
     * 根据入库站获取库位排号分配
     */
    private Integer getWhsType(Integer sourceStaNo, int times) {
        if (times >= 16) {
            return 4;
    private Integer getCurRow(Integer curRow) {
        boolean sign=false;
        int count=0;
        while (!sign){
            count=count+1;
            if (count==5){
                return 0;
        }
        switch (sourceStaNo) {
            case 173:
            case 176:
            case 180:
            case 185:
                return 1;
            case 189:
            case 194:
            case 198:
            case 202:
                return 2;
            case 206:
//            case 211:
//            case 215:
//            case 219:
//            case 223:
            case 227:
                return 3;
            case 305:
            case 303:
            case 301:
                return 4;
            switch (curRow){
                case 1:
                case 3:
                case 5:
                case 2:
                case 4:
                case 6:
                    curRow=curRow+2;
                    break;
                case 7:
                    curRow=2;
                    break;
                case 8:
                    curRow=1;
                    break;
                case 13:
                    return 14;
                case 14:
                    return 13;
                case 9:
                    return 12;
                case 10:
                    return 11;
                case 11:
                    return 9;
                case 12:
                    return 10;
                case 15:
                    return 18;
                case 16:
                    return 17;
                case 17:
                    return 15;
                case 18:
                    return 16;
            default:
                throw new CoolException("根据入库站获取库位排号分配失败,入库站:" + sourceStaNo);
                    throw new CoolException("库位排号异常:排号:"+curRow);
        }
            sign = basCrnpService.checkSiteError((curRow+1)/2, true);
    }
        return curRow;
    }
}