自动化立体仓库 - WCS系统
123
ZY
3 天以前 1a1e3398d15027a65e56e0ed82e54f3a4feea0b6
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,7 +1,6 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.AppAuth;
import com.core.common.BaseRes;
@@ -15,12 +14,10 @@
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
@@ -105,25 +102,6 @@
        }
    }
    //agv任务完成
    @PostMapping("/toAgvTaskOver")
    @AppAuth(memo = "agv任务完成接口")
    public R getAgvTaskOver(@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.getStartPoint())) {
            return R.error("码头[wharfCode]不能为空");
        }
        if (Cools.isEmpty(param.getStatus())) {
            return R.error("完成标记[status]不能为空");
        }
        openService.getAgvTaskOver(param);
        return R.ok();
    }
    //创建任务
    @PostMapping("/taskCreate")
@@ -189,18 +167,6 @@
        return R.ok();
    }
    //查询任务详情
    @GetMapping("/queryTask")
    public R queryTask(@RequestHeader String appkey,
                       @RequestParam String taskNo,
                       HttpServletRequest request) {
        auth(appkey, taskNo, request);
        TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
        if (taskWrk == null) {
            return R.error("任务不存在");
        }
        return R.ok().add(taskWrk);
    }
    //取放货申请
    @PostMapping("/pick/and/place/v1")
@@ -240,20 +206,6 @@
        return openService.getAgvPickAndPlaceV2(param);
    }
    //查询任务指令集合
    @GetMapping("/queryTaskCommand")
    public R queryTaskCommand(@RequestHeader String appkey,
                              @RequestParam String taskNo,
                              HttpServletRequest request) {
        auth(appkey, taskNo, request);
        TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
        if (taskWrk == null) {
            return R.error("任务不存在");
        }
        List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskNo);
        return R.ok().add(commandInfos);
    }
    private void auth(String appkey, Object obj, HttpServletRequest request) {
        log.info("{}接口被访问;appkey:{};请求数据:{}", request.getServletPath(), appkey, JSON.toJSONString(obj));
@@ -266,103 +218,6 @@
        }
    }
    //AGV请求入库码头接口
//    @PostMapping("/targetWharfApply")
//    @AppAuth(memo = "AGV请求入库码头接口")
//    public R targetWharfApply(@RequestHeader String appkey,
//                              @RequestBody WMSAndAGVInterfaceParam param,
//                              HttpServletRequest request) throws IOException {
//        auth(appkey, param, request);
//
//        if (Cools.isEmpty(param)) {
//            return R.error("参数为空!");
//        } else if (Cools.isEmpty(param.getTaskNo())) {
//            return R.error("工作号为空!");
//        } else if (Cools.isEmpty(param.getContainerCode())) {
//            return R.error("托盘编码为空!");
//        } else if (Cools.isEmpty(param.getWharfSource())) {
//            return R.error("源码头为空!");
//        } else if (Cools.isEmpty(param.getFreeWharfs()) || param.getFreeWharfs().size() == 0) {
//            return R.error("空闲的入库码头(AGV)为空!");
//        }
//        R r = openService.AgvToWCSToWms(param);
//        apiLogService.save("AGV请求入库码头接口"
//                , request.getRemoteAddr() + request.getRequestURI()
//                , appkey
//                , request.getRemoteAddr()
//                , JSON.toJSONString(param)
//                , r.toString()
//                , true
//        );
//        return r;
//    }
//
//    //AGV请求动作接口
//    @PostMapping("/agvTaskRequest")
//    @AppAuth(memo = "AGV请求动作接口")
//    public R agvTaskRequest(@RequestHeader String appkey,
//                            @RequestBody WMSAndAGVInterfaceParam param,
//                            HttpServletRequest request) {
//        auth(appkey, param, request);
//        if (Cools.isEmpty(param)) {
//            return R.error("参数为空!");
//        } else if (Cools.isEmpty(param.getRequestType())) {
//            return R.error("请求类型为空!");
//        } else if (Cools.isEmpty(param.getWharfCode())) {
//            return R.error("码头编号为空!");
//        }
//
//        Map<String, Integer> map = new HashMap<>();
//        map.put("J-1102", 102);
//        map.put("J-1101", 101);
//        map.put("J-1103", 105);
//        map.put("J-1104", 106);
//        map.put("J-1105", 109);
//        map.put("J-1106", 110);
//        map.put("J-1107", 113);
//        map.put("J-1108", 114);
//        map.put("J-1109", 117);
//        map.put("J-1110", 118);
//        map.put("J-1111", 121);
//        map.put("J-1112", 122);
//        map.put("H-1102", 300);
//        map.put("H-1101", 305);
//        map.put("G-1102", 400);
//        map.put("G-1101", 405);
////        StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
////                .eq("stn_desc", param.getWharfCode()));
////
////        if (Cools.isEmpty(staDesc)){
////            return R.error("程序报错,未查询到站点");
////        }
//        if (Cools.isEmpty(map.get(param.getWharfCode()))) {
//            return R.error("未查询到站点");
//        }
//        BasDevp basDevp = basDevpService.selectById(map.get(param.getWharfCode()));
//        if (basDevp.getAutoing().equals("Y") && (basDevp.getInEnable().equals("Y") || basDevp.getOutEnable().equals("Y"))) {
//            apiLogService.save("AGV请求入库码头接口"
//                    , request.getRemoteAddr() + request.getRequestURI()
//                    , appkey
//                    , request.getRemoteAddr()
//                    , JSON.toJSONString(param)
//                    , R.ok().toString()
//                    , true
//            );
//            return R.ok("可入");
//        } else {
//            apiLogService.save("AGV请求入库码头接口"
//                    , request.getRemoteAddr() + request.getRequestURI()
//                    , appkey
//                    , request.getRemoteAddr()
//                    , JSON.toJSONString(param)
//                    , R.error("站点状态不可入").toString()
//                    , true
//            );
//            return R.error("站点状态不可入");
//        }
//
//
//    }
    //任务下发接口
    @PostMapping("/outboundTaskSend")
@@ -402,7 +257,7 @@
                        .eq("stn_no", param.getTerminalNo()));
                if (Cools.isEmpty(staDesc)) {
                    map.put("Code", "0");
                    map.put("Msg", "出库路劲不存在!");
                    map.put("Msg", "出库路径不存在!");
                    return map;
                }
                r = openService.taskCreate(new TaskCreateParam(param, staDesc.getCrnNo()));
@@ -509,4 +364,149 @@
        return R.ok(crnStatusParams);
    }
    //查询任务详情
    @GetMapping("/queryTask")
    public R queryTask(@RequestHeader String appkey,
                       @RequestParam String taskNo,
                       HttpServletRequest request) {
        auth(appkey, taskNo, request);
        TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
        if (taskWrk == null) {
            return R.error("任务不存在");
        }
        return R.ok().add(taskWrk);
    }
    //查询任务指令集合
    @GetMapping("/queryTaskCommand")
    public R queryTaskCommand(@RequestHeader String appkey,
                              @RequestParam String taskNo,
                              HttpServletRequest request) {
        auth(appkey, taskNo, request);
        TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
        if (taskWrk == null) {
            return R.error("任务不存在");
        }
        List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskNo);
        return R.ok().add(commandInfos);
    }
    //AGV请求入库码头接口
//    @PostMapping("/targetWharfApply")
//    @AppAuth(memo = "AGV请求入库码头接口")
//    public R targetWharfApply(@RequestHeader String appkey,
//                              @RequestBody WMSAndAGVInterfaceParam param,
//                              HttpServletRequest request) throws IOException {
//        auth(appkey, param, request);
//
//        if (Cools.isEmpty(param)) {
//            return R.error("参数为空!");
//        } else if (Cools.isEmpty(param.getTaskNo())) {
//            return R.error("工作号为空!");
//        } else if (Cools.isEmpty(param.getContainerCode())) {
//            return R.error("托盘编码为空!");
//        } else if (Cools.isEmpty(param.getWharfSource())) {
//            return R.error("源码头为空!");
//        } else if (Cools.isEmpty(param.getFreeWharfs()) || param.getFreeWharfs().size() == 0) {
//            return R.error("空闲的入库码头(AGV)为空!");
//        }
//        R r = openService.AgvToWCSToWms(param);
//        apiLogService.save("AGV请求入库码头接口"
//                , request.getRemoteAddr() + request.getRequestURI()
//                , appkey
//                , request.getRemoteAddr()
//                , JSON.toJSONString(param)
//                , r.toString()
//                , true
//        );
//        return r;
//    }
//
//    //AGV请求动作接口
//    @PostMapping("/agvTaskRequest")
//    @AppAuth(memo = "AGV请求动作接口")
//    public R agvTaskRequest(@RequestHeader String appkey,
//                            @RequestBody WMSAndAGVInterfaceParam param,
//                            HttpServletRequest request) {
//        auth(appkey, param, request);
//        if (Cools.isEmpty(param)) {
//            return R.error("参数为空!");
//        } else if (Cools.isEmpty(param.getRequestType())) {
//            return R.error("请求类型为空!");
//        } else if (Cools.isEmpty(param.getWharfCode())) {
//            return R.error("码头编号为空!");
//        }
//
//        Map<String, Integer> map = new HashMap<>();
//        map.put("J-1102", 102);
//        map.put("J-1101", 101);
//        map.put("J-1103", 105);
//        map.put("J-1104", 106);
//        map.put("J-1105", 109);
//        map.put("J-1106", 110);
//        map.put("J-1107", 113);
//        map.put("J-1108", 114);
//        map.put("J-1109", 117);
//        map.put("J-1110", 118);
//        map.put("J-1111", 121);
//        map.put("J-1112", 122);
//        map.put("H-1102", 300);
//        map.put("H-1101", 305);
//        map.put("G-1102", 400);
//        map.put("G-1101", 405);
////        StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
////                .eq("stn_desc", param.getWharfCode()));
////
////        if (Cools.isEmpty(staDesc)){
////            return R.error("程序报错,未查询到站点");
////        }
//        if (Cools.isEmpty(map.get(param.getWharfCode()))) {
//            return R.error("未查询到站点");
//        }
//        BasDevp basDevp = basDevpService.selectById(map.get(param.getWharfCode()));
//        if (basDevp.getAutoing().equals("Y") && (basDevp.getInEnable().equals("Y") || basDevp.getOutEnable().equals("Y"))) {
//            apiLogService.save("AGV请求入库码头接口"
//                    , request.getRemoteAddr() + request.getRequestURI()
//                    , appkey
//                    , request.getRemoteAddr()
//                    , JSON.toJSONString(param)
//                    , R.ok().toString()
//                    , true
//            );
//            return R.ok("可入");
//        } else {
//            apiLogService.save("AGV请求入库码头接口"
//                    , request.getRemoteAddr() + request.getRequestURI()
//                    , appkey
//                    , request.getRemoteAddr()
//                    , JSON.toJSONString(param)
//                    , R.error("站点状态不可入").toString()
//                    , true
//            );
//            return R.error("站点状态不可入");
//        }
//
//
//    }
//    @PostMapping("/toAgvTaskOver")
//    @AppAuth(memo = "agv任务完成接口")
//    public R getAgvTaskOver(@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.getStartPoint())) {
//            return R.error("码头[wharfCode]不能为空");
//        }
//        if (Cools.isEmpty(param.getStatus())) {
//            return R.error("完成标记[status]不能为空");
//        }
//        openService.getAgvTaskOver(param);
//        return R.ok();
//    }
}