|  |  |  | 
|---|
|  |  |  | for (LocMast mast : insideLocMast) { | 
|---|
|  |  |  | if (!mast.getLocSts().equals("D") | 
|---|
|  |  |  | && !mast.getLocSts().equals("F") | 
|---|
|  |  |  | && !mast.getLocSts().equals("O") | 
|---|
|  |  |  | && !mast.getLocSts().equals("X")) { | 
|---|
|  |  |  | //D、F、X(不能选定这个外侧库位) | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | if (locMast != null) { | 
|---|
|  |  |  | //找到库位,返回dto | 
|---|
|  |  |  | sign=true; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //单品没有找到库位,找高频混放区域库位 | 
|---|
|  |  |  | locMast = getLocNoStep3(locTypeDto, crnNos); | 
|---|
|  |  |  | if (locMast != null) { | 
|---|
|  |  |  | //找到库位,返回dto | 
|---|
|  |  |  | sign=true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (matType == 2) {//高频类型入最外侧库位 | 
|---|
|  |  |  | locMast = getLocNoStep3(locTypeDto, crnNos); | 
|---|
|  |  |  | 
|---|
|  |  |  | // 浅库位对应堆垛机必须可用且无异常 | 
|---|
|  |  |  | if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { | 
|---|
|  |  |  | // 因库位移转、需预留空库位 | 
|---|
|  |  |  | if (locMastService.checkEmptyCount(locMast0, 10)) { | 
|---|
|  |  |  | if (locMastService.checkEmptyCount(locMast0, 10) && locMast0.getCrnNo()>=3) { | 
|---|
|  |  |  | locMast = locMast0; | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | // 浅库位对应堆垛机必须可用且无异常 | 
|---|
|  |  |  | if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { | 
|---|
|  |  |  | // 因库位移转、需预留空库位 | 
|---|
|  |  |  | if (locMastService.checkEmptyCount(locMast0, 10)) { | 
|---|
|  |  |  | if (locMastService.checkEmptyCount(locMast0, 10) && locMast0.getCrnNo()>=3) { | 
|---|
|  |  |  | locMast = locMast0; | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|