From 4efe844d9bcc03435cbbeb1aedbda5bf6ebf5912 Mon Sep 17 00:00:00 2001 From: ningshuxia <ningshuxia0927@outlook.com> Date: 星期二, 22 十一月 2022 16:46:58 +0800 Subject: [PATCH] 数据对接 --- Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs | 283 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 242 insertions(+), 41 deletions(-) diff --git a/Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs b/Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs index a490e47..e6fadee 100644 --- a/Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs +++ b/Model/IStation.Model.Eta/eta_real/basic/EtaBasicRealRecord.cs @@ -1,6 +1,7 @@ 锘縰sing System; using System.Collections.Generic; using System.Linq; +using System.Reflection.Metadata; using System.Text; using System.Threading.Tasks; @@ -121,6 +122,57 @@ public string AnalyInfo { get; set; } #region AnalyInfo + + #region InfoTag + + /// <summary> + /// 杩愯鐘舵�佸彂鐢熷紓甯哥殑鏍囪瘑 + /// </summary> + public const string InfoTag_RU = "RU"; + /// <summary> + /// 棰戠巼鍙戠敓寮傚父鐨勬爣璇� + /// </summary> + public const string InfoTag_HZ = "HZ"; + /// <summary> + /// 娴侀噺鍙戠敓寮傚父鐨勬爣璇� + /// </summary> + public const string InfoTag_Qa = "Qa"; + /// <summary> + /// 鎵▼鍙戠敓寮傚父鐨勬爣璇� + /// </summary> + public const string InfoTag_Ha = "Ha"; + /// <summary> + /// 杩涘彛鍘嬪姏鍙戠敓寮傚父鐨勬爣璇� + /// </summary> + public const string InfoTag_P1 = "P1"; + /// <summary> + /// 鍑哄彛鍘嬪姏鍙戠敓寮傚父鐨勬爣璇� + /// </summary> + public const string InfoTag_P2 = "P2"; + /// <summary> + /// 鍔熺巼鍙戠敓寮傚父鐨勬爣璇� + /// </summary> + public const string InfoTag_Pa = "Pa"; + /// <summary> + /// 鏁堢巼鍙戠敓寮傚父鐨勬爣璇� + /// </summary> + public const string InfoTag_Ea = "Ea"; + /// <summary> + /// 鐢垫祦鍙戠敓寮傚父鐨勬爣璇� + /// </summary> + public const string InfoTag_Ia = "Ia"; + /// <summary> + /// 鏇茬嚎鍙戠敓寮傚父鐨勬爣璇� + /// </summary> + public const string InfoTag_Curve = "Cu"; + + /// <summary> + /// 娉电珯鍙戠敓寮傚父鐨勬爣璇� + /// </summary> + public const string InfoTag_Station = "St"; + #endregion + + #region Basic /// <summary> /// 娣诲姞鐘舵�� /// </summary> @@ -136,6 +188,7 @@ AnalyInfo = string.Format("{0}|{1}:", AnalyInfo, tag); } } + /// <summary> /// 娣诲姞AnalyInfo鏍囪瘑 /// </summary> @@ -166,6 +219,7 @@ } } } + /// <summary> /// 娣诲姞AnalyInfo鏍囪瘑 /// </summary> @@ -177,7 +231,6 @@ return; } var sss = AnalyInfo.Split('|').ToList(); - for (int i = 0; i < sss.Count(); i++) { if (sss[i].StartsWith(tag)) @@ -211,48 +264,196 @@ } /// <summary> - /// 杩愯鐘舵�佸彂鐢熷紓甯哥殑鏍囪瘑 + /// 鏈夊垎鏋愬紓甯� /// </summary> - public static string InfoTag_RU = "RU"; - /// <summary> - /// 棰戠巼鍙戠敓寮傚父鐨勬爣璇� - /// </summary> - public static string InfoTag_HZ = "HZ"; - /// <summary> - /// 娴侀噺鍙戠敓寮傚父鐨勬爣璇� - /// </summary> - public static string InfoTag_Qa = "Qa"; - /// <summary> - /// 鎵▼鍙戠敓寮傚父鐨勬爣璇� - /// </summary> - public static string InfoTag_Ha = "Ha"; - /// <summary> - /// 杩涘彛鍘嬪姏鍙戠敓寮傚父鐨勬爣璇� - /// </summary> - public static string InfoTag_P1 = "P1"; - /// <summary> - /// 鍑哄彛鍘嬪姏鍙戠敓寮傚父鐨勬爣璇� - /// </summary> - public static string InfoTag_P2 = "P2"; - /// <summary> - /// 鍔熺巼鍙戠敓寮傚父鐨勬爣璇� - /// </summary> - public static string InfoTag_Pa = "Pa"; - /// <summary> - /// 鏁堢巼鍙戠敓寮傚父鐨勬爣璇� - /// </summary> - public static string InfoTag_Ea = "Ea"; - /// <summary> - /// 鐢垫祦鍙戠敓寮傚父鐨勬爣璇� - /// </summary> - public static string InfoTag_Ia = "Ia"; - /// <summary> - /// 鏇茬嚎鍙戠敓寮傚父鐨勬爣璇� - /// </summary> - public static string InfoTag_Curve = "Cu"; + /// <param name="stationId"></param> + /// <returns></returns> + public bool IsHaveStationTag(long stationId) + { + if (string.IsNullOrEmpty(AnalyInfo)) + { + return false; + } + return AnalyInfo.Contains($"{InfoTag_Station}:{stationId}"); + } + #endregion - + + /// <summary> + /// 娣诲姞娉电珯 AnalyInfo鏍囪瘑 + /// </summary> + /// <param name="ePumpAnalyInfo">鏈烘车閿欒淇℃伅</param> + /// <param name="ePumpId">鏈烘车鏍囪瘑</param> + public void PutStationAnalyInfo(string ePumpAnalyInfo, long ePumpId) + { + if (string.IsNullOrEmpty(ePumpAnalyInfo)) + return; + var defaultEdition = "V1"; + if (string.IsNullOrEmpty(AnalyInfo)) + { + AnalyInfo = defaultEdition; + } + + var infoArry = ePumpAnalyInfo.Split('|').ToList(); + foreach (var item in infoArry) + { + if (item == defaultEdition) + continue; + AnalyInfo = $"{AnalyInfo}|{item}:{ePumpId}"; + } + + if (AnalyInfo == defaultEdition) + { + AnalyInfo = null; + } + } + + /// <summary> + /// 娣诲姞涓氬姟 AnalyInfo鏍囪瘑 + /// </summary> + /// <param name="logicAnalyInfo">涓氬姟閿欒淇℃伅</param> + public void PutLogicAnalyInfo(string logicAnalyInfo) + { + if (string.IsNullOrEmpty(logicAnalyInfo)) + return; + var defaultEdition = "V1"; + if (string.IsNullOrEmpty(AnalyInfo)) + { + AnalyInfo = defaultEdition; + } + + var infoArry = logicAnalyInfo.Split('|').ToList(); + foreach (var item in infoArry) + { + if (item == defaultEdition) + continue; + if (item.StartsWith(InfoTag_Station)) + { + AnalyInfo = $"{AnalyInfo}|{item}"; + } + } + + if (AnalyInfo == defaultEdition) + { + AnalyInfo = null; + } + } + + /// <summary> + /// 鑾峰彇閿欒淇℃伅 + /// </summary> + /// <returns></returns> + public List<long> GetStatioinIds() + { + if (string.IsNullOrEmpty(this.AnalyInfo)) + return default; + var list = new List<long>(); + var infoArry = AnalyInfo.Split('|').ToList(); + foreach (var item in infoArry) + { + if (item.StartsWith(InfoTag_Station)) + { + var valueArr = item.Split(':'); + if (valueArr != null && valueArr.Count() > 1) + { + var stationId = valueArr[1]; + if (long.TryParse(stationId, out long id)) + { + list.Add(id); + } + } + } + } + + return list; + } + + /// <summary> + /// 鑾峰彇閿欒淇℃伅 + /// </summary> + /// <returns></returns> + public List<long> GetPumpIds() + { + if (string.IsNullOrEmpty(this.AnalyInfo)) + return default; + var list = new List<long>(); + var infoArry = AnalyInfo.Split('|').ToList(); + foreach (var item in infoArry) + { + var valueArr = item.Split(':'); + if (valueArr != null && valueArr.Count() > 2) + { + var pumpId = valueArr[2]; + if (long.TryParse(pumpId, out long id)) + { + list.Add(id); + } + } + } + return list; + } + + /// <summary> + /// 鑾峰彇閿欒淇℃伅 + /// </summary> + /// <returns></returns> + public string GetAnaInfoCN() + { + var errCN = string.Empty; + if (string.IsNullOrEmpty(this.AnalyInfo)) + return string.Empty; + var tagList = new List<string>(); + var infoArry = AnalyInfo.Split('|').ToList(); + foreach (var item in infoArry) + { + if (item == "V1") + continue; + var valueList = item.Split(':'); + if (valueList != null && valueList.Count() > 0) + { + if (valueList.Count() > 2) + continue; + var tag = valueList[0]; + tagList.Add(tag); + } + } + + if (tagList.Count < 1) + return default; + foreach (var item in tagList) + { + errCN += GetAnaTagCN(item) + "銆�"; + } + + return errCN.Substring(0, errCN.Length - 1) + "娴嬬偣寮傚父!"; + } + + /// <summary> + /// 鑾峰彇鍒嗘瀽閿欒绫诲瀷 + /// </summary> + public string GetAnaTagCN(string anaTag) + { + var tagCN = "鏈煡"; + switch (anaTag) + { + case InfoTag_RU: tagCN = "杩愯鐘舵��"; break; + case InfoTag_HZ: tagCN = "棰戠巼"; break; + case InfoTag_Qa: tagCN = "娴侀噺"; break; + case InfoTag_Ha: tagCN = "鎵▼"; break; + case InfoTag_P1: tagCN = "杩涘彛鍘嬪姏"; break; + case InfoTag_P2: tagCN = "鍑哄彛鍘嬪姏"; break; + case InfoTag_Pa: tagCN = "鍔熺巼"; break; + case InfoTag_Ea: tagCN = "鏁堢巼"; break; + case InfoTag_Ia: tagCN = "鐢垫祦"; break; + case InfoTag_Curve: tagCN = "鏇茬嚎"; break; + } + + return tagCN; + } + #endregion + + #region 璁$畻 @@ -313,7 +514,7 @@ public bool CalcUnitPower() { Calcu_WP(); - return Calcu_UWP(); + return Calcu_UWP(); } /// <summary> /// -- Gitblit v1.9.3