自动化立体仓库 - WMS系统
pang.jiabao
2024-10-31 d5ae0ad6efaa6fb73a49f9fecce98629ebd83578
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -3,7 +3,6 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
@@ -14,6 +13,7 @@
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
import com.zy.common.constant.ApiInterfaceConstant;
import com.zy.common.model.WrkDto;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
@@ -26,7 +26,6 @@
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.List;
/**
 * 移动端接口控制器
@@ -67,16 +66,62 @@
    @PostMapping("/agv/start")
    @ManagerAuth
    public R pdaAgvStart(@RequestBody Map<String,Object> map){
        HashMap<String, String> map1 = new HashMap<>();
        map1.put("agv0001","sta0001");
        String sta = map.get("sta").toString();
//        HashMap<String, String> map1 = new HashMap<>();
//        map1.put("agv0001","sta0001");
//        String sta = map.get("sta").toString();
//
//        ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam();
//        getAgvTaskParam(forwardAGVTaskParam,sta,map1.get(sta));
//        String request = forwardAGVHttpRequest(forwardAGVTaskParam, "10.0.100.110:8182", "/rcms/services/rest/hikRpcService/genAgvSchedulingTask");
//        if ("SUCCESS".equals(request)) {
//            return R.ok();
//        }
        String sta = (String) map.get("sta"); // 暂存位
        String inSts = "1040"; // 入库站点
        ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam();
        getAgvTaskParam(forwardAGVTaskParam,sta,map1.get(sta));
        String request = forwardAGVHttpRequest(forwardAGVTaskParam, "10.0.100.110:8182", "/rcms/services/rest/hikRpcService/genAgvSchedulingTask");
        if ("SUCCESS".equals(request)) {
            return R.ok();
        forwardAGVTaskParam.setReqCode(UUID.randomUUID().toString().replace("-", ""));
        forwardAGVTaskParam.setTaskTyp("GT3");
        forwardAGVTaskParam.setCtnrTyp("2");
        forwardAGVTaskParam.setPriority("1");
        List<ForwardAGVTaskParam.PositionCodePaths> positionCodePathsList = new ArrayList<>();
        positionCodePathsList.add(new ForwardAGVTaskParam.PositionCodePaths(sta,"05"));
        positionCodePathsList.add(new ForwardAGVTaskParam.PositionCodePaths(inSts,"05"));
        forwardAGVTaskParam.setPositionCodePath(positionCodePathsList);
        String body = JSON.toJSONString(forwardAGVTaskParam);
        String response = "";
        boolean success = false;
        try {
            response = new HttpHandler.Builder()
                    .setUri(ApiInterfaceConstant.AGV_IP)
                    .setPath(ApiInterfaceConstant.AGV_CALL_IN_PATH)
                    .setJson(body)
                    .build()
                    .doPost();
            JSONObject jsonObject = JSON.parseObject(response);
            if (jsonObject.getInteger("code").equals(0)) {
                success = true;
            } else {
                log.error("入库呼叫agv失败!!!url:{};request:{};response:{}", ApiInterfaceConstant.AGV_IP+ApiInterfaceConstant.AGV_CALL_IN_PATH, body, response);
            }
        } catch (Exception e) {
            log.error("入库呼叫agv异常", e);
        } finally {
            try {
                // 保存接口日志
//                apiLogService.save(
//                        "请求仓储MES盘点单上报接口",
//                        MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_SB_URL,
//                        null,
//                        "127.0.0.1",
//                        JSON.toJSONString(collect),
//                        response,
//                        success
//                );
            } catch (Exception e) { log.error("", e); }
        }
        return R.error();
    }