From 5f92b2034f84caeab9cb6efc61ecbe22407935b4 Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期二, 16 一月 2024 12:14:03 +0800
Subject: [PATCH] 优化主库协议,支持路由

---
 src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java
index bab4d2e..0f3d8ce 100644
--- a/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java
+++ b/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java
@@ -160,7 +160,7 @@
 
         String tempStr = "";
         for (int j = 0;j<cableY;j++){
-            tempStr = strMsg.substring(12 * j,12 * j +12);
+            tempStr = strMsg.substring((6+2*cableZ) * j,(6+2*cableZ)  * j + (6+2*cableZ) );
             //瀵嗛挜鍜岀偣鏁� 02 A4 BB BA BA B4
             String kyeNumHex = tempStr.substring(2, 4);
             String kyeNumBin = BytesUtil.toBinary8String(BytesUtil.hexToInt(kyeNumHex));
@@ -207,14 +207,24 @@
 
         List<Double> points = new ArrayList<>();
         GrainRoot root;
+        List<Double> t = null;
         for (int i = 1; i <= cableX; i++) {
             root = this.getGrainRoot(buildGrainRootKey(reqData.getDevice().getDeviceSn(), i));
 
             if (null == root || null == root.getPoints()) {
                 log.error("-----------瑙f瀽鑾峰彇鎵�鏈夌伯鎯呮娴嬬偣澶辫触锛屽彇娑堟墽琛�---------{}---{}", reqData.getDevice().getDeviceName(),i);
-                return;
+                ;
+                t = new ArrayList<>();
+                for (int x = 0;x<cableY*cableZ;x++
+                     ) {
+                    t.add(-100.00);
+                }
+                //return;
+                points.addAll(t);
+            }else{
+                points.addAll(root.getPoints());
             }
-            points.addAll(root.getPoints());
+
         }
 
         //鎵ц灏佽瑙f瀽
@@ -342,7 +352,7 @@
         reportService.reportGrainData(reqData);
     }
 
-    private void add2GrainMap(GrainRoot grainRoot) {
+    private synchronized  void add2GrainMap(GrainRoot grainRoot) {
         contextGrainRoot.put(grainRoot.getKey(), grainRoot);
     }
 
@@ -371,8 +381,12 @@
 
         int num1 = BytesUtil.hexToInt(valueHex);
         int num2 = BytesUtil.hexToInt(tempHex);
+        if((num1 ^ num2) / 2.0 > 35){
+            return  -100.00;
+        }else {
+            return  (num1 ^ num2) / 2.0;
+        }
 
-        return (num1 ^ num2) / 2.0;
     }
 
     private void add2ThMap(String depotIdSys, THDto th) {

--
Gitblit v1.9.3