From b4093bc3cbe7e1c347bd9d366528a74b8a18f570 Mon Sep 17 00:00:00 2001
From: ningshuxia <ningshuxia0927@outlook.com>
Date: 星期五, 18 十一月 2022 17:24:26 +0800
Subject: [PATCH] 苏州金庭电磁流量计对接(未完成!)

---
 Socket/IStation.DataDockingSocket4SZJT_KT/HandleHelper.cs |   51 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 36 insertions(+), 15 deletions(-)

diff --git a/Socket/IStation.DataDockingSocket4SZJT_KT/HandleHelper.cs b/Socket/IStation.DataDockingSocket4SZJT_KT/HandleHelper.cs
index 4ddf606..5c7875a 100644
--- a/Socket/IStation.DataDockingSocket4SZJT_KT/HandleHelper.cs
+++ b/Socket/IStation.DataDockingSocket4SZJT_KT/HandleHelper.cs
@@ -12,12 +12,41 @@
     public class HandleHelper : IDataDockingSocket.IHandleHelper
     {
         /// <summary>
+        /// 楠岃瘉
+        /// </summary> 
+        public bool Valid(byte[] bytes)
+        {
+            SZJTKTLogHelper.Info($"瀛楄妭闀垮害:{bytes.Count()}");
+            if (bytes == null || bytes.Count() < 1)
+                return false;
+            var appParas = AppParasHelper.Get(); 
+            SZJTKTLogHelper.Info($"鑾峰彇鍙傛暟");
+            if (appParas == null)
+                return false;
+            var bytePrefix = new byte[8];
+            Array.Copy(bytes, 0, bytePrefix, 0, 8); 
+            var prefix = Encoding.ASCII.GetString(bytePrefix);
+            SZJTKTLogHelper.Info($"鍓嶇紑:{prefix}");
+            if (prefix != appParas.Prefix)
+                return false;
+
+            byte[] byteProductID = new byte[4];
+            Array.Copy(bytes, 9, byteProductID, 0, 4);
+            var productId = HandleDataHelper.Bytes2Int4(byteProductID);
+            SZJTKTLogHelper.Info($"璁惧缂栧彿:{productId}"); 
+            if (productId.ToString() != appParas.ProductID)
+                return false;
+
+            return true;
+        }
+
+        /// <summary>
         /// 澶勭悊娉ㄥ唽鐮�
         /// </summary>
         public void HandleRegisterCode(IMonitorDataDockingSession session)
         {
             try
-            { 
+            {
                 if (session == null)
                 {
                     SZJTKTLogHelper.Error("session == null");
@@ -49,12 +78,6 @@
                     return;
                 }
 
-                SZJTKTLogHelper.Info("寮�濮嬭В鏋愮殑浣嶇疆!");
-                foreach (var item in appParas.InstructionItems)
-                {
-                    SendInstructionJobHelper.StartJob(session, item);
-                    Thread.Sleep(appParas.InstructionSendSpace * 1000);
-                }
             }
 
             catch (Exception ex)
@@ -70,8 +93,8 @@
         {
 
         }
+        
 
-         
 
         /// <summary>
         /// 澶勭悊鏁版嵁
@@ -89,9 +112,7 @@
             if (!session.IsConnected)
                 return;
             if (bytes == null)
-                return;
-            if (!AppParas.Verify(bytes))
-                return;
+                return; 
             if (mappers == null || mappers.Count < 1)
                 return;
             var appParas = AppParasHelper.Get();
@@ -101,10 +122,9 @@
                 return;
             }
 
-            var item = appParas.InstructionItems.Find(x => x.Verify(bytes));
-            if (item == null)
-                return;
-            var src_list = HandleDataHelper.HandleData(item, bytes);
+            SZJTKTLogHelper.Info($"寮�濮嬪鐞嗘暟鎹�:{BitConverter.ToString(bytes)}");
+
+            var src_list = HandleDataHelper.HandleData(bytes);
             if (src_list != null && src_list.Count > 0)
             {
                 var receive_list = new List<Model.MonitorDataDockingReceiveRecord>();
@@ -134,6 +154,7 @@
             }
         }
 
+     
 
     }
 }

--
Gitblit v1.9.3