自动化立体仓库 - WMS系统
tzsk
2024-02-07 d3d2fd46e9a1df3535ec240bef43ebaac6f4993c
src/main/java/com/zy/common/service/AgvCommonService.java
@@ -74,21 +74,21 @@
    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;
        }
        // 靠近摆放规则 --- 相同订单号, 同天同规格物料
@@ -100,21 +100,15 @@
        //根据物料频率搜索库位,频率高则搜索离缓存货架最近库位,频率低则搜索最远库位
        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) {