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