自动化立体仓库 - WMS系统
#
whycq
2024-05-14 d9d5c6dd59f2f844a11f70f0bbec4b88a4228351
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -326,7 +326,9 @@
        if (Cools.isEmpty(agvBasDevp)) {
            throw new CoolException("暂无"+ station + "站点");
        }
        if (containerType == 21 && agvBasDevp.getFloor() == 3) {
        if (containerType == 40 && agvBasDevp.getFloor() == 3) {
            locType = 5;
        } else if (containerType == 21 && agvBasDevp.getFloor() == 3) {
            locType = 4;
        } else if (containerType == 20 && agvBasDevp.getFloor() == 3) {
            locType = 2;
@@ -566,6 +568,10 @@
            //修改出库站点状态
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
        }
        if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 ){
            //修改出库站点状态
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getSourceLocNo(),"O","",wrkMast.getWhsType().shortValue());
        }
        //出库任务 110.空板出库
        if(wrkMast.getIoType() == 110){
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
@@ -574,7 +580,7 @@
    }
    @Transactional
    public void cancelWrkMast(String workNo, Long userId) {
    public void cancelWrkMast(String workNo, Long userId,Integer type) {
        AgvWrkMast wrkMast = agvWrkMastService.selectById(workNo);
        if (Cools.isEmpty(wrkMast)){
            throw new CoolException(workNo+"工作档不存在");
@@ -593,8 +599,18 @@
            agvLocMastService.updateLocStsByLocNo(locNo,"O","",null);
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
            // 移库取消
        }else if(wrkMast.getIoType() == 108) {
            //源库位
            String locNo = wrkMast.getSourceLocNo();
            //目标站点
            String devNo = wrkMast.getLocNo();
            agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
            if(devNo.contains("@")){
                agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
            }
            //出库取消
        }else {
        } else {
            //源库位
            String locNo = wrkMast.getSourceLocNo();
            //目标站点
@@ -639,9 +655,11 @@
        if(!agvWrkMastService.deleteByWrkNo(wrkMast.getWrkNo()) || !agvWrkDetlService.deleteByWrkNo(wrkMast.getWrkNo())){
            throw new CoolException("删除失败,请联系管理员");
        }
        if (type == 2) {
            //调用agv取消任务接口
            agvWrkMastService.callCancelTask(wrkMast.getWrkNo());
        }
        //调用agv取消任务接口
        agvWrkMastService.callCancelTask(wrkMast.getWrkNo());
    }