自动化立体仓库 - WMS系统
#
LSH
2023-10-23 00761a8fca6547ebb75c52ee7ba5f20ee64495c9
src/main/java/com/zy/common/service/CommonService.java
@@ -50,6 +50,7 @@
    /**
     * 生成工作号
     *
     * @param wrkMk
     * @return workNo(工作号)
     */
@@ -89,6 +90,7 @@
    /**
     * 检索库位号
     *
     * @param whsType 类型 1:双深式货架
     * @param staDescId 路径ID
     * @param sourceStaNo 源站
@@ -126,29 +128,23 @@
        // ===============>>>> 开始执行
        curRow = rowLastno.getCurrentRow();
        //此程序用于优化堆垛机异常时的运行时间
        for (int i = times; i < crnNumber; i++) {
        int[] locNecessaryParameters  = Utils.LocNecessaryParameters(whsType, curRow,crnNumber);
        rowCount=locNecessaryParameters[0];
        curRow=locNecessaryParameters[1];
        crnNo=locNecessaryParameters[2];
        nearRow=locNecessaryParameters[3];
        if (!basCrnpService.checkSiteError(crnNo,true)){  //此程序用于优化堆垛机异常时的运行时间
            times++;
            for (int i=times;i<Utils.RowCount(whsType,curRow,crnNumber);i++){
                locNecessaryParameters  = Utils.LocNecessaryParameters(whsType, curRow,crnNumber);
                rowCount=locNecessaryParameters[0];
                curRow=locNecessaryParameters[1];
                crnNo=locNecessaryParameters[2];
                nearRow=locNecessaryParameters[3];
                if (basCrnpService.checkSiteError(crnNo,true)){
                rowCount =  locNecessaryParameters[0];
                nearRow = locNecessaryParameters[3];
                    break;
                }else {
                    times++;
                }
            }
            if (times==Utils.RowCount(whsType,curRow,crnNumber)){
        if (nearRow == 0) {
                throw new CoolException("无可用堆垛机");
            }
        }
//        // 靠近摆放规则 --- 同天同规格物料 //分离版
//        if (!Cools.isEmpty(matnr) &&  (staDescId == 1 || staDescId == 11 || staDescId == 111)) {