自动化立体仓库 - WCS系统
ZY
4 天以前 4e0da368106385d208157b9d565374733b7c4a87
还没有写完
4个文件已修改
232 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 200 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/TaskOverParam.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -115,7 +115,7 @@
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getWharfCode())) {
        if (Cools.isEmpty(param.getStartPoint())) {
            return R.error("码头[wharfCode]不能为空");
        }
        if (Cools.isEmpty(param.getStatus())) {
@@ -212,7 +212,7 @@
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getStaNo())) {
        if (Cools.isEmpty(param.getStartPoint())) {
            return R.error("码头[staNo]不能为空");
        }
        if (Cools.isEmpty(param.getType())) {
@@ -231,7 +231,7 @@
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getStaNo())) {
        if (Cools.isEmpty(param.getStartPoint())) {
            return R.error("码头[staNo]不能为空");
        }
        if (Cools.isEmpty(param.getType())) {
@@ -267,112 +267,108 @@
    }
    //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()));
//    @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(staDesc)){
//            return R.error("程序报错,未查询到站点");
//        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)为空!");
//        }
        if (Cools.isEmpty(map.get(param.getWharfCode()))) {
            return R.error("未查询到站点");
        }
        BasDevp basDevp = basDevpService.selectById(map.get(param.getWharfCode()));
//        BasDevp basDevp = basDevpService.selectById(staDesc.getStnNo());
        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("站点状态不可入");
        }
    }
//        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")
    @Transactional
    public HashMap<String, Object> outboundTaskSend(@RequestBody HashMap<String, Object> hashMap) {
        String jsonString = JSON.toJSONString(hashMap.get("TaskList"));
        List<CarryParam> params = JSONObject.parseArray(jsonString, CarryParam.class);
    public HashMap<String, Object> outboundTaskSend(@RequestBody List<CarryParam> params) {
        HashMap<String, Object> map = new HashMap<>();
        List<WMSAndAGVInterfaceParam> params1 = new ArrayList<>();
        for (CarryParam param : params) {
            if (Cools.isEmpty(param)) {
                map.put("Code", "0");
src/main/java/com/zy/asrs/entity/param/TaskOverParam.java
@@ -4,9 +4,21 @@
@Data
public class TaskOverParam {
    private String wharfCode;
    private Boolean status;
    private int staNo;
    /**
     * 任务号
     */
    private String taskNo;
    /**
     * 完成标识
     */
    private Integer status;
    /**
     * 站点
     */
    private Integer startPoint;
    /**
     * 1放。0取
     */
    private int type;
}
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -216,7 +216,7 @@
        // 根据输送线plc遍历
        for (DevpSlave devp : slaveProperties.getDevp()) {
            StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
                    .eq("stn_desc", param.getWharfCode()));
                    .eq("stn_desc", param.getStartPoint()));
            if (Cools.isEmpty(staDesc)) {
                throw new RuntimeException("未查询到站点信息");
            }
@@ -229,7 +229,7 @@
                staProtocol = staProtocol.clone();
            }
            Short workNo = staProtocol.getWorkNo();
            if (wharfCode1.contains(param.getWharfCode())) {
            if (wharfCode1.contains(param.getStartPoint())) {
                if (!staProtocol.isLoading() && !staProtocol.isCar() && staProtocol.getWorkNo() > 0) {
                    //AGV出库完成以后
                    staProtocol.setWorkNo((short) 0);
@@ -266,9 +266,9 @@
    @Override
    public R getAgvPickAndPlaceV1(TaskOverParam param) {
        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
        BasDevp basDevp = basDevpService.selectById(param.getStartPoint());
        if (Cools.isEmpty(basDevp)) {
            return R.error("站点号有误" + param.getStaNo());
            return R.error("站点号有误" + param.getStartPoint());
        }
        if (param.getType() == 0 && basDevp.getAgvStartPick() == 1) {
            return R.ok();
@@ -281,9 +281,9 @@
    @Override
    public R getAgvPickAndPlaceV2(TaskOverParam param) {
        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
        BasDevp basDevp = basDevpService.selectById(param.getStartPoint());
        if (Cools.isEmpty(basDevp)) {
            return R.error("站点号有误" + param.getStaNo());
            return R.error("站点号有误" + param.getStartPoint());
        }
        if (param.getType() == 0) {
            basDevp.setAgvTargetPick(1);
src/main/resources/application.yml
@@ -8,7 +8,7 @@
    name: @pom.build.finalName@
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://192.168.4.107:1433;databasename=glccwcs
    url: jdbc:sqlserver://127.0.0.1:1433;databasename=glccwcs
    username: sa
    password: sa@123
  mvc: