自动化立体仓库 - WMS系统
Junjie
2023-06-03 f5cf872f989485bc52151c6a36661cb594f3b9b9
src/main/java/com/zy/common/service/CommonService.java
@@ -206,6 +206,25 @@
            }
        }
        //----------------2023.06.02兼容代码,后期库位规则符合要求后可删除------------------------
        //如果以上都找不到库位,则强制搜索1、2堆垛机空库位进行入库,保障3号堆垛机库位都是符合要求的
        EntityWrapper<LocMast> wrapper = new EntityWrapper<>();
        wrapper.eq("loc_type1", locTypeDto.getLocType1());
        wrapper.in("crn_no", "1,2");
        wrapper.eq("loc_sts", "O");
        List<LocMast> locMasts = locMastService.selectList(wrapper);
        for (LocMast mast : locMasts) {
            //检测当前库位内侧其他库位是否为D、F、X
            if (Utils.checkInsideLocIsDFX(mast.getLocNo())) {
                //内侧其他库位不是D、F、X。不能选取该库位
                continue;
            }
            //找到库位,返回dto
            return getLocNoFinalStep(staDescId, sourceStaNo, mast);//返回dto
        }
        //----------------2023.06.02兼容代码end---------------------
        throw new CoolException("检索库位失败,请联系管理员");
    }
@@ -333,6 +352,9 @@
        //随机可用堆垛机号
        Integer randomCrnNo = Utils.getRandomCrnNo(crnNos, locTypeDto.getLocType1());
        if (randomCrnNo == null) {
            return locMast;
        }
        ArrayList<Integer> randomCrnNos = new ArrayList<>();
        randomCrnNos.add(randomCrnNo);