#
Junjie
昨天 1f41a2028871f46d28c1298acedec48321fba46d
src/main/java/com/zy/core/thread/impl/NyLiftThread.java
@@ -3,13 +3,10 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasLift;
import com.zy.asrs.entity.DeviceConfig;
import com.zy.asrs.entity.DeviceDataLog;
import com.zy.asrs.service.BasLiftService;
import com.zy.asrs.service.DeviceDataLogService;
import com.zy.asrs.utils.Utils;
import com.zy.common.ExecuteSupport;
@@ -184,8 +181,6 @@
            liftProtocol.setHasTray(data.getInteger("hasTray") == 1);
            //有小车
            liftProtocol.setHasCar(data.getInteger("hasCar") == 1);
            //出入库模式
            liftProtocol.setIOMode(data.getInteger("iOMode"));
            //故障码
            liftProtocol.setErrorCode(data.getInteger("errorCode"));
            //当前层
@@ -194,12 +189,19 @@
            //************补充扩展字段*************
            InnerLiftExtend liftExtend = (InnerLiftExtend) liftProtocol.getExtend();
            liftProtocol.setExtend(liftExtend);
            liftExtend.setFrontOverrun(data.getBoolean("frontOverrun"));
            liftExtend.setBackOverrun(data.getBoolean("backOverrun"));
            liftExtend.setLeftOverrun(data.getBoolean("leftOverrun"));
            liftExtend.setRightOverrun(data.getBoolean("rightOverrun"));
            liftExtend.setOverHeight(data.getBoolean("overHeight"));
            liftExtend.setOverWeight(data.getBoolean("overWeight"));
            JSONObject extend = data.getJSONObject("extend");
            liftExtend.setFrontOverrun(extend.getInteger("frontOverrun") == 1);
            liftExtend.setBackOverrun(extend.getInteger("backOverrun") == 1);
            liftExtend.setLeftOverrun(extend.getInteger("leftOverrun") == 1);
            liftExtend.setRightOverrun(extend.getInteger("rightOverrun") == 1);
            liftExtend.setOverHeight(extend.getInteger("overHeight") == 1);
            liftExtend.setOverWeight(extend.getInteger("overWeight") == 1);
            liftExtend.setPlcTaskNoComplete(extend.getInteger("plcTaskNoComplete"));
            if (!liftExtend.getPlcTaskNoComplete().equals(liftProtocol.getPlcTaskNo())) {
                //设备状态
                liftProtocol.setDeviceStatus(LiftDeviceStatusType.BUSY.id);
            }
            //读取站点
            JSONArray stationList = data.getJSONArray("stationList");
@@ -229,7 +231,7 @@
            this.realtimeOriginData = JSON.toJSONString(data);
            if (System.currentTimeMillis() - liftProtocol.getDeviceDataLog() > 1000 * 5) {
            if (System.currentTimeMillis() - liftProtocol.getDeviceDataLog() > 1000 * 2) {
                //采集时间超过5s,保存一次数据记录
                //保存数据记录
                DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class);
@@ -349,29 +351,10 @@
    }
    @Override
    public CommandResponse switchIOMode(LiftCommand command) {
        CommandResponse response = new CommandResponse(false);
        try {
            //发出请求
            String resultKey = requestCommand(command);
            //查询请求结果
            JSONObject result = queryCommandStatus(resultKey);
            if (result == null) {
                return response;//请求失败
            }
            if(!result.getString("result").equals("success")) {
                return response;//请求失败
            }
            this.liftProtocol.setSendTime(System.currentTimeMillis());//指令下发时间
            response.setMessage(JSON.toJSONString(result));
            response.setResult(true);
            return response;
        } catch (Exception e) {
            e.printStackTrace();
            response.setMessage(e.getMessage());
            return response;
        }
    public CommandResponse switchIOMode(LiftIoModeType type) {
        CommandResponse response = new CommandResponse(true);
        liftProtocol.setIOModeType(type);
        return response;
    }
    @Override
@@ -388,6 +371,7 @@
                || this.liftProtocol.getPlcTaskNo() == null
                || this.liftProtocol.getProtocolStatus() == null
                || this.liftProtocol.getModel() == null
                || this.liftProtocol.getDeviceStatus() == null
                || this.liftProtocol.getErrorCode() == null
                || this.liftProtocol.getExtend() == null
        ) {
@@ -400,6 +384,7 @@
//                && this.liftProtocol.getPlcTaskNo() == 0
                && this.liftProtocol.getTaskNo() == 0
                && this.liftProtocol.getModel() == 2
                && this.liftProtocol.getDeviceStatus() == LiftDeviceStatusType.IDLE.id
                && this.liftProtocol.getErrorCode() == 0
                && !extend.getFrontOverrun()
                && !extend.getBackOverrun()
@@ -427,6 +412,7 @@
        if (this.liftProtocol.getProtocolStatus() == null
                || this.liftProtocol.getModel() == null
                || this.liftProtocol.getDeviceStatus() == null
                || this.liftProtocol.getErrorCode() == null
                || this.liftProtocol.getExtend() == null
        ) {
@@ -437,6 +423,7 @@
        boolean res = this.liftProtocol.getProtocolStatus() == LiftProtocolStatusType.IDLE.id
                && this.liftProtocol.getModel() == 2
                && this.liftProtocol.getDeviceStatus() == LiftDeviceStatusType.IDLE.id
                && this.liftProtocol.getErrorCode() == 0
                && !extend.getFrontOverrun()
                && !extend.getBackOverrun()
@@ -488,6 +475,10 @@
        command.setPick(pick);
        command.setPut(put);
        LiftStaProtocol pickSta = findSta(pick);
        LiftStaProtocol putSta = findSta(put);
        command.setPickLev(pickSta.getLev());
        command.setPutLev(putSta.getLev());
        return command;
    }
@@ -500,6 +491,10 @@
        command.setPick(pick);
        command.setPut(put);
        LiftStaProtocol pickSta = findSta(pick);
        LiftStaProtocol putSta = findSta(put);
        command.setPickLev(pickSta.getLev());
        command.setPutLev(putSta.getLev());
        return command;
    }
@@ -512,6 +507,10 @@
        command.setPick(pick);
        command.setPut(put);
        LiftStaProtocol pickSta = findSta(pick);
        LiftStaProtocol putSta = findSta(put);
        command.setPickLev(pickSta.getLev());
        command.setPutLev(putSta.getLev());
        return command;
    }
@@ -636,6 +635,15 @@
        }
    }
    private LiftStaProtocol findSta(Integer staNo) {
        for (LiftStaProtocol liftStaProtocol : this.liftStaProtocols) {
            if (liftStaProtocol.getSiteId().equals(staNo)) {
                return liftStaProtocol;
            }
        }
        return null;
    }
    /**
     * 扩展字段
     */
@@ -672,8 +680,8 @@
         */
        private Boolean overWeight;
        //提升机站点
        private List<LiftStaProtocol> liftStaProtocols;
        //PLC已完成任务号
        private Integer plcTaskNoComplete;
    }
}