| | |
| | | public AgvLocMast getLocNo(List<AgvWaitPakin> agvWaitPakinList, int floor) { |
| | | // 目标库位 |
| | | AgvLocMast locMast = null; |
| | | |
| | | //库位规则 |
| | | if(!Cools.isEmpty(agvWaitPakinList)){ |
| | | locMast = getLocByLocRule(agvWaitPakinList.get(0),floor); |
| | | if(!Cools.isEmpty(locMast)){ |
| | | return locMast; |
| | | } |
| | | if(Cools.isEmpty(agvWaitPakinList)){ |
| | | return getLocNoRule(floor); |
| | | } |
| | | |
| | | //库位规则 |
| | | locMast = getLocByLocRule(agvWaitPakinList.get(0),floor); |
| | | if(!Cools.isEmpty(locMast)){ |
| | | return locMast; |
| | | } |
| | | |
| | | |
| | | //库位编码规则 |
| | | if(!Cools.isEmpty(agvWaitPakinList)){ |
| | | locMast = getLocByLocCodeRule(agvWaitPakinList.get(0),floor); |
| | | if(!Cools.isEmpty(locMast)){ |
| | | return locMast; |
| | | } |
| | | locMast = getLocByLocCodeRule(agvWaitPakinList.get(0),floor); |
| | | if(!Cools.isEmpty(locMast)){ |
| | | return locMast; |
| | | } |
| | | |
| | | // 靠近摆放规则 --- 相同订单号, 同天同规格物料 |
| | |
| | | |
| | | //根据物料频率搜索库位,频率高则搜索离缓存货架最近库位,频率低则搜索最远库位 |
| | | Mat mat = matService.selectByMatnr(agvWaitPakinList.get(0).getMatnr()); |
| | | if(true){ |
| | | |
| | | }else { |
| | | |
| | | if(Cools.isEmpty(mat.getBeBatch())){ |
| | | mat.setBeBatch(0); |
| | | } |
| | | locMast = getLocByFre(mat.getBeBatch(), floor); |
| | | if (locMast != null) { |
| | | return locMast; |
| | | } |
| | | |
| | | // |
| | | // // 靠近摆放规则 --- 空托 |
| | | // locMast = getLocNoStep4(staDescId, locTypeDto); |
| | | // if (locMast != null) { |
| | | // //找到库位,返回dto |
| | | // return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto |
| | | // } |
| | | // |
| | | // // 如果没有相近物料,则按规则轮询货架 |
| | | |
| | | // 开始查找库位 ==============================>> |
| | | locMast = getLocNoRule(floor); |
| | | if (locMast != null) { |