#
Junjie
9 天以前 fe024501537f84baa38d3f09367b757a5719b77a
#
4个文件已修改
41 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/utils/Utils.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/impl/ZyRgvThread.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/impl/ZyStationThread.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/Utils.java
@@ -4,7 +4,12 @@
import com.alibaba.fastjson.JSONObject;
import com.core.common.Arith;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.common.utils.RedisUtil;
import com.zy.core.enums.RedisKeyType;
import java.text.DecimalFormat;
import java.util.HashMap;
public class Utils {
@@ -80,4 +85,26 @@
            return false;
        }
    }
    //获取设备日志采集时间
    public static int getDeviceLogCollectTime() {
        int defaultTime = 200;
        RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
        if (redisUtil == null) {
            return defaultTime;
        }
        Object object = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
        if (object == null) {
            return defaultTime;
        }
        HashMap<String, String> systemConfigMap = (HashMap<String, String>) object;
        String deviceLogCollectTime = systemConfigMap.get("deviceLogCollectTime");
        if(deviceLogCollectTime == null){
            return defaultTime;
        }
        return Integer.parseInt(deviceLogCollectTime);
    }
}
src/main/java/com/zy/core/thread/impl/ZyRgvThread.java
@@ -10,6 +10,7 @@
import com.zy.asrs.entity.DeviceDataLog;
import com.zy.asrs.service.BasRgvService;
import com.zy.asrs.service.BasRgvOptService;
import com.zy.asrs.utils.Utils;
import com.zy.common.utils.RedisUtil;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
@@ -38,6 +39,7 @@
    private RedisUtil redisUtil;
    private ZyRgvConnectDriver zyRgvConnectDriver;
    private RgvProtocol rgvProtocol;
    private int deviceLogCollectTime = 200;
    public ZyRgvThread(DeviceConfig deviceConfig, RedisUtil redisUtil) {
        this.deviceConfig = deviceConfig;
@@ -51,6 +53,7 @@
        initRgv();
        while (true) {
            try {
                deviceLogCollectTime = Utils.getDeviceLogCollectTime();
                int step = 1;
                Task task = MessageQueue.poll(SlaveType.Rgv, deviceConfig.getDeviceNo());
                if (task != null) {
@@ -117,7 +120,7 @@
            rgvProtocol.setLastCommandTime(System.currentTimeMillis());
        }
        if (System.currentTimeMillis() - rgvProtocol.getDeviceDataLog() > 200) {
        if (System.currentTimeMillis() - rgvProtocol.getDeviceDataLog() > deviceLogCollectTime) {
            DeviceDataLog deviceDataLog = new DeviceDataLog();
            deviceDataLog.setOriginData(JSON.toJSONString(s));
            deviceDataLog.setWcsData(JSON.toJSONString(rgvProtocol));
src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
@@ -43,6 +43,7 @@
    private RedisUtil redisUtil;
    private ZyCrnConnectDriver zyCrnConnectDriver;
    private CrnProtocol crnProtocol;
    private int deviceLogCollectTime = 200;
    private boolean resetFlag = false;
    public ZySiemensCrnThread(DeviceConfig deviceConfig, RedisUtil redisUtil) {
@@ -57,6 +58,7 @@
        this.initCrn();
        while (true) {
            try {
                deviceLogCollectTime = Utils.getDeviceLogCollectTime();
                int step = 1;
                Task task = MessageQueue.poll(SlaveType.Crn, deviceConfig.getDeviceNo());
                if (task != null) {
@@ -172,7 +174,7 @@
            crnProtocol.setLastCommandTime(System.currentTimeMillis());
        }
        if (System.currentTimeMillis() - crnProtocol.getDeviceDataLog() > 200) {
        if (System.currentTimeMillis() - crnProtocol.getDeviceDataLog() > deviceLogCollectTime) {
            //保存数据记录
            DeviceDataLog deviceDataLog = new DeviceDataLog();
            deviceDataLog.setOriginData(JSON.toJSONString(crnStatus));
src/main/java/com/zy/core/thread/impl/ZyStationThread.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.utils.Utils;
import com.zy.core.network.DeviceConnectPool;
import com.zy.core.thread.StationThread;
import com.alibaba.fastjson.JSON;
@@ -42,6 +43,7 @@
    private DeviceConfig deviceConfig;
    private RedisUtil redisUtil;
    private ZyStationConnectDriver zyStationConnectDriver;
    private int deviceLogCollectTime = 200;
    private long deviceDataLogTime = System.currentTimeMillis();
    public ZyStationThread(DeviceConfig deviceConfig, RedisUtil redisUtil) {
@@ -53,6 +55,7 @@
    @SuppressWarnings("InfiniteLoopStatement")
    public void run() {
        this.connect();
        deviceLogCollectTime = Utils.getDeviceLogCollectTime();
        //设备读取
        Thread readThread = new Thread(() -> {
@@ -134,7 +137,7 @@
        OutputQueue.DEVP.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), deviceConfig.getDeviceNo()));
        if (System.currentTimeMillis() - deviceDataLogTime > 1000 * 1) {
        if (System.currentTimeMillis() - deviceDataLogTime > deviceLogCollectTime) {
            //保存数据记录
            DeviceDataLog deviceDataLog = new DeviceDataLog();
            deviceDataLog.setOriginData(JSON.toJSONString(zyStationStatusEntities));