自动化立体仓库 - WMS系统
zyx
2024-05-27 cd8ab30f720cd8ab32062024b00c7fe3294a56a4
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){
@@ -646,10 +648,14 @@
            } else {
                agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
            }
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
            if (wrkMast.getIoType() == 109){
                agvLocMastService.updateLocStsByLocNo(devNo,"O","",(short)getContainerTypeByloc(devNo));
            }else {
                agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
            }
        }
        if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10){
        if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108){
            //订单回滚
            //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
            List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
@@ -674,11 +680,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("删除失败,请联系管理员");