自动化立体仓库 - WCS系统
#
Junjie
2023-08-30 d0e483165493dd5b76896bc61e03f2322858a074
#
2个文件已修改
23 ■■■■ 已修改文件
src/main/java/com/zy/common/utils/NyHttpUtils.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/NyShuttleThread.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/utils/NyHttpUtils.java
@@ -5,6 +5,7 @@
import com.zy.common.model.NavigateNode;
import com.zy.core.model.command.NyShuttleHttpCommand;
import com.zy.core.model.protocol.NyShuttleProtocol;
import springfox.documentation.spring.web.json.Json;
import java.io.*;
import java.net.Socket;
@@ -303,14 +304,27 @@
                }
            } while (response != null);
//            System.out.println("Received response from server: " + sb);
             return JSON.parseObject(sb.toString());
            JSONObject result = JSON.parseObject(sb.toString());//得到响应结果集
            if (!result.get("msgType").equals("responseMsg")) {//不是响应内容
                return null;
            }
            JSONObject resultResponse = JSON.parseObject(result.get("response").toString());
            JSONObject resultHeader = JSON.parseObject(resultResponse.get("header").toString());
            int responseId = Integer.parseInt(resultHeader.get("responseId").toString());
            if (responseId != httpCommand.getRequest().getHeader().getRequestId()) {
                return null;//响应ID与请求ID不一致
            }
            return filterBodyData(result);//返回Body结果集
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    public static JSONObject filterData(JSONObject data) {
    public static JSONObject filterBodyData(JSONObject data) {
        Object response = data.get("response");
        if (response == null) {
            return null;
src/main/java/com/zy/core/thread/NyShuttleThread.java
@@ -111,11 +111,10 @@
            //----------读取四向穿梭车状态-----------
            NyShuttleHttpCommand readStatusCommand = NyHttpUtils.getReadStatusCommand(slave.getId());
            JSONObject result = NyHttpUtils.requestCommand(socket, readStatusCommand);
            if (result == null) {
            JSONObject jsonObject = NyHttpUtils.requestCommand(socket, readStatusCommand);
            if (jsonObject == null) {
                OutputQueue.SHUTTLE.offer(MessageFormat.format("【{0}】四向穿梭车plc状态信息失败 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
            }else {
                JSONObject jsonObject = NyHttpUtils.filterData(result);
                //手动状态/自动状态
                shuttleProtocol.setWorkingMode(jsonObject.getInteger("workingMode"));
                //允许状态 0:运行中1:空闲