#
Junjie
2025-04-22 7fb7e64c4bd096b031d9a6015f8ee0ac0ae900e1
src/main/java/com/zy/core/thread/impl/LfdZyForkLiftSlaveThread.java
@@ -30,10 +30,7 @@
import lombok.extern.slf4j.Slf4j;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Base64;
import java.util.Date;
import java.util.List;
import java.util.*;
@Slf4j
@SuppressWarnings("all")
@@ -134,11 +131,19 @@
    private void readStatus() {
        try {
            //获取提升机数据
            OperateResultExOne<byte[]> result1 = this.masterThread.read(this.slave.getId(), "status");
            if (result1 == null) {
            HashMap<String, Object> resultData = this.masterThread.read(this.slave.getId(), "status");
            if (resultData == null) {
                OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】{1}读取货叉提升机状态信息失败", DateUtils.convert(new Date()), slave.getId()));
                return;
            }
            if (Integer.parseInt(resultData.get("slaveId").toString()) != this.slave.getId()) {
                return;
            }
            if (!resultData.get("dbTag").toString().equals("status")) {
                return;
            }
            OperateResultExOne<byte[]> result1 = (OperateResultExOne<byte[]>) resultData.get("data");
            SiemensS7Net siemensS7Net = this.masterThread.getSiemensS7Net();
            if (result1.IsSuccess) {
                if (null == forkLiftProtocol) {
@@ -175,7 +180,18 @@
                OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】{1}读取货叉提升机状态信息失败", DateUtils.convert(new Date()), slave.getId()));
            }
            OperateResultExOne<byte[]> result2 = this.masterThread.read(this.slave.getId(), "staStatus");
            //获取提升机数据
            HashMap<String, Object> resultData2 = this.masterThread.read(this.slave.getId(), "staStatus");
            if (resultData2 == null) {
                OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】{1}读取货叉提升机状态信息失败", DateUtils.convert(new Date()), slave.getId()));
            }
            if (Integer.parseInt(resultData2.get("slaveId").toString()) != this.slave.getId()) {
                return;
            }
            if (!resultData2.get("dbTag").toString().equals("staStatus")) {
                return;
            }
            OperateResultExOne<byte[]> result2 = (OperateResultExOne<byte[]>) resultData2.get("data");
            if (result2.IsSuccess) {
                for (int i = 0; i < this.slave.getSta().size(); i++) {
                    ForkLiftSlave.Sta sta = this.slave.getSta().get(i);
@@ -187,6 +203,12 @@
                    boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result2.Content, i * 2, 2);
                    forkLiftStaProtocol.setHasTray(status1[0]);
                    forkLiftStaProtocol.setHasCar(status1[1]);
                    if (sta.getStaNo() == 1001) {
                        if (forkLiftStaProtocol.getHasTray() == false) {
                            continue;
                        }
                    }
                }
            }
@@ -201,6 +223,15 @@
                deviceDataLog.setDeviceNo(forkLiftProtocol.getLiftNo());
                deviceDataLog.setCreateTime(new Date());
                deviceDataLogService.insert(deviceDataLog);
                //保存数据记录
                DeviceDataLog deviceDataLog2 = new DeviceDataLog();
                deviceDataLog2.setOriginData(Base64.getEncoder().encodeToString(result2.Content));
                deviceDataLog2.setWcsData(JSON.toJSONString(forkLiftStaProtocols));
                deviceDataLog2.setType("forkLiftStaProtocols");
                deviceDataLog2.setDeviceNo(forkLiftProtocol.getLiftNo());
                deviceDataLog2.setCreateTime(new Date());
                deviceDataLogService.insert(deviceDataLog2);
                //更新采集时间
                forkLiftProtocol.setDeviceDataLog(System.currentTimeMillis());
@@ -304,6 +335,7 @@
        if (this.forkLiftProtocol.getTaskNo() == null
                || this.forkLiftProtocol.getProtocolStatus() == null
                || this.forkLiftProtocol.getModel() == null
                || this.forkLiftProtocol.getErrorCode() == null
        ) {
            return false;
        }
@@ -311,7 +343,9 @@
        boolean res = this.forkLiftProtocol.getProtocolStatus() == ForkLiftProtocolStatusType.IDLE.id
                && this.forkLiftProtocol.getWrkNo() == 0
                && this.forkLiftProtocol.getTaskNo() == 0
                && this.forkLiftProtocol.getModel() == 2;
                && this.forkLiftProtocol.getModel() == 2
                && this.forkLiftProtocol.getErrorCode() == 0
                ;
        return res;
    }
@@ -332,13 +366,16 @@
        if (this.forkLiftProtocol.getTaskNo() == null
                || this.forkLiftProtocol.getProtocolStatus() == null
                || this.forkLiftProtocol.getModel() == null
                || this.forkLiftProtocol.getErrorCode() == null
        ) {
            return false;
        }
        boolean res = this.forkLiftProtocol.getProtocolStatus() == ForkLiftProtocolStatusType.IDLE.id
                && this.forkLiftProtocol.getWrkNo() == 0
                && this.forkLiftProtocol.getModel() == 2;
                && this.forkLiftProtocol.getModel() == 2
                && this.forkLiftProtocol.getErrorCode() == 0
                ;
        return res;
    }