From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期三, 22 六月 2022 11:22:18 +0800
Subject: [PATCH] 修改引用路径

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs | 1070 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 530 insertions(+), 540 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs
old mode 100755
new mode 100644
index 8b16438..f2a48fa
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs
@@ -11,531 +11,526 @@
     /// </summary>
     public class HdlAlarmsLogic
     {
-        #region 鈻� 鍙橀噺澹版槑___________________________
+        #region 鈻� 鍙橀噺澹版槑___________________________
 
-        /// <summary>
-        /// 鏈湴瀹夐槻鏁版嵁
-        /// </summary>
-        private static HdlAlarmsLogic m_Current = null;
-        /// <summary>
-        /// 鏈湴瀹夐槻鏁版嵁
-        /// </summary>
-        public static HdlAlarmsLogic Current
-        {
-            get
-            {
-                if (m_Current == null)
-                {
-                    m_Current = new HdlAlarmsLogic();
-                }
-                return m_Current;
-            }
-        }
-
-        /// <summary>
-        /// 瀹夐槻涓婃姤淇℃伅
-        /// </summary>
-        public List<SafeguardAlarmInfo> listSafetyAlarmInfo = new List<SafeguardAlarmInfo>();
-        /// <summary>
-        /// 闂ㄩ攣涓婃姤淇℃伅
-        /// </summary>
-        public List<DeviceAlarmInfo> listDoorLockAlarmInfo = new List<DeviceAlarmInfo>();
-        /// <summary>
-        /// 涓婁竴娆″畨闃蹭笂鎶ヤ俊鎭繚瀛樼殑鏂囦欢鍚嶅瓧(鑰冭檻鍒扮敤鎴锋湁鍙兘24鐐圭殑鏃跺�欙紝涓嶉��鍑篈PP)
-        /// </summary>
+        /// <summary>
+        /// 鏈湴瀹夐槻鏁版嵁
+        /// </summary>
+        private static HdlAlarmsLogic m_Current = null;
+        /// <summary>
+        /// 鏈湴瀹夐槻鏁版嵁
+        /// </summary>
+        public static HdlAlarmsLogic Current
+        {
+            get
+            {
+                if (m_Current == null)
+                {
+                    m_Current = new HdlAlarmsLogic();
+                }
+                return m_Current;
+            }
+        }
+
+        /// <summary>
+        /// 瀹夐槻涓婃姤淇℃伅
+        /// </summary>
+        public List<SafeguardAlarmInfo> listSafetyAlarmInfo = new List<SafeguardAlarmInfo>();
+        /// <summary>
+        /// 闂ㄩ攣涓婃姤淇℃伅
+        /// </summary>
+        public List<DeviceAlarmInfo> listDoorLockAlarmInfo = new List<DeviceAlarmInfo>();
+        /// <summary>
+        /// 涓婁竴娆″畨闃蹭笂鎶ヤ俊鎭繚瀛樼殑鏂囦欢鍚嶅瓧(鑰冭檻鍒扮敤鎴锋湁鍙兘24鐐圭殑鏃跺�欙紝涓嶉��鍑篈PP)
+        /// </summary>
         private string oldDeviceAlarmFile = string.Empty;
 
         #endregion
-
-        #region 鈻� 鎶ヨ淇℃伅涓婃姤浜嬩欢___________________
-
-        /// <summary>
-        /// 娣诲姞鎶ヨ淇℃伅涓婃姤浜嬩欢(涓嶉渶瑕佸啀鎵ц浠讳綍鎿嶄綔,骞朵笖姘镐箙瀛樺湪)
-        /// </summary>
-        public void AddAlarmInfoEvent()
-        {
-            //瀹夐槻璁惧涓婃姤
-            HdlDeviceAttributeLogic.Current.AddAttributeEvent("SaveSafetyAlarmInfo", "IASInfoReport", (device)=>
+
+        #region 鈻� 閲嶆柊鍒锋柊鎶ヨ淇℃伅___________________
+
+        /// <summary>
+        /// 閲嶆柊鍒锋柊鎶ヨ淇℃伅
+        /// </summary>
+        public void RefreshAlarmInfo()
+        {
+            this.listSafetyAlarmInfo.Clear();
+            this.listDoorLockAlarmInfo.Clear();
+            string fileName = DateTime.Now.ToString("yyyyMMdd");
+
+            //瀹夐槻鎶ヨ
+            string fullName = System.IO.Path.Combine(DirNameResourse.SafeguardAlarmDirectory, fileName);
+            var data1 = HdlFileLogic.Current.ReadFileByteContent(fullName);
+            if (data1 != null)
             {
-                if (HdlGatewayLogic.Current.IsGatewayExist(device.CurrentGateWayId) == true)
+                this.listSafetyAlarmInfo = JsonConvert.DeserializeObject<List<SafeguardAlarmInfo>>(System.Text.Encoding.UTF8.GetString(data1));
+                if (this.listSafetyAlarmInfo == null)
                 {
-                    //淇濆瓨瀹夐槻鎶ヨ淇℃伅鍒版湰鍦�
-                    this.SaveSafeguardAlarmInfo(device);
+                    this.listSafetyAlarmInfo = new List<SafeguardAlarmInfo>();
                 }
-            });
-        }
+            }
 
-        #endregion
-
-        #region 鈻� 閲嶆柊鍒锋柊鎶ヨ淇℃伅___________________
-
-        /// <summary>
-        /// 閲嶆柊鍒锋柊鎶ヨ淇℃伅
-        /// </summary>
-        public void RefreshAlarmInfo()
-        {
-            this.listSafetyAlarmInfo.Clear();
-            this.listDoorLockAlarmInfo.Clear();
-            string fileName = DateTime.Now.ToString("yyyyMMdd");
-
-            //鍒ゆ柇鏈夋病鏈夎繖涓枃浠�
-            string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardAlarmDirectory, fileName);
-            if (System.IO.File.Exists(fullName) == true)
-            {
-                lock (listSafetyAlarmInfo)
-                {
-                    string dir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardAlarmDirectory);
-                    var data = Global.ReadFileByDirectory(dir, fileName);
-                    this.listSafetyAlarmInfo = JsonConvert.DeserializeObject<List<SafeguardAlarmInfo>>(System.Text.Encoding.UTF8.GetString(data));
-                    if (this.listSafetyAlarmInfo == null)
-                    {
-                        this.listSafetyAlarmInfo = new List<SafeguardAlarmInfo>();
-                    }
-                }
-            }
-            //闂ㄩ攣璁板綍
-            fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DoorLockAlarmDirectory, fileName);
-            if (System.IO.File.Exists(fullName) == true)
-            {
-                lock (listDoorLockAlarmInfo)
-                {
-                    string dir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DoorLockAlarmDirectory);
-                    var data = Global.ReadFileByDirectory(dir, fileName);
-                    this.listDoorLockAlarmInfo = JsonConvert.DeserializeObject<List<DeviceAlarmInfo>>(System.Text.Encoding.UTF8.GetString(data));
-                    if (this.listDoorLockAlarmInfo == null)
-                    {
-                        this.listDoorLockAlarmInfo = new List<DeviceAlarmInfo>();
-                    }
-                }
-            }
-        }
-
-        #endregion
-
-        #region 鈻� 瀹夐槻鎶ヨ淇濆瓨_______________________
-
-        /// <summary>
-        /// 淇濆瓨瀹夐槻鎶ヨ淇℃伅鍒版湰鍦�
-        /// </summary>
-        /// <param name="device"></param>
-        public bool SaveSafeguardAlarmInfo(CommonDevice device)
-        {
-            int ZoneId = HdlSafeguardLogic.Current.GetZoneIdByIASZone(device);
-            if (ZoneId == -1)
-            {
-                //杩欎釜浼犳劅鍣ㄤ笉瀛樺湪浜庝换浣曢槻鍖�
-                return false;
-            }
-            var msgInfo = this.GetSensorAlarmInfo(device);
-            if (msgInfo == null)
-            {
-                //寮傚父锛燂紵
-                return false;
-            }
-
-            lock (listSafetyAlarmInfo)
-            {
-                //鑾峰彇淇濆瓨瀹夐槻淇℃伅鐨勬枃浠跺悕瀛�
-                string fileName = this.GetSafeguardAlarmFileName();
-
-                var data = new SafeguardAlarmInfo();
-                data.AlarmType = SafeguardAlarmType.Sensor;
-                data.ZoneId = ZoneId;
-                data.DeviceAddr = device.DeviceAddr;
-                data.DeviceEpoint = device.DeviceEpoint;
-                data.DeviceName = device.DeviceName;
-                data.Time = DateTime.Now.ToString("HH:mm:ss");
-                data.RoomName = Common.Room.CurrentRoom.GetRoomNameByDevice(device);
-                //鎶ヨ缁撴潫
-                data.AlarmMsg = msgInfo.AlarmMsg != string.Empty ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uAlarmFinish);
-                //鐢垫睜鎶ヨ
-                data.BatteryMsg = msgInfo.BatteryMsg;
-                //琚媶鎶ヨ
-                data.DemolishmentMsg = msgInfo.DemolishmenMsg;
-
-                //闄愬埗瀹冪殑闀垮害
-                this.listSafetyAlarmInfo.Insert(0, data);
-                if (this.listSafetyAlarmInfo.Count > UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
-                {
-                    this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
-                }
-
-                //淇濆瓨鍒版湰鍦�
-                var saveData = JsonConvert.SerializeObject(this.listSafetyAlarmInfo);
-                var byteData = System.Text.Encoding.UTF8.GetBytes(saveData);
-                string dir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardAlarmDirectory);
-                Global.WriteFileToDirectoryByBytes(dir, fileName, byteData);
-                return true;
-            }
-        }
-
-        /// <summary>
-        /// 淇濆瓨甯冮槻鎿嶄綔淇℃伅鍒版湰鍦�
-        /// </summary>
-        /// <param name="garrison">甯冮槻妯″紡</param>
-        /// <param name="appendText">闄勫姞鏂囨湰</param>
-        /// <param name="push">鏄惁鎺ㄩ�佸埌瀹夐槻涓荤晫闈�</param>
-        public void SaveSafeguardAlarmInfo(GarrisonMode garrison, string appendText = "", bool push = false)
-        {
-            if (garrison == GarrisonMode.None)
-            {
-                return;
-            }
-
-            lock (listSafetyAlarmInfo)
-            {
-                //鑾峰彇淇濆瓨瀹夐槻淇℃伅鐨勬枃浠跺悕瀛�
-                string fileName = this.GetSafeguardAlarmFileName();
-
-                var data = new SafeguardAlarmInfo();
-                data.Time = DateTime.Now.ToString("HH:mm:ss");
-                data.AlarmType = SafeguardAlarmType.None;
-                if (garrison == GarrisonMode.AtHome)
-                {
-                    data.AlarmType = SafeguardAlarmType.AtHome;
-                    //娌℃湁鍐呴儴闃插尯
-                    if (HdlSafeguardLogic.Current.IsHadInternalDefenseArea() == false)
-                    {
-                        //甯冮槻宸叉墽琛�
-                        data.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uExecuteGarrison);
-                    }
-                    else
-                    {
-                        //鍦ㄥ甯冮槻宸叉墽琛�
-                        data.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uExecuteAtHomeGarrison);
-                    }
-                }
-                else if (garrison == GarrisonMode.RemoveHome)
-                {
-                    //绂诲甯冮槻宸叉墽琛�
-                    data.AlarmType = SafeguardAlarmType.RemoveHome;
-                    data.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uExecuteRemoveHomeGarrison);
-                }
-                else if (garrison == GarrisonMode.RemoveGarrison)
-                {
-                    //鎾ら槻宸叉墽琛�
-                    data.AlarmType = SafeguardAlarmType.RemoveGarrison;
-                    data.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uExecuteWithdrawGarrison);
-                }
-                else
-                {
-                    return;
-                }
-                //娣诲姞闄勫姞鏂囨湰
-                data.AlarmMsg = data.AlarmMsg + appendText;
-
-                //闄愬埗瀹冪殑闀垮害
-                this.listSafetyAlarmInfo.Insert(0, data);
-                if (this.listSafetyAlarmInfo.Count > UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
-                {
-                    this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
-                }
-
-                //淇濆瓨鍒版湰鍦�
-                var saveData = JsonConvert.SerializeObject(this.listSafetyAlarmInfo);
-                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);
-                    }
-                }
-            }
-        }
-
-        /// <summary>
-        /// 鑾峰彇淇濆瓨瀹夐槻淇℃伅鐨勬枃浠跺悕瀛�
-        /// </summary>
-        /// <returns></returns>
-        private string GetSafeguardAlarmFileName()
-        {
-            string fileName = DateTime.Now.ToString("yyyyMMdd");
-            if (fileName != oldDeviceAlarmFile)
-            {
-                //鑰冭檻鍒扮敤鎴锋湁鍙兘24鐐圭殑鏃跺�欎笉閫�鍑篈PP,杩欎釜鏃跺�欑洿鎺ュ埛鏂�
-                this.RefreshAlarmInfo();
-            }
-            oldDeviceAlarmFile = fileName;
-            return fileName;
-        }
-
-        /// <summary>
-        /// 鑾峰彇鏈湴璁板綍鐨勫畨闃叉姤璀︿俊鎭�
-        /// </summary>
-        /// <returns></returns>
-        public Dictionary<string, List<SafeguardAlarmInfo>> GetSafeguardAlarmInfo()
-        {
-            lock (listSafetyAlarmInfo)
-            {
-                string fullPath = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardAlarmDirectory);
-                //鍊熺敤涓�涓嬭嚜鍔ㄥ浠借幏鍙栨寚瀹氱洰褰曚笅闈㈢殑鏂囦欢鐨勫嚱鏁�
-                List<string> listFile = HdlAutoBackupLogic.GetFileFromDirectory(fullPath);
-                //鍗囧簭
-                listFile.Sort();
-                var dic = new Dictionary<string, List<SafeguardAlarmInfo>>();
-                string dir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardAlarmDirectory);
-                for (int i = listFile.Count - 1; i >= 0; i--)
-                {
-                    var data = Global.ReadFileByDirectory(dir, listFile[i]);
-                    var info = JsonConvert.DeserializeObject<List<SafeguardAlarmInfo>>(System.Text.Encoding.UTF8.GetString(data));
-                    if (info == null)
-                    {
-                        continue;
-                    }
-                    var listInfo = new List<SafeguardAlarmInfo>();
-                    for (int j = 0; j < info.Count; j++)
-                    {
-                        if (j == UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
-                        {
-                            //姣忓ぉ鏈�澶氫笁鍗佹潯鏁版嵁
-                            break;
-                        }
-                        listInfo.Add(info[j]);
-                    }
-                    dic[listFile[i]] = listInfo;
-
-                    if (dic.Count == UserCenterResourse.Option.SafetyMaxAlarmMsgDay)
-                    {
-                        //鍙涓夊ぉ鐨勯噺
-                        break;
-                    }
-                }
-                return dic;
-            }
-        }
-
-        #endregion
-
-        #region 鈻� 浼犳劅鍣ㄦ姤璀︾殑淇℃伅缈昏瘧鏂囨湰___________
-
-        /// <summary>
-        /// 鑾峰彇浼犳劅鍣ㄦ姤璀︾殑淇℃伅缈昏瘧鏂囨湰(杩斿洖null鍒欒〃绀烘病鏈夎揪鎴愭姤璀︽潯浠�,鍋滄鎶ヨ鍒欒繑鍥炵┖瀛楃涓�)
-        /// </summary>
-        /// <param name="i_device"></param>
-        /// <returns></returns>
-        public IASZoneReportInfo GetSensorAlarmInfo(CommonDevice i_device)
-        {
-            //IAS瀹夐槻淇℃伅涓婃姤
-            if ((i_device is IASZone) == false)
-            {
-                return null;
-            }
-            string mainkey = Common.LocalDevice.Current.GetDeviceMainKeys(i_device);
-            //鍥犱负鎺ㄩ�佺殑鏄櫄鎷熺殑璁惧锛屾墍浠ュ幓鑾峰彇鐪熷疄鐗╃悊璁惧
-            CommonDevice device = Common.LocalDevice.Current.GetDevice(mainkey);
-            if (device == null)
-            {
-                return null;
-            }
-            IASZone iASZone = (IASZone)i_device;
-
-            var alarmInfo = new IASZoneReportInfo();
-            if (iASZone.iASInfo.Battery == 1)
-            {
-                //鐢垫睜鐢甸噺浣�
-                alarmInfo.BatteryMsg = Language.StringByID(R.MyInternationalizationString.uLowElectricityConsumption);
-            }
-            if (iASZone.iASInfo.Tamper == 1)
-            {
-                //璁惧琚媶闄�
-                alarmInfo.DemolishmenMsg = Language.StringByID(R.MyInternationalizationString.uDeviceWasDismantled);
-            }
-
-            //杩愬姩浼犳劅鍣�
-            if (device.IasDeviceType == 13)
-            {
-                if (iASZone.iASInfo.Alarm1 == 1)
-                {
-                    //鏈変笉鏄庣墿浣撶粡杩�
-                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uHadUnKnowObjectPassed);
-                }
-            }
-            //鐑熼浘浼犳劅鍣�
-            else if (device.IasDeviceType == 40)
-            {
-                if (iASZone.iASInfo.Alarm1 == 1)
-                {
-                    //鐑熼浘鎶ヨ
-                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uSmogAlarm);
-                }
-            }
-            //姘翠镜浼犳劅鍣�
-            else if (device.IasDeviceType == 42)
-            {
-                if (iASZone.iASInfo.Alarm1 == 1)
-                {
-                    //妫�娴嬪埌婕忔按
-                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uWaterLeakageDetection);
-                }
-            }
-            //鐕冩皵浼犳劅鍣�
-            else if (device.IasDeviceType == 43)
-            {
-                if (iASZone.iASInfo.Alarm1 == 1)
-                {
-                    //鐕冩皵娉勬紡
-                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uCarbonMonoxideRevealed);
-                }
-            }
-            //绱ф�ユ寜閽�
-            else if (device.IasDeviceType == 44)
-            {
-                //绱ф�ユ寜閽�
-                if (iASZone.iASInfo.Alarm1 == 1)
-                {
-                    //绱ф�ユ寜閽鎸変笅
-                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uEmergencyButtonPressdown);
-                }
-            }
-            //閽ュ寵鎵�
-            else if (device.IasDeviceType == 277)
-            {
-                if (iASZone.iASInfo.Alarm1 == 1)
-                {
-                    //閽ュ寵鎵hЕ鍙戞姤璀�
-                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uKeyFobAlarm);
-                }
-            }
-            //闂ㄧ獥浼犳劅鍣�
-            else if (device.IasDeviceType == 21 || device.IasDeviceType == 22)
-            {
-                if (iASZone.iASInfo.Alarm1 == 1)
-                {
-                    //闂ㄧ獥琚墦寮�
-                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorOrWindowHadBeenOpen);
-                }
-                else
-                {
-                    //闂ㄧ獥宸插叧闂�
-                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorOrWindowHadClosed);
-                }
-            }
-            else
-            {
-                //浼犳劅鍣�
-                if (iASZone.iASInfo.Alarm1 == 1)
-                {
-                    //瑙﹀彂浼犳劅鍣ㄦ姤璀�
-                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered);
-                }
-            }
-            return alarmInfo;
+            //闂ㄩ攣璁板綍
+            fullName = System.IO.Path.Combine(DirNameResourse.DoorLockAlarmDirectory, fileName);
+            var data2 = HdlFileLogic.Current.ReadFileByteContent(fullName);
+            if (data2 != null)
+            {
+                this.listDoorLockAlarmInfo = JsonConvert.DeserializeObject<List<DeviceAlarmInfo>>(System.Text.Encoding.UTF8.GetString(data2));
+                if (this.listDoorLockAlarmInfo == null)
+                {
+                    this.listDoorLockAlarmInfo = new List<DeviceAlarmInfo>();
+                }
+            }
         }
 
         #endregion
 
-        #region 鈻� 闂ㄩ攣鎶ヨ淇濆瓨_______________________
+        #region 鈻� 瀹夐槻鎶ヨ淇濆瓨_______________________
 
-        /// <summary>
-        /// 淇濆瓨闂ㄩ攣鎶ヨ淇℃伅鍒版湰鍦�
-        /// </summary>
-        /// <param name="jobject"></param>
-        public bool SaveDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject)
+        /// <summary>
+        /// 淇濆瓨瀹夐槻鎶ヨ淇℃伅鍒版湰鍦�
+        /// </summary>
+        /// <param name="device"></param>
+        public bool SaveSafeguardAlarmInfo(CommonDevice device)
         {
-            var device = Common.LocalDevice.Current.GetDevice(jobject.Value<string>("DeviceAddr"), jobject.Value<int>("Epoint"));
+            int ZoneId = HdlSafeguardLogic.Current.GetZoneIdByIASZone(device);
+            if (ZoneId == -1)
+            {
+                //杩欎釜浼犳劅鍣ㄤ笉瀛樺湪浜庝换浣曢槻鍖�
+                return false;
+            }
+            var msgInfo = this.GetSensorAlarmInfo(device);
+            if (msgInfo == null)
+            {
+                //寮傚父锛燂紵
+                return false;
+            }
+
+            lock (listSafetyAlarmInfo)
+            {
+                //鑾峰彇淇濆瓨瀹夐槻淇℃伅鐨勬枃浠跺悕瀛�
+                string fileName = this.GetSafeguardAlarmFileName();
+
+                var data = new SafeguardAlarmInfo();
+                data.AlarmType = SafeguardAlarmType.Sensor;
+                data.ZoneId = ZoneId;
+                data.DeviceAddr = device.DeviceAddr;
+                data.DeviceEpoint = device.DeviceEpoint;
+                data.DeviceName = device.DeviceName;
+                data.Time = DateTime.Now.ToString("HH:mm:ss");
+                data.RoomName = HdlRoomLogic.Current.GetRoomNameByDevice(device);
+                //鎶ヨ缁撴潫
+                data.AlarmMsg = msgInfo.AlarmMsg != string.Empty ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uAlarmFinish);
+                //鐢垫睜鎶ヨ
+                data.BatteryMsg = msgInfo.BatteryMsg;
+                //琚媶鎶ヨ
+                data.DemolishmentMsg = msgInfo.DemolishmenMsg;
+
+                //闄愬埗瀹冪殑闀垮害
+                this.listSafetyAlarmInfo.Insert(0, data);
+                if (this.listSafetyAlarmInfo.Count > UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
+                {
+                    this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
+                }
+
+                //淇濆瓨鍒版湰鍦�
+                string fullName = System.IO.Path.Combine(DirNameResourse.SafeguardAlarmDirectory, fileName);
+                HdlFileLogic.Current.SaveFileContent(fullName, this.listSafetyAlarmInfo);
+
+                if (UserCenterResourse.DicActionForm.ContainsKey("SafetyManagementMainForm") == true)
+                {
+                    var form = (Phone.UserCenter.Safety.SafetyManagementMainForm)UserCenterResourse.DicActionForm["SafetyManagementMainForm"];
+                    form?.AddSafeguardLogPushRow(device);
+                }
+                return true;
+            }
+        }
+
+        /// <summary>
+        /// 淇濆瓨甯冮槻鎿嶄綔淇℃伅鍒版湰鍦�
+        /// </summary>
+        /// <param name="garrison">甯冮槻妯″紡</param>
+        /// <param name="appendText">闄勫姞鏂囨湰</param>
+        public void SaveSafeguardAlarmInfo(GarrisonMode garrison, string appendText = "")
+        {
+            if (garrison == GarrisonMode.None)
+            {
+                return;
+            }
+
+            lock (listSafetyAlarmInfo)
+            {
+                //鑾峰彇淇濆瓨瀹夐槻淇℃伅鐨勬枃浠跺悕瀛�
+                string fileName = this.GetSafeguardAlarmFileName();
+
+                var data = new SafeguardAlarmInfo();
+                data.Time = DateTime.Now.ToString("HH:mm:ss");
+                data.AlarmType = SafeguardAlarmType.None;
+                if (garrison == GarrisonMode.AtHome)
+                {
+                    data.AlarmType = SafeguardAlarmType.AtHome;
+                    //娌℃湁鍐呴儴闃插尯
+                    if (HdlSafeguardLogic.Current.IsHadInternalDefenseArea() == false)
+                    {
+                        //甯冮槻宸叉墽琛�
+                        data.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uExecuteGarrison);
+                    }
+                    else
+                    {
+                        //鍦ㄥ甯冮槻宸叉墽琛�
+                        data.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uExecuteAtHomeGarrison);
+                    }
+                }
+                else if (garrison == GarrisonMode.RemoveHome)
+                {
+                    //绂诲甯冮槻宸叉墽琛�
+                    data.AlarmType = SafeguardAlarmType.RemoveHome;
+                    data.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uExecuteRemoveHomeGarrison);
+                }
+                else if (garrison == GarrisonMode.RemoveGarrison)
+                {
+                    //鎾ら槻宸叉墽琛�
+                    data.AlarmType = SafeguardAlarmType.RemoveGarrison;
+                    data.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uExecuteWithdrawGarrison);
+                }
+                else
+                {
+                    return;
+                }
+                //娣诲姞闄勫姞鏂囨湰
+                data.AlarmMsg = data.AlarmMsg + appendText;
+
+                //闄愬埗瀹冪殑闀垮害
+                this.listSafetyAlarmInfo.Insert(0, data);
+                if (this.listSafetyAlarmInfo.Count > UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
+                {
+                    this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
+                }
+
+                //淇濆瓨鍒版湰鍦�
+                string fullName = System.IO.Path.Combine(DirNameResourse.SafeguardAlarmDirectory, fileName);
+                HdlFileLogic.Current.SaveFileContent(fullName, this.listSafetyAlarmInfo);
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇淇濆瓨瀹夐槻淇℃伅鐨勬枃浠跺悕瀛�
+        /// </summary>
+        /// <returns></returns>
+        private string GetSafeguardAlarmFileName()
+        {
+            string fileName = DateTime.Now.ToString("yyyyMMdd");
+            if (fileName != oldDeviceAlarmFile)
+            {
+                //鑰冭檻鍒扮敤鎴锋湁鍙兘24鐐圭殑鏃跺�欎笉閫�鍑篈PP,杩欎釜鏃跺�欑洿鎺ュ埛鏂�
+                this.RefreshAlarmInfo();
+            }
+            oldDeviceAlarmFile = fileName;
+            return fileName;
+        }
+
+        /// <summary>
+        /// 鑾峰彇鏈湴璁板綍鐨勫畨闃叉姤璀︿俊鎭�
+        /// </summary>
+        /// <returns></returns>
+        public Dictionary<string, List<SafeguardAlarmInfo>> GetSafeguardAlarmInfo()
+        {
+            lock (listSafetyAlarmInfo)
+            {
+                string fullPath = DirNameResourse.SafeguardAlarmDirectory;
+                //鑾峰彇鎸囧畾鐩綍涓嬮潰鐨勬枃浠�
+                List<string> listFile = HdlFileLogic.Current.GetFileFromDirectory(fullPath);
+                //鍗囧簭
+                listFile.Sort();
+                var dic = new Dictionary<string, List<SafeguardAlarmInfo>>();
+                for (int i = listFile.Count - 1; i >= 0; i--)
+                {
+                    var data = HdlFileLogic.Current.ReadFileByteContent(System.IO.Path.Combine(fullPath, listFile[i]));
+                    var info = JsonConvert.DeserializeObject<List<SafeguardAlarmInfo>>(System.Text.Encoding.UTF8.GetString(data));
+                    if (info == null)
+                    {
+                        continue;
+                    }
+                    var listInfo = new List<SafeguardAlarmInfo>();
+                    for (int j = 0; j < info.Count; j++)
+                    {
+                        if (j == UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
+                        {
+                            //姣忓ぉ鏈�澶氫笁鍗佹潯鏁版嵁
+                            break;
+                        }
+                        listInfo.Add(info[j]);
+                    }
+                    dic[listFile[i]] = listInfo;
+
+                    if (dic.Count == UserCenterResourse.ResidenceOption.SafetyMaxAlarmMsgDay)
+                    {
+                        //鍙涓夊ぉ鐨勯噺
+                        break;
+                    }
+                }
+                return dic;
+            }
+        }
+
+        #endregion
+
+        #region 鈻� 浼犳劅鍣ㄦ姤璀︾殑淇℃伅缈昏瘧鏂囨湰___________
+
+        /// <summary>
+        /// 鑾峰彇浼犳劅鍣ㄦ姤璀︾殑淇℃伅缈昏瘧鏂囨湰(杩斿洖null鍒欒〃绀烘病鏈夎揪鎴愭姤璀︽潯浠�,鍋滄鎶ヨ鍒欒繑鍥炵┖瀛楃涓�)
+        /// </summary>
+        /// <param name="i_device"></param>
+        /// <returns></returns>
+        public IASZoneReportInfo GetSensorAlarmInfo(CommonDevice i_device)
+        {
+            //IAS瀹夐槻淇℃伅涓婃姤
+            if ((i_device is IASZone) == false)
+            {
+                return null;
+            }
+            string mainkey = Common.LocalDevice.Current.GetDeviceMainKeys(i_device);
+            //鍥犱负鎺ㄩ�佺殑鏄櫄鎷熺殑璁惧锛屾墍浠ュ幓鑾峰彇鐪熷疄鐗╃悊璁惧
+            CommonDevice device = Common.LocalDevice.Current.GetDevice(mainkey);
+            if (device == null)
+            {
+                return null;
+            }
+            IASZone iASZone = (IASZone)i_device;
+            if (iASZone.iASInfo == null)
+            {
+                return null;
+            }
+
+            var alarmInfo = new IASZoneReportInfo();
+            if (iASZone.iASInfo.Battery == 1)
+            {
+                //鐢垫睜鐢甸噺浣�
+                alarmInfo.BatteryMsg = Language.StringByID(R.MyInternationalizationString.uLowElectricityConsumption);
+            }
+            if (iASZone.iASInfo.Tamper == 1)
+            {
+                //璁惧琚媶闄�
+                alarmInfo.DemolishmenMsg = Language.StringByID(R.MyInternationalizationString.uDeviceWasDismantled);
+            }
+
+            //杩愬姩浼犳劅鍣�
+            if (device.IasDeviceType == 13 || device.IasDeviceType == 541)
+            {
+                if (iASZone.iASInfo.Alarm1 == 1)
+                {
+                    //鏈変汉缁忚繃
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uHadUnKnowObjectPassed);
+                }
+            }
+            //鐑熼浘浼犳劅鍣�
+            else if (device.IasDeviceType == 40)
+            {
+                if (iASZone.iASInfo.Alarm1 == 1)
+                {
+                    //鐑熼浘鎶ヨ
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uSmogAlarm);
+                }
+            }
+            //姘翠镜浼犳劅鍣�
+            else if (device.IasDeviceType == 42)
+            {
+                if (iASZone.iASInfo.Alarm1 == 1)
+                {
+                    //妫�娴嬪埌婕忔按
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uWaterLeakageDetection);
+                }
+            }
+            //鐕冩皵浼犳劅鍣�
+            else if (device.IasDeviceType == 43)
+            {
+                if (iASZone.iASInfo.Alarm1 == 1)
+                {
+                    //鐕冩皵娉勬紡
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uCarbonMonoxideRevealed);
+                }
+            }
+            //绱ф�ユ寜閽�
+            else if (device.IasDeviceType == 44)
+            {
+                //绱ф�ユ寜閽�
+                if (iASZone.iASInfo.Alarm1 == 1)
+                {
+                    //绱ф�ユ寜閽鎸変笅
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uEmergencyButtonPressdown);
+                }
+            }
+            //閽ュ寵鎵�
+            else if (device.IasDeviceType == 277)
+            {
+                if (iASZone.iASInfo.Alarm1 == 1)
+                {
+                    //閽ュ寵鎵hЕ鍙戞姤璀�
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uKeyFobAlarm);
+                }
+            }
+            //闂ㄧ獥浼犳劅鍣�
+            else if (device.IasDeviceType == 21 || device.IasDeviceType == 22)
+            {
+                if (iASZone.iASInfo.Alarm1 == 1)
+                {
+                    //闂ㄧ獥琚墦寮�
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorOrWindowHadBeenOpen);
+                }
+                else
+                {
+                    //闂ㄧ獥宸插叧闂�
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorOrWindowHadClosed);
+                }
+            }
+            else
+            {
+                //浼犳劅鍣�
+                if (iASZone.iASInfo.Alarm1 == 1)
+                {
+                    //瑙﹀彂浼犳劅鍣ㄦ姤璀�
+                    alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered);
+                }
+            }
+            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 鈻� 闂ㄩ攣鎶ヨ淇濆瓨_______________________
+
+        /// <summary>
+        /// 淇濆瓨闂ㄩ攣鎶ヨ淇℃伅鍒版湰鍦�
+        /// </summary>
+        /// <param name="jobject"></param>
+        public bool SaveDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject)
+        {
+            var device = Common.LocalDevice.Current.GetDevice(jobject.Value<string>("DeviceAddr"), jobject.Value<int>("Epoint"));
             if ((device is ZigBee.Device.DoorLock) == false)
             {
                 //瀹冧笉鏄棬閿�
                 return false;
-            }
-            var msgInfo = this.GetDoorLockAlarmInfo(jobject);
-            if (msgInfo == null)
-            {
-                //寮傚父锛燂紵
-                return false;
-            }
-
-            lock (listDoorLockAlarmInfo)
-            {
-                //鑾峰彇淇濆瓨瀹夐槻淇℃伅鐨勬枃浠跺悕瀛�
-                string fileName = this.GetSafeguardAlarmFileName();
-
-                msgInfo.DeviceAddr = device.DeviceAddr;
-                msgInfo.DeviceEpoint = device.DeviceEpoint;
-                msgInfo.DeviceName = device.DeviceName;
-                msgInfo.Time = DateTime.Now.ToString("HH:mm:ss");
-                msgInfo.RoomName = Common.Room.CurrentRoom.GetRoomNameByDevice(device);
-
-                //闄愬埗瀹冪殑闀垮害
-                this.listDoorLockAlarmInfo.Insert(0, msgInfo);
-                if (this.listDoorLockAlarmInfo.Count > UserCenterResourse.Option.DoorLockOnedayMaxAlarmMsgCount)
-                {
-                    this.listDoorLockAlarmInfo.RemoveAt(this.listDoorLockAlarmInfo.Count - 1);
-                }
-
-                //淇濆瓨鍒版湰鍦�
-                var saveData = JsonConvert.SerializeObject(this.listDoorLockAlarmInfo);
-                var byteData = System.Text.Encoding.UTF8.GetBytes(saveData);
-                string dir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DoorLockAlarmDirectory);
-                Global.WriteFileToDirectoryByBytes(dir, fileName, byteData);
-                return true;
-            }
-        }
-
-        /// <summary>
-        /// 鑾峰彇鏈湴璁板綍鐨勯棬閿佹姤璀︿俊鎭�
-        /// </summary>
-        /// <returns></returns>
-        public Dictionary<string, List<DeviceAlarmInfo>> GetAllDoorLockAlarmInfo()
-        {
-            lock (listDoorLockAlarmInfo)
-            {
-                string fullPath = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DoorLockAlarmDirectory);
-                //鍊熺敤涓�涓嬭嚜鍔ㄥ浠借幏鍙栨寚瀹氱洰褰曚笅闈㈢殑鏂囦欢鐨勫嚱鏁�
-                List<string> listFile = HdlAutoBackupLogic.GetFileFromDirectory(fullPath);
-                //鍗囧簭
-                listFile.Sort();
-                var dic = new Dictionary<string, List<DeviceAlarmInfo>>();
-                string dir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DoorLockAlarmDirectory);
-                for (int i = listFile.Count - 1; i >= 0; i--)
-                {
-                    var data = Global.ReadFileByDirectory(dir, listFile[i]);
-                    var info = JsonConvert.DeserializeObject<List<DeviceAlarmInfo>>(System.Text.Encoding.UTF8.GetString(data));
-                    if (info == null)
-                    {
-                        continue;
-                    }
-                    var listInfo = new List<DeviceAlarmInfo>();
-                    for (int j = 0; j < info.Count; j++)
-                    {
-                        if (j == UserCenterResourse.Option.DoorLockOnedayMaxAlarmMsgCount)
-                        {
-                            //姣忓ぉ鏈�澶氫笁鍗佹潯鏁版嵁
-                            break;
-                        }
-                        listInfo.Add(info[j]);
-                    }
-                    dic[listFile[i]] = listInfo;
-
-                    if (dic.Count == UserCenterResourse.Option.DoorLockMaxAlarmMsgDay)
-                    {
-                        //鍙涓夊ぉ鐨勯噺
-                        break;
-                    }
-                }
-                return dic;
-            }
+            }
+            var msgInfo = this.GetDoorLockAlarmInfo(jobject);
+            if (msgInfo == null)
+            {
+                //寮傚父锛燂紵
+                return false;
+            }
+
+            lock (listDoorLockAlarmInfo)
+            {
+                //鑾峰彇淇濆瓨瀹夐槻淇℃伅鐨勬枃浠跺悕瀛�
+                string fileName = this.GetSafeguardAlarmFileName();
+
+                msgInfo.DeviceAddr = device.DeviceAddr;
+                msgInfo.DeviceEpoint = device.DeviceEpoint;
+                msgInfo.DeviceName = device.DeviceName;
+                msgInfo.Time = DateTime.Now.ToString("HH:mm:ss");
+                msgInfo.RoomName = HdlRoomLogic.Current.GetRoomNameByDevice(device);
+
+                //闄愬埗瀹冪殑闀垮害
+                this.listDoorLockAlarmInfo.Insert(0, msgInfo);
+                if (this.listDoorLockAlarmInfo.Count > UserCenterResourse.ResidenceOption.DoorLockOnedayMaxAlarmMsgCount)
+                {
+                    this.listDoorLockAlarmInfo.RemoveAt(this.listDoorLockAlarmInfo.Count - 1);
+                }
+
+                //淇濆瓨鍒版湰鍦�
+                string fullName = System.IO.Path.Combine(DirNameResourse.DoorLockAlarmDirectory, fileName);
+                HdlFileLogic.Current.SaveFileContent(fullName, this.listDoorLockAlarmInfo);
+
+                return true;
+            }
         }
 
-        #endregion
+        /// <summary>
+        /// 鑾峰彇鏈湴璁板綍鐨勯棬閿佹姤璀︿俊鎭�
+        /// </summary>
+        /// <returns></returns>
+        public Dictionary<string, List<DeviceAlarmInfo>> GetAllDoorLockAlarmInfo()
+        {
+            lock (listDoorLockAlarmInfo)
+            {
+                string fullPath = DirNameResourse.DoorLockAlarmDirectory;
+                //鑾峰彇鎸囧畾鐩綍涓嬮潰鐨勬枃浠�
+                List<string> listFile = HdlFileLogic.Current.GetFileFromDirectory(fullPath);
+                //鍗囧簭
+                listFile.Sort();
+                var dic = new Dictionary<string, List<DeviceAlarmInfo>>();
+                for (int i = listFile.Count - 1; i >= 0; i--)
+                {
+                    var data = HdlFileLogic.Current.ReadFileByteContent(System.IO.Path.Combine(fullPath, listFile[i]));
+                    var info = JsonConvert.DeserializeObject<List<DeviceAlarmInfo>>(System.Text.Encoding.UTF8.GetString(data));
+                    if (info == null)
+                    {
+                        continue;
+                    }
+                    var listInfo = new List<DeviceAlarmInfo>();
+                    for (int j = 0; j < info.Count; j++)
+                    {
+                        if (j == UserCenterResourse.ResidenceOption.DoorLockOnedayMaxAlarmMsgCount)
+                        {
+                            //姣忓ぉ鏈�澶氫笁鍗佹潯鏁版嵁
+                            break;
+                        }
+                        listInfo.Add(info[j]);
+                    }
+                    dic[listFile[i]] = listInfo;
 
-        #region 鈻� 闂ㄩ攣鎶ヨ鐨勪俊鎭炕璇戞枃鏈琠____________
+                    if (dic.Count == UserCenterResourse.ResidenceOption.DoorLockMaxAlarmMsgDay)
+                    {
+                        //鍙涓夊ぉ鐨勯噺
+                        break;
+                    }
+                }
+                return dic;
+            }
+        }
 
-        /// <summary>
-        /// 鑾峰彇闂ㄩ攣鎶ヨ鐨勪俊鎭炕璇戞枃鏈�(杩斿洖null鍒欒〃绀烘潯浠舵湭杈炬垚)
-        /// </summary>
-        /// <param name="jobject"></param>
-        /// <returns></returns>
-        private DeviceAlarmInfo GetDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject)
-        {
-            var info = (DoorLockAlarmsResult)JsonConvert.DeserializeObject<DoorLockAlarmsResult>(jobject["Data"].ToString());
-            var alarmInfo = new DeviceAlarmInfo();
+        #endregion
+
+        #region 鈻� 闂ㄩ攣鎶ヨ鐨勪俊鎭炕璇戞枃鏈琠____________
+
+        /// <summary>
+        /// 鑾峰彇闂ㄩ攣鎶ヨ鐨勪俊鎭炕璇戞枃鏈�(杩斿洖null鍒欒〃绀烘潯浠舵湭杈炬垚)
+        /// </summary>
+        /// <param name="jobject"></param>
+        /// <returns></returns>
+        public DeviceAlarmInfo GetDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject)
+        {
+            var info = JsonConvert.DeserializeObject<DoorLockAlarmsResult>(jobject["Data"].ToString());
+            var alarmInfo = new DeviceAlarmInfo();
 
             if (info.Clusterid == 1)
             {
@@ -572,62 +567,57 @@
                     //鏆村姏寮�闂�
                     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.MsgDiv = 9000;
                 }
-                else if (info.AlarmCode == 32)
+                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 == 232)
+                {
+                    //鏈変汉璁块棶
                     alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg8);
                 }
             }
-            return alarmInfo.AlarmMsg == string.Empty ? null : alarmInfo;
+            return alarmInfo.AlarmMsg == string.Empty ? null : alarmInfo;
         }
 
         #endregion
 
         #region 鈻� 涓�鑸柟娉昣__________________________
 
-        /// <summary>
-        /// 鑾峰彇鎶ヨ淇℃伅鐨勬枃浠跺悕瀛�
-        /// </summary>
-        /// <returns></returns>
-        private string GetAlarmFileName()
-        {
-            string fileName = DateTime.Now.ToString("yyyyMMdd");
-            if (fileName != oldDeviceAlarmFile)
-            {
-                //鑰冭檻鍒扮敤鎴锋湁鍙兘24鐐圭殑鏃跺�欎笉閫�鍑篈PP,杩欎釜鏃跺�欑洿鎺ュ埛鏂�
-                this.RefreshAlarmInfo();
-            }
-            oldDeviceAlarmFile = fileName;
-            return fileName;
-        }
-
-        #endregion
-
-        #region 鈻� 缁撴瀯浣揰____________________________
-
         /// <summary>
-        /// 闂ㄩ攣鐨勬姤璀︾粨鏋�
+        /// 鑾峰彇鎶ヨ淇℃伅鐨勬枃浠跺悕瀛�
         /// </summary>
-        private class DoorLockAlarmsResult
+        /// <returns></returns>
+        private string GetAlarmFileName()
         {
-            /// <summary>
-            /// 鎶ヨ绫诲瀷
-            /// </summary>
-            public int AlarmCode = -1;
-            /// <summary>
-            /// Clusterid
-            /// </summary>
-            public int Clusterid = -1;
+            string fileName = DateTime.Now.ToString("yyyyMMdd");
+            if (fileName != oldDeviceAlarmFile)
+            {
+                //鑰冭檻鍒扮敤鎴锋湁鍙兘24鐐圭殑鏃跺�欎笉閫�鍑篈PP,杩欎釜鏃跺�欑洿鎺ュ埛鏂�
+                this.RefreshAlarmInfo();
+            }
+            oldDeviceAlarmFile = fileName;
+            return fileName;
         }
 
         #endregion

--
Gitblit v1.8.0