From cb0ee1254500db12525f1288c47d7499677d4eb7 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 23 十月 2024 16:05:23 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/core/thread/ScaleThread.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 47 insertions(+), 13 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..3c574e5 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;
 
 /**
  * 纾呯Г绾跨▼
@@ -42,7 +49,34 @@
                 if (null != read) {
                     String s = new String(read);
                     if (!Cools.isEmpty(s) && s.startsWith("=")) {
-                        scale = Double.parseDouble(s.substring(1));
+                        String substring = s.substring(1);
+                        String s1 = new StringBuilder(substring).reverse().toString();
+                        scale = Double.parseDouble(s1);//50.8    67.6
+                        if (slave.getId()>3){
+                            scale = scale - 50.8;
+                        } else {
+                            scale = scale - 67.6;
+                        }
+
+                        //灏嗙О閲嶉噸閲忓啓鍏ヨ澶囧熀纭�鏁版嵁涓殑gross_wt瀛楁
+                        if(scale > 20) {
+                            BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+                            BasDevp basDevp = basDevpService.selectById(slave.getStaNo());
+                            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", slave.getStaNo());
+                                jsonObject.put("scale", scale);
+                                if (OutputQueue.SCALE.size() >= 32) {
+                                    OutputQueue.SCALE.poll();
+                                }
+                                OutputQueue.SCALE.offer(jsonObject);
+                            }
+                        }
                     }
                 }
                 Thread.sleep(100);
@@ -66,7 +100,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 +110,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 +145,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