自动化立体仓库 - WMS系统
zhangc
2025-01-08 617a8c4fc0b81ec4b96db8a013a91f4e666b0b96
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -191,11 +191,15 @@
        //检索库位,选择合适的库位
        AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo(),false,true);
        if (Cools.isEmpty(locMast)) {
            throw new CoolException("暂无库位");
            log.info("暂无库位");
            return FAIL;
            //throw new CoolException("暂无库位");
        }
        AgvWrkMast workingMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locMast.getLocNo()));
        if (!Cools.isEmpty(workingMast)) {
            throw new CoolException("当前库位正在进行入库,进行下一次轮询");
            log.info("当前库位正在进行入库,进行下一次轮询");
            return FAIL;
            //throw new CoolException("当前库位正在进行入库,进行下一次轮询");
        }
        agvWrkMast.setWrkSts(201L);
        agvWrkMast.setModiTime(new Date());
@@ -215,7 +219,9 @@
        //检索库位,选择合适的库位
        AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo(),false,false);
        if (Cools.isEmpty(locMast)) {
            throw new CoolException("暂无库位");
            log.info("暂无库位");
            return FAIL;
            //throw new CoolException("暂无库位");
        }
        agvWrkMast.setWrkSts(201L);
        agvWrkMast.setLocNo(locMast.getLocNo());
@@ -239,7 +245,9 @@
        }
        if (Cools.isEmpty(devpNo)) {
            throw new CoolException("暂无空闲接驳位");
            log.info("暂无空闲接驳位");
            return FAIL;
            //throw new CoolException("暂无空闲接驳位");
        }
        agvWrkMast.setWrkSts(201L);
        agvWrkMast.setLocNo(devpNo.getDevNo());
@@ -400,7 +408,9 @@
        }
        List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 109).like("source_loc_no", floor).or().eq("io_type", 113));
        if (agvWrkMasts.size() >= 5) {
            throw new CoolException("暂停回流");
            log.error("暂停回流");
            return FAIL;
            //throw new CoolException("暂停回流");
        }
        //检索空闲可入接驳位 没有空闲可入接驳位 直接找库位
        AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor(),"Y","Y");
@@ -563,6 +573,10 @@
        if (LocMast.getLev1() != 2) {
            throw new CoolException("目标楼层不是吸塑二楼");
        }
        List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().like("loc_no", "02F1").like("source_loc_no", "F1").eq("io_type", 12));
        if (agvWrkMasts.size() >= maxTansk) {
            throw new CoolException("自动移库任务已到设定最大值:" + maxTansk);
        }
        //生成工作档
        AgvWrkMast mast = new AgvWrkMast();
        //工作状态