| | |
| | | int sRow = rowLastno.getsRow(); |
| | | int eRow = rowLastno.geteRow(); |
| | | int crnNumber = rowLastno.getCrnQty(); |
| | | |
| | | int sCrnNo= rowLastno.getsCrnNo()!=null?rowLastno.getsCrnNo():1; |
| | | |
| | | // ===============>>>> 开始执行 |
| | | curRow = rowLastno.getCurrentRow(); |
| | |
| | | curRow = moveCrnNo * 4 - 2; |
| | | } |
| | | } |
| | | |
| | | log.info("\ncurRow:\n{}",curRow); |
| | | //此程序用于优化堆垛机异常时的运行时间 |
| | | for (int i = times; i < crnNumber * 2; i++) { |
| | | log.info("\ni:\n{}",i); |
| | | log.info("\ntimes:\n{}",times); |
| | | log.info("\ncrnNumber:\n{}",crnNumber); |
| | | int[] locNecessaryParameters = Utils.LocNecessaryParameters(rowLastno, curRow, crnNumber); |
| | | crnNo = locNecessaryParameters[2]; |
| | | log.info("\ncrnNo:\n{}",crnNo); |
| | | if (basCrnpService.checkSiteError(crnNo, true)) { |
| | | nearRow = locNecessaryParameters[3]; |
| | | List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() |
| | |
| | | .eq("frozen", 0) |
| | | .eq("deleted", 0) |
| | | .eq("whs_type", rowLastnoType.getType().longValue())); |
| | | int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100)); |
| | | // log.info("\nlocMasts:\n{}",locMasts); |
| | | int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>() |
| | | .eq("crn_no", crnNo).le("io_type", 100)); |
| | | if (locMasts.size() - crnCountO <= 2) { |
| | | if(curRow+2==7){ |
| | | |
| | |
| | | } |
| | | break; |
| | | } else { |
| | | // curRow = crnNo +2;// crnNo=3 curRow=5 |
| | | // if (curRow == 9||curRow==10) { |
| | | // curRow = 1; |
| | | // } |
| | | |
| | | int nextCrnNo=crnNo + 1;//下一个堆垛机号 |
| | | if(nextCrnNo> sCrnNo+crnNumber-1){//下一台大于 |
| | | nextCrnNo=sCrnNo; |
| | | } |
| | | if(nextCrnNo==sCrnNo){ |
| | | curRow=0; |
| | | }else { |
| | | curRow = sRow + (nextCrnNo - sCrnNo) * 4; |
| | | } |
| | | times++; |
| | | } |
| | | } |
| | |
| | | BasDevp staNo = null; |
| | | |
| | | if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) { |
| | | int selectedCrnNo=crnNo; |
| | | // 获取目标站 |
| | | wrapper = new EntityWrapper<StaDesc>() |
| | | .eq("type_no", staDescId) |
| | |
| | | } |
| | | // 更新库位排号 |
| | | if (Cools.isEmpty(locMast)) { |
| | | rowLastno.setCurrentRow(curRow); |
| | | int crnNoForRotation=crnNo!=0?crnNo:selectedCrnNo; |
| | | int nextCrnNoAfterSuccess=(crnNoForRotation>=sCrnNo+crnNumber-1?sCrnNo:crnNoForRotation+1); |
| | | int curRowToSave = (nextCrnNoAfterSuccess==sCrnNo)?0:sRow+(nextCrnNoAfterSuccess-sCrnNo)*4; |
| | | |
| | | rowLastno.setCurrentRow(curRowToSave); |
| | | log.info("\ncurRowToSave:\n{}",curRowToSave); |
| | | rowLastnoService.updateById(rowLastno); |
| | | } |
| | | } |