From 8bf43c085dabd1ed8b79c8ec5969835dfdf0af8b Mon Sep 17 00:00:00 2001
From: lsh <lsh>
Date: 星期五, 12 七月 2024 22:17:15 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/ScaleThread.java |   52 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 40 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/ScaleThread.java b/src/main/java/com/zy/core/thread/ScaleThread.java
index c5a2d4b..dc7bf98 100644
--- a/src/main/java/com/zy/core/thread/ScaleThread.java
+++ b/src/main/java/com/zy/core/thread/ScaleThread.java
@@ -1,8 +1,14 @@
 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.core.Slave;
 import com.zy.core.ThreadHandler;
+import com.zy.core.cache.OutputQueue;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 
@@ -13,6 +19,7 @@
 import java.net.Socket;
 import java.net.SocketAddress;
 import java.net.SocketTimeoutException;
+import java.util.Date;
 
 /**
  * 纾呯Г绾跨▼
@@ -43,6 +50,27 @@
                     String s = new String(read);
                     if (!Cools.isEmpty(s) && s.startsWith("=")) {
                         scale = Double.parseDouble(s.substring(1));
+
+                        //灏嗙О閲嶉噸閲忓啓鍏ヨ澶囧熀纭�鏁版嵁涓殑gross_wt瀛楁
+                        if(scale > 20) {
+                            BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+                            Integer staNo = slave.getId() == 1 ? 101 : 201;
+                            BasDevp basDevp = basDevpService.selectById(staNo);
+                            if(!Cools.isEmpty(basDevp)) {
+                                basDevp.setGrossWt(scale);
+                                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);
+                            }
+                        }
                     }
                 }
                 Thread.sleep(100);
@@ -66,7 +94,7 @@
 //            log.info("鏉$爜鎵弿浠繛鎺ユ垚鍔� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
         } catch (Exception e) {
             socket = null;
-            log.error("鏉$爜鎵弿浠繛鎺ュけ璐ワ紒锛侊紒 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            log.error("纾呯Г杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
             return false;
         }
         return true;
@@ -76,18 +104,18 @@
     public void close() {
         try {
             if (null != dataOutputStream) {
-            dataOutputStream.close();
-        }
-        if (null != dataInputStream) {
-            dataInputStream.close();
-        }
+                dataOutputStream.close();
+            }
+            if (null != dataInputStream) {
+                dataInputStream.close();
+            }
 //        if (null != socket && !socket.isClosed()) {
 //            socket.close();
 //        }
-        if (null != socket){
-            socket.close();
-        }
-        socket = null;
+            if (null != socket){
+                socket.close();
+            }
+            socket = null;
         } catch (IOException e) {
             log.error("SocketClient close Exception:" + e.getMessage());
         }
@@ -111,8 +139,8 @@
         int len = dataInputStream.read(bytes);
         byte[] tempBytes = null;
         if (len > 0) {
-        tempBytes = new byte[len];
-        System.arraycopy(bytes, 0, tempBytes, 0, len);
+            tempBytes = new byte[len];
+            System.arraycopy(bytes, 0, tempBytes, 0, len);
         }
         return tempBytes;
     }

--
Gitblit v1.9.1