zwl
2 天以前 9bb292da94b9ae4450588ca570ce9b00f0316e1b
src/main/java/com/zy/core/thread/ScaleThread.java
@@ -1,11 +1,15 @@
package com.zy.core.thread;
import com.alibaba.fastjson.JSONObject;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.DeviceErrorService;
import com.zy.core.Slave;
import com.zy.core.ThreadHandler;
import com.zy.core.cache.OutputQueue;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -16,6 +20,7 @@
import java.net.Socket;
import java.net.SocketAddress;
import java.net.SocketTimeoutException;
import java.util.Date;
/**
 * 磅秤线程
@@ -44,7 +49,8 @@
                byte[] read = read(8, 100);
                if (null != read) {
                    String s = new String(read);
                    if (!Cools.isEmpty(s) && s.startsWith("=")) {
                    s=s.substring(1);
                    if (!Cools.isEmpty(s) && s.startsWith("+")) {
                        scale = Double.parseDouble(s.substring(1));
                        //将称重重量写入设备基础数据中的gross_wt字段
@@ -57,6 +63,14 @@
                                if (null != basDevpService && !basDevpService.updateById(basDevp)) {
                                    throw new Exception("更新数据库数据失败");
                                }
                                JSONObject jsonObject = new JSONObject();
                                jsonObject.put("time", DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F));
                                jsonObject.put("id", staNo);
                                jsonObject.put("scale", scale);
                                if (OutputQueue.SCALE.size() >= 32) {
                                    OutputQueue.SCALE.poll();
                                }
                                OutputQueue.SCALE.offer(jsonObject);
                            }
                        }
                    }
@@ -71,6 +85,7 @@
    @Override
    public boolean connect() {
        try {
            close();  //1.主动释放连接 //2.某些服务器对指定ip有链路数限制
            socket = new Socket();