From 211cd083bc9fc1871779802650dfe0e607d8ca77 Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期五, 10 五月 2024 08:25:12 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
index 10a3b2f..85636ee 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
@@ -1,6 +1,7 @@
 package com.mes.device;
 
 import java.lang.reflect.Array;
+import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
@@ -146,9 +147,13 @@
                     Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
 
                 }
+
                 if (plcParameterInfo.getAddressLength() == 2) {
                     plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
-                } else if (plcParameterInfo.getAddressLength() == 14) {
+                } else if (plcParameterInfo.getAddressLength() == 4) {
+                    plcParameterInfo.setValue(String.valueOf(byte2int(valueList)));
+                }
+                else if (plcParameterInfo.getAddressLength() >10) {
                     plcParameterInfo.setValue((byteToHexString(valueList)));
                 } else {
                     String valuestr = new String(valueList);
@@ -186,9 +191,21 @@
         return l;
     }
 
+    /**
+     * byte[]绫诲瀷杞瑂hort
+     *
+     * @param b byte[]绫诲瀷鍊�
+     */
+    public static short byte2int(byte[] b) {
+        short l = 0;
+        for (int i = 0; i < 4; i++) {
+            l <<= 8; //<<=鍜屾垜浠殑 +=鏄竴鏍风殑锛屾剰鎬濆氨鏄� l = l << 8
+            l |= (b[3-i] & 0xff); //鍜屼笂闈篃鏄竴鏍风殑  l = l | (b[i]&0xff)
+        }
+        return l;
+    }
     public static String byteToHexString(byte[] bytes) {
-
-        String str = new String(bytes, StandardCharsets.UTF_8);
+        String str = new String(bytes, StandardCharsets.UTF_8).trim();
         return str;
     }
 

--
Gitblit v1.8.0