自动化立体仓库 - WMS系统
#
whycq
2024-06-12 560061f07be81dd4436f940b26a4cb26941a4201
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -55,7 +55,7 @@
        doHandMove2(agvWrkMast);
        return SUCCESS;
    }
    //根据库位的loctype值发送任务--弃用
    private ReturnT<String> doAutoMove(AgvLocMast agvLocMast) {
        Date now = new Date();
        //查询工作档
@@ -64,7 +64,7 @@
            throw new CoolException("当前"+agvLocMast.getBarcode()+"货架码已在工作档中");
        }
        //检索库位,选择合适的库位
        AgvLocMast LocMast = agvCommonService.getLocNo(3,agvLocMast.getLocType3());
        AgvLocMast LocMast = agvCommonService.getLocNo(3,agvLocMast.getLocType3(),false,true);
        //生成工作档
        AgvWrkMast mast = new AgvWrkMast();
        //工作状态
@@ -182,7 +182,7 @@
    private ReturnT<String> doAutoMove2(AgvWrkMast agvWrkMast) {
        Date now = new Date();
        //检索库位,选择合适的库位
        AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo());
        AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo(),false,true);
        if (Cools.isEmpty(locMast)) {
            throw new CoolException("暂无库位");
        }
@@ -196,7 +196,14 @@
    }
    private ReturnT<String> doHandMove2(AgvWrkMast agvWrkMast) {
        Date now = new Date();
        AgvBasDevp devpNo = agvCommonService.getDevpNo(3, 1, "Y", "Y");
        String lev1 = agvWrkMast.getSourceLocNo().substring(agvWrkMast.getSourceLocNo().length() - 4).substring(0, 2);
        AgvBasDevp devpNo = new AgvBasDevp();
        if ("01".equals(lev1)) {
            devpNo = agvCommonService.getDevpNo(3, 1, "Y", "Y");
        } else {
            devpNo = agvCommonService.getDevpNo(3, 5, "Y", "Y");
        }
        if (Cools.isEmpty(devpNo)) {
            throw new CoolException("暂无空闲接驳位");
        }
@@ -274,7 +281,7 @@
        Date now = new Date();
        AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo());
        //检索空闲接驳位,选择合适的接驳位
        AgvLocMast locMast = agvCommonService.getLocNo(3, 1);
        AgvLocMast locMast = agvCommonService.getLocNo(3, 1,true,true);
        if (Cools.isEmpty(locMast)) {
            throw new CoolException("1楼暂无空库位");
        }
@@ -299,7 +306,7 @@
            throw new CoolException("当前"+agvLocMast.getBarcode()+"货架码已在工作档中");
        }
        //检索库位,选择合适的库位
        AgvLocMast LocMast = agvCommonService.getLocNo(3,1);
        AgvLocMast LocMast = agvCommonService.getLocNo(3,1,true,true);
        //生成工作档
        AgvWrkMast mast = new AgvWrkMast();
        //工作状态
@@ -361,7 +368,7 @@
            ioType = 109;
        } else {
            //检索库位,选择合适的库位
            locMast = agvCommonService.getLocNo(3,1);
            locMast = agvCommonService.getLocNo(3,1,true,true);
            locNo = locMast.getLocNo();
            wrkSts = 201L;
            ioType = 109;
@@ -434,7 +441,7 @@
            //入出库类型
            mast.setIoType(109);
            //检索库位,选择合适的库位
            AgvLocMast locMast = agvCommonService.getLocNo(3,1);
            AgvLocMast locMast = agvCommonService.getLocNo(3,1,true,true);
            mast.setLocNo(locMast.getLocNo());
            updateAgvLocMast(locMast,"S");
        } else {