自动化立体仓库 - WMS系统
#1
lsh
2024-05-31 d417e332b39e7da99f637e94ebacf199fb158a72
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -66,6 +66,8 @@
    private AgvWrkMastLogService agvWrkMastLogService;
    @Autowired
    private AgvWrkDetlLogService agvWrkDetlLogService;
    @Autowired
    private WrkMastExecuteService wrkMastExecuteService;
    /*
@@ -568,7 +570,23 @@
        //} else {
        //    agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205,"手动完成",userId);
        //}
        if (wrkMast.getIoType()==121){
            if (wrkMast.getWrkSts()<12L){
        agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205,"手动完成",userId);
            }else if (wrkMast.getWrkSts()==12L){
                agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),12,"手动完成",userId);
                WrkMastExecute wrkMastExecute = wrkMastExecuteService.selectOne(new EntityWrapper<WrkMastExecute>().eq("wrk_no", workNo));
                wrkMastExecute.setWrkSts(3L);
                wrkMastExecute.setNowPosition(3);
                wrkMastExecuteService.updateById(wrkMastExecute);
            }
            return;
        } else {
            agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205,"手动完成",userId);
        }
        //出库任务 101.出库 || 103.拣料出库 || 107.盘点出库
        if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107 || wrkMast.getIoType() == 111){
@@ -596,6 +614,43 @@
        if (Cools.isEmpty(wrkMast)){
            throw new CoolException(workNo+"工作档不存在");
        }
        if (wrkMast.getIoType()==121){
            if (wrkMast.getWrkSts()<12L){
                //源库位
                String locNo = wrkMast.getSourceLocNo();
                // 目标库位
                String targetLocNo = wrkMast.getLocNo();
                agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
                agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
                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("删除失败,请联系管理员");
                }
                if (type == 2) {
                    //调用agv取消任务接口
                    agvWrkMastService.callCancelTask(wrkMast.getWrkNo());
                }
            }else {
                throw new CoolException("当前任务正在执行,不可取消");
            }
        }else {
        //拣料入库 盘点入库不可取消
        if(wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){
            throw new CoolException("当前任务不可取消");
@@ -780,8 +835,7 @@
            //调用agv取消任务接口
            agvWrkMastService.callCancelTask(wrkMast.getWrkNo());
        }
        }
    }
    /*