| | |
| | | |
| | | /** |
| | | * 生成工作号 |
| | | * |
| | | * @param wrkMk |
| | | * @return workNo(工作号) |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 检索库位号 |
| | | * |
| | | * @param whsType 类型 1:双深式货架 |
| | | * @param staDescId 路径ID |
| | | * @param sourceStaNo 源站 |
| | |
| | | // ===============>>>> 开始执行 |
| | | 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)) { |