自动化立体仓库 - WMS系统
whycq
2024-05-27 727fed9fc28d7a430255af69efe9a6f108845f91
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -561,7 +561,9 @@
//            throw new CoolException("目标库位或者源库位暂未分配,无法取消");
//        }
        //修改AGV工作档的工作状态为205.工作完成
        agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205);
        //agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205);
        agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205,"手动完成",userId);
        //出库任务 101.出库 || 103.拣料出库 || 107.盘点出库
        if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107 || wrkMast.getIoType() == 111){
@@ -598,6 +600,7 @@
            String locNo = wrkMast.getLocNo();
            agvLocMastService.updateLocStsByLocNo(locNo,"O","",null);
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
            // 移库取消
        } else if( wrkMast.getIoType() == 11 || wrkMast.getIoType() == 12) {
@@ -640,7 +643,11 @@
            String locNo = wrkMast.getSourceLocNo();
            //目标站点
            String devNo = wrkMast.getLocNo();
            agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
            if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 109) {
                agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
            } else {
                agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
            }
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
        }
@@ -669,11 +676,21 @@
                }
            });
        }
        wrkMast.setModiUser(userId);
        wrkMast.setModiTime(new Date());
        if (type == 2) {
            wrkMast.setManuType("手动取消(agv)");
        } else {
            wrkMast.setManuType("手动取消");
        }
        //保存工作档以及明细
        agvWrkMastLogService.save(wrkMast);
        agvWrkDetlLogService.save(wrkMast.getWrkNo());
        //删除工作档以及明细
        if(!agvWrkMastService.deleteByWrkNo(wrkMast.getWrkNo()) || !agvWrkDetlService.deleteByWrkNo(wrkMast.getWrkNo())){
            throw new CoolException("删除失败,请联系管理员");