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