#
lsh
2024-03-21 b909f4e136ca3182befba9510fd0ccc13f6a784f
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -96,6 +96,19 @@
        if (Cools.isEmpty(param.getBarcode())) {
            return R.error("条码[barcode]不能为空");
        }
        String locNo=null;
        if(param.getIoType()==1){
            locNo=param.getTargetPoint();
        }else{
            locNo=param.getStartPoint();
        }
        LocMast locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
                .eq("loc_sts","F")
                .eq("loc_no",locNo)
                .eq("barcode",param.getBarcode()));
        if(Cools.isEmpty(locMast)){
            return R.error("该库位不满足出库条件"+param.getTargetPoint());
        }
        openService.taskCreate(param);
        }
        return R.ok();
@@ -112,6 +125,44 @@
            return R.error("任务不存在");
        }
        return R.ok().add(taskWrk);
    }
    //取放货申请
    @PostMapping("/pick/and/place/v1")
    @AppAuth(memo = "agv取放货申请")
    public R getAgvPickAndPlaceV1(@RequestHeader String appkey,
                            @RequestBody TaskOverParam param,
                            HttpServletRequest request){
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getStaNo())){
            return R.error("码头[staNo]不能为空");
        }
        if (Cools.isEmpty(param.getType())){
            return R.error("类型[type]不能为空");
        }
        return openService.getAgvPickAndPlaceV1(param);
    }
    //取放货完成反馈
    @PostMapping("/pick/and/place/v2")
    @AppAuth(memo = "agv取放货完成反馈")
    public R getAgvPickAndPlaceV2(@RequestHeader String appkey,
                                  @RequestBody TaskOverParam param,
                                  HttpServletRequest request){
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getStaNo())){
            return R.error("码头[staNo]不能为空");
        }
        if (Cools.isEmpty(param.getType())){
            return R.error("类型[type]不能为空");
        }
        return openService.getAgvPickAndPlaceV2(param);
    }
    //查询任务指令集合
@@ -312,35 +363,29 @@
            return R.error("参数为空!");
        } else if (Cools.isEmpty(param.getTaskNo())){
            return R.error("工作号为空!");
        } else if (Cools.isEmpty(param.getTaskStatus())){
        } else if (Cools.isEmpty(param.getIoType())){
            return R.error("操作类型为空!");
        } else if (Cools.isEmpty(param.getBarcode())){
            return R.error("托盘码不能为空!");
        }
//        else if (Cools.isEmpty(param.getWarehouseId())){
//            return R.error("仓库标识为空!");
//        }
        TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("task_no", param.getTaskNo()));
        TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>()
                .eq("task_no", param.getTaskNo())
                .eq("io_type",param.getIoType())
                .eq("barcode",param.getBarcode()));
        if (Cools.isEmpty(taskWrk)){
            return R.error("未查到当前任务");
            return R.error("未查到当前任务---"+param);
        }
        boolean sign =false;
        switch (param.getTaskStatus()){
            case 1://正常取消
                if (taskWrk.getWrkSts()>1){
                if (taskWrk.getStatus()>1){
                    return R.error("任务已开始执行");
                }
            case 2://强制取消
                if (taskWrk.getWrkSts()>3){
                    return R.error("任务已执行完成");
                }
                break;
            case 3://正常完成
                if (taskWrk.getWrkSts()>11){
            case 2://正常完成
                if (taskWrk.getStatus()>1){
                    return R.error("任务已开始执行");
                }
            case 4://强制完成
                if (taskWrk.getWrkSts()>14){
                    return R.error("任务已执行完成");
                }
                sign=true;
                break;