|  |  | 
 |  |  |      */ | 
 |  |  |     @Transactional | 
 |  |  |     public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) { | 
 |  |  |         // 目标库位 | 
 |  |  |         LocMast locMast = null; | 
 |  |  |  | 
 |  |  |         // 靠近摆放规则 --- 空托 | 
 |  |  |         locMast = getLocNoStep4(staDescId, locTypeDto, sourceStaNo); | 
 |  |  |         if (locMast != null) { | 
 |  |  |             //找到库位,返回dto | 
 |  |  |             return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //库位规则 | 
 |  |  | //        locMast = getLocNoStepRule(matnr, locTypeDto); | 
 |  |  | //        if (locMast != null) { | 
 |  |  | //            //找到库位,返回dto | 
 |  |  | //            return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto | 
 |  |  | //        } | 
 |  |  |  | 
 |  |  |         // 靠近摆放规则 --- 相同订单号, 同天同规格物料 | 
 |  |  |         locMast = getLocNoStep3(staDescId, matnr, batch, grade, locTypeDto, sourceStaNo); | 
 |  |  |         if (locMast != null) { | 
 |  |  |             //找到库位,返回dto | 
 |  |  |             return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //搜索整个空库位组 | 
 |  |  |         locMast = getLocNoStepSingle(locTypeDto, sourceStaNo); | 
 |  |  |         if (locMast != null) { | 
 |  |  |             //找到库位,返回dto | 
 |  |  |             return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //找不到库位,抛出异常 | 
 |  |  |         throw new CoolException("没有空库位"); | 
 |  |  |         return getLocNoRun(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0); | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  |