From 9ab5bd54fadd8fc9c542b48c99a117a4e182669b Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期四, 14 十月 2021 16:37:56 +0800 Subject: [PATCH] 智能空开能源界面数据更新 --- HDL_ON/Entity/Function/SecurityAlarm.cs | 182 ++++++++++++++++++++++++--------------------- 1 files changed, 98 insertions(+), 84 deletions(-) diff --git a/HDL_ON/Entity/Function/SecurityAlarm.cs b/HDL_ON/Entity/Function/SecurityAlarm.cs index 4eda460..68cc8d8 100644 --- a/HDL_ON/Entity/Function/SecurityAlarm.cs +++ b/HDL_ON/Entity/Function/SecurityAlarm.cs @@ -6,99 +6,70 @@ namespace HDL_ON.Entity { - /// <summary> - /// 瀹夐槻涓績 - /// </summary> - public class SecurityCenter - { - static SecurityCenter _center; - public static SecurityCenter Security + public class SecurityCenter111111 + { + static SecurityCenter111111 _securityCenter; + + public static SecurityCenter111111 Ins { get { - if(_center == null) + if (_securityCenter == null) { - _center = new SecurityCenter(); + _securityCenter = new SecurityCenter111111(); } - return _center; + return _securityCenter; } } - SecurityAlarm _securityAlarm; + /// <summary> + /// 甯冮槻涓� + /// </summary> + public bool InDefense + { + get + { + lock (FunctionList.List.securities) + { + var temp = FunctionList.List.securities.Find((obj) => obj.status == "enable"); + return temp == null ? false : true; + } + } + } + + /// <summary> + /// 鎶ヨ涓� + /// </summary> + public bool InAlarm + { + get + { + lock (FunctionList.List.securities) + { + var temp = FunctionList.List.securities.Find((obj) => obj.alarm == true); + return temp == null ? false : true; + } + } + } + + SecurityAlarm _inDefenseMode; /// <summary> /// 褰撳墠甯冮槻妯″紡 /// </summary> - public SecurityAlarm CurrentDefenseMode + public SecurityAlarm InDefenseMode { get { - return _securityAlarm; - } - set - { - _securityAlarm = value; - UI.HomePage.LoadEvent_RefreshSecurityStatus(); - } - } - - HttpServerRequest httpServerRequest = new HttpServerRequest(); - - - - List<SecurityAlarm> _securityAlarmList; - /// <summary> - /// 闃插尯鍒楄〃 - /// </summary> - public List<SecurityAlarm> securityAlarmList - { - get - { - if(_securityAlarmList == null) + if (_inDefenseMode == null) { - _securityAlarmList = GetSecurityAlarmList(); - } - return _securityAlarmList; - } - } - - - /// <summary> - /// 璇诲彇浜戠瀹夐槻鍒楄〃 - /// </summary> - /// <returns></returns> - public List<SecurityAlarm> GetSecurityAlarmList() - { - var pack = httpServerRequest.GetSecurityList(); - if(pack.Code == StateCode.SUCCESS) - { - var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SecurityAlarm>>(pack.Data.ToString()); - if(revData!= null) - { - _securityAlarmList = revData; - return revData; - } - } - return new List<SecurityAlarm>(); - } - - /// <summary> - /// 鐘舵�� enable甯冮槻銆乨isable鎾掗槻 - /// </summary> - public string status - { - get - { - string result = "disable"; - foreach(var s in securityAlarmList) - { - if(s.status == "enable") + lock (FunctionList.List.securities) { - result = "enable"; - break; + var temp = FunctionList.List.securities.Find((obj) => obj.status == "enable"); + return temp; } } - return result; + return _inDefenseMode; } } @@ -106,8 +77,18 @@ } + public class SecurityAlarm { + public SecurityAlarm() + { + pushConfigs.Add(new SecurityPushConfig() + { + pushMethod = "APP", + pushTarget = new List<string>() { UserInfo.Current.ID } + }); + } + /// <summary> /// 瀹夐槻浜戠id /// </summary> @@ -125,9 +106,15 @@ /// </summary> public string delay; /// <summary> - /// 鐘舵�� enable甯冮槻銆乨isable鎾掗槻 + /// 鐘舵�� + /// 甯冮槻:enable + /// 鎾掗槻:disable /// </summary> public string status = "disable"; + /// <summary> + /// 鎶ヨ鐘舵�� + /// </summary> + public bool alarm = false; /// <summary> /// 绫诲瀷 /// "all"--鍏ㄥ畢甯冮槻锛� @@ -183,6 +170,8 @@ public string SaveInfo() { HttpServerRequest hsr = new HttpServerRequest(); + this.noticeConfig.enable = true; + this.noticeConfig.noticeContent = Language.StringByID(StringId.SecurityAlarmTipString).Replace("{0}", name); if (string.IsNullOrEmpty(sid)) { NewSid(); @@ -190,7 +179,8 @@ if (pack.Code == StateCode.SUCCESS) { SaveFile(); - }else + } + else { sid = ""; } @@ -246,9 +236,9 @@ int maxId = 1; - for (int i = 0; i < SecurityCenter.Security.securityAlarmList.Count; i++) + for (int i = 0; i < FunctionList.List.securities.Count; i++) { - string s = SecurityCenter.Security.securityAlarmList[i].sid.Substring(20, 4); + string s = FunctionList.List.securities[i].sid.Substring(20, 4); int iThisSceneId = Convert.ToInt16(s, 16); if (iThisSceneId > maxId) maxId = iThisSceneId; @@ -337,6 +327,11 @@ /// 瀹夐槻杈撳叆鏉′欢 /// </summary> public List<SecurityInputCondition> condition = new List<SecurityInputCondition>(); + + /// <summary> + /// 鍒ゆ柇鏉′欢 + /// </summary> + public string comparator = "="; /// <summary> /// 鍔犲叆杈撳叆鏉′欢 @@ -432,11 +427,11 @@ case SPK.SensorSmoke: foreach (var con in condition) { - if (con.value == "true") + if (con.value == "true" || con.value == "alarm") { text += Language.StringByID(StringId.InAlarm) + " "; } - else if (con.value == "false") + else if (con.value == "false" || con.value == "normal") { text += Language.StringByID(StringId.Normal) + " "; } @@ -458,11 +453,11 @@ case SPK.SensorWater: foreach (var con in condition) { - if (con.value == "true") + if (con.value == "true" || con.value == "alarm") { text += Language.StringByID(StringId.WaterLeakage) + " "; } - else if (con.value == "false") + else if (con.value == "false" || con.value == "normal") { text += Language.StringByID(StringId.Normal) + " "; } @@ -471,11 +466,11 @@ case SPK.SensorDoorWindow: foreach (var con in condition) { - if (con.value == "true") + if (con.value == "true" || con.value == "open") { text += Language.StringByID(StringId.Open) + " "; } - else if (con.value == "false") + else if (con.value == "false" || con.value == "close") { text += Language.StringByID(StringId.Close) + " "; } @@ -636,4 +631,23 @@ /// </summary> public List<string> pushTarget = new List<string>(); } + + + /// <summary> + /// A鍗忚鎺у埗鏁版嵁鐨勫璞� + /// </summary> + public class SecurityStatusObj + { + public List<SecurityStatusData> objects = new List<SecurityStatusData>(); + + public string time_stamp = ""; + public string id = ""; + } + + public class SecurityStatusData + { + public string sid; + public string status ="disable" ; + public bool alarm = false; + } } -- Gitblit v1.8.0