From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs |  132 +++++++++++++++++++++-----------------------
 1 files changed, 63 insertions(+), 69 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs
index 516c345..88b24d8 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs
@@ -45,26 +45,6 @@
         /// </summary>
         private string oldDeviceAlarmFile = string.Empty;
 
-        #endregion
-
-        #region 鈻� 鎶ヨ淇℃伅涓婃姤浜嬩欢___________________
-
-        /// <summary>
-        /// 娣诲姞鎶ヨ淇℃伅涓婃姤浜嬩欢(涓嶉渶瑕佸啀鎵ц浠讳綍鎿嶄綔,骞朵笖姘镐箙瀛樺湪)
-        /// </summary>
-        public void AddAlarmInfoEvent()
-        {
-            //瀹夐槻璁惧涓婃姤
-            HdlDeviceAttributeLogic.Current.AddAttributeEvent("SaveSafetyAlarmInfo", "IASInfoReport", (device)=>
-            {
-                if (HdlGatewayLogic.Current.IsGatewayExist(device.CurrentGateWayId) == true)
-                {
-                    //淇濆瓨瀹夐槻鎶ヨ淇℃伅鍒版湰鍦�
-                    this.SaveSafeguardAlarmInfo(device);
-                }
-            });
-        }
-
         #endregion
 
         #region 鈻� 閲嶆柊鍒锋柊鎶ヨ淇℃伅___________________
@@ -145,7 +125,7 @@
                 data.DeviceEpoint = device.DeviceEpoint;
                 data.DeviceName = device.DeviceName;
                 data.Time = DateTime.Now.ToString("HH:mm:ss");
-                data.RoomName = Common.Room.CurrentRoom.GetRoomNameByDevice(device);
+                data.RoomName = HdlRoomLogic.Current.GetRoomNameByDevice(device);
                 //鎶ヨ缁撴潫
                 data.AlarmMsg = msgInfo.AlarmMsg != string.Empty ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uAlarmFinish);
                 //鐢垫睜鎶ヨ
@@ -155,7 +135,7 @@
 
                 //闄愬埗瀹冪殑闀垮害
                 this.listSafetyAlarmInfo.Insert(0, data);
-                if (this.listSafetyAlarmInfo.Count > UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
+                if (this.listSafetyAlarmInfo.Count > UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
                 {
                     this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
                 }
@@ -180,8 +160,7 @@
         /// </summary>
         /// <param name="garrison">甯冮槻妯″紡</param>
         /// <param name="appendText">闄勫姞鏂囨湰</param>
-        /// <param name="push">鏄惁鎺ㄩ�佸埌瀹夐槻涓荤晫闈�</param>
-        public void SaveSafeguardAlarmInfo(GarrisonMode garrison, string appendText = "", bool push = false)
+        public void SaveSafeguardAlarmInfo(GarrisonMode garrison, string appendText = "")
         {
             if (garrison == GarrisonMode.None)
             {
@@ -232,7 +211,7 @@
 
                 //闄愬埗瀹冪殑闀垮害
                 this.listSafetyAlarmInfo.Insert(0, data);
-                if (this.listSafetyAlarmInfo.Count > UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
+                if (this.listSafetyAlarmInfo.Count > UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
                 {
                     this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
                 }
@@ -242,16 +221,6 @@
                 var byteData = System.Text.Encoding.UTF8.GetBytes(saveData);
                 string dir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardAlarmDirectory);
                 Global.WriteFileToDirectoryByBytes(dir, fileName, byteData);
-
-                //鎺ㄩ��
-                if (push == true)
-                {
-                    if (UserCenterResourse.DicActionForm.ContainsKey("SafetyManagementMainForm") == true)
-                    {
-                        var form = (Phone.UserCenter.Safety.SafetyManagementMainForm)UserCenterResourse.DicActionForm["SafetyManagementMainForm"];
-                        form?.AddSafeguardLogPushRow(null);
-                    }
-                }
             }
         }
 
@@ -297,7 +266,7 @@
                     var listInfo = new List<SafeguardAlarmInfo>();
                     for (int j = 0; j < info.Count; j++)
                     {
-                        if (j == UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
+                        if (j == UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
                         {
                             //姣忓ぉ鏈�澶氫笁鍗佹潯鏁版嵁
                             break;
@@ -306,7 +275,7 @@
                     }
                     dic[listFile[i]] = listInfo;
 
-                    if (dic.Count == UserCenterResourse.Option.SafetyMaxAlarmMsgDay)
+                    if (dic.Count == UserCenterResourse.ResidenceOption.SafetyMaxAlarmMsgDay)
                     {
                         //鍙涓夊ぉ鐨勯噺
                         break;
@@ -434,7 +403,37 @@
             return alarmInfo;
         }
 
+        /// <summary>
+        /// 鑾峰彇鍗曚釜Json鏁版嵁閲岄潰,鍖呭惈鐨勫叏閮ㄦ姤璀︿俊鎭潯鏁�
+        /// </summary>
+        /// <param name="alarmInfo"></param>
+        /// <returns></returns>
+        public List<string> GetSensorListAlarmMsg(SafeguardAlarmInfo alarmInfo)
+        {
+            var listMsg = new List<string>();
+            //涓�鏉′俊鎭噷闈紝瀹冨彲鑳藉寘鍚涓姤璀�
+            if (string.IsNullOrEmpty(alarmInfo.AlarmMsg) == false)
+            {
+                //鎶ヨ淇℃伅
+                listMsg.Add(alarmInfo.AlarmMsg);
+            }
+            if (alarmInfo.BatteryMsg != null)
+            {
+                //鐢垫睜鐢甸噺
+                listMsg.Add(alarmInfo.BatteryMsg);
+            }
+            if (alarmInfo.DemolishmentMsg != null)
+            {
+                //琚媶鎶ヨ
+                listMsg.Add(alarmInfo.DemolishmentMsg);
+            }
+
+            return listMsg;
+        }
+
         #endregion
+
+
 
         #region 鈻� 闂ㄩ攣鎶ヨ淇濆瓨_______________________
 
@@ -466,11 +465,11 @@
                 msgInfo.DeviceEpoint = device.DeviceEpoint;
                 msgInfo.DeviceName = device.DeviceName;
                 msgInfo.Time = DateTime.Now.ToString("HH:mm:ss");
-                msgInfo.RoomName = Common.Room.CurrentRoom.GetRoomNameByDevice(device);
+                msgInfo.RoomName = HdlRoomLogic.Current.GetRoomNameByDevice(device);
 
                 //闄愬埗瀹冪殑闀垮害
                 this.listDoorLockAlarmInfo.Insert(0, msgInfo);
-                if (this.listDoorLockAlarmInfo.Count > UserCenterResourse.Option.DoorLockOnedayMaxAlarmMsgCount)
+                if (this.listDoorLockAlarmInfo.Count > UserCenterResourse.ResidenceOption.DoorLockOnedayMaxAlarmMsgCount)
                 {
                     this.listDoorLockAlarmInfo.RemoveAt(this.listDoorLockAlarmInfo.Count - 1);
                 }
@@ -510,7 +509,7 @@
                     var listInfo = new List<DeviceAlarmInfo>();
                     for (int j = 0; j < info.Count; j++)
                     {
-                        if (j == UserCenterResourse.Option.DoorLockOnedayMaxAlarmMsgCount)
+                        if (j == UserCenterResourse.ResidenceOption.DoorLockOnedayMaxAlarmMsgCount)
                         {
                             //姣忓ぉ鏈�澶氫笁鍗佹潯鏁版嵁
                             break;
@@ -519,7 +518,7 @@
                     }
                     dic[listFile[i]] = listInfo;
 
-                    if (dic.Count == UserCenterResourse.Option.DoorLockMaxAlarmMsgDay)
+                    if (dic.Count == UserCenterResourse.ResidenceOption.DoorLockMaxAlarmMsgDay)
                     {
                         //鍙涓夊ぉ鐨勯噺
                         break;
@@ -538,9 +537,9 @@
         /// </summary>
         /// <param name="jobject"></param>
         /// <returns></returns>
-        private DeviceAlarmInfo GetDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject)
+        public DeviceAlarmInfo GetDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject)
         {
-            var info = (DoorLockAlarmsResult)JsonConvert.DeserializeObject<DoorLockAlarmsResult>(jobject["Data"].ToString());
+            var info = JsonConvert.DeserializeObject<DoorLockAlarmsResult>(jobject["Data"].ToString());
             var alarmInfo = new DeviceAlarmInfo();
 
             if (info.Clusterid == 1)
@@ -578,19 +577,33 @@
                     //鏆村姏寮�闂�
                     alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg5);
                 }
-                else if (info.AlarmCode == 16)
+                else if (info.AlarmCode == 216)
                 {
-                    //甯稿紑妯″紡寮�鍚�
+                    //甯稿紑妯″紡寮�鍚�(闂ㄩ攣瑙﹀彂)
                     alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg6);
+                    alarmInfo.MsgDiv = 9000;
                 }
-                else if (info.AlarmCode == 17)
+                else if (info.AlarmCode == 217)
                 {
-                    //甯稿紑妯″紡缁撴潫
-                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg7);
+                    //甯稿紑妯″紡缁撴潫(闂ㄩ攣瑙﹀彂)
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg7);
+                    alarmInfo.MsgDiv = 9000;
+                }
+                else if (info.AlarmCode == 218)
+                {
+                    //甯稿紑妯″紡寮�鍚�(缃戝叧瑙﹀彂)
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg9);
+                    alarmInfo.MsgDiv = 9000;
+                }
+                else if (info.AlarmCode == 219)
+                {
+                    //甯稿紑妯″紡缁撴潫(缃戝叧瑙﹀彂)
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg10);
+                    alarmInfo.MsgDiv = 9000;
                 }
-                else if (info.AlarmCode == 32)
+                else if (info.AlarmCode == 232)
                 {
-                    //闂ㄩ搩瑙﹀彂
+                    //鏈変汉璁块棶
                     alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg8);
                 }
             }
@@ -615,25 +628,6 @@
             }
             oldDeviceAlarmFile = fileName;
             return fileName;
-        }
-
-        #endregion
-
-        #region 鈻� 缁撴瀯浣揰____________________________
-
-        /// <summary>
-        /// 闂ㄩ攣鐨勬姤璀︾粨鏋�
-        /// </summary>
-        private class DoorLockAlarmsResult
-        {
-            /// <summary>
-            /// 鎶ヨ绫诲瀷
-            /// </summary>
-            public int AlarmCode = -1;
-            /// <summary>
-            /// Clusterid
-            /// </summary>
-            public int Clusterid = -1;
         }
 
         #endregion

--
Gitblit v1.8.0