From 304dca51c28183a9dfc192c6b93ea1c00bdd5d97 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 01 七月 2020 15:00:40 +0800
Subject: [PATCH] 添加了写入功能类型
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs | 142 +++++++++++++++++++++++-----------------------
1 files changed, 71 insertions(+), 71 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs
index 41429d1..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.SafetyOnedayMaxAlarmMsgCount)
+ if (this.listSafetyAlarmInfo.Count > UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
{
this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
}
@@ -165,6 +145,12 @@
var byteData = System.Text.Encoding.UTF8.GetBytes(saveData);
string dir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardAlarmDirectory);
Global.WriteFileToDirectoryByBytes(dir, fileName, byteData);
+
+ if (UserCenterResourse.DicActionForm.ContainsKey("SafetyManagementMainForm") == true)
+ {
+ var form = (Phone.UserCenter.Safety.SafetyManagementMainForm)UserCenterResourse.DicActionForm["SafetyManagementMainForm"];
+ form?.AddSafeguardLogPushRow(device);
+ }
return true;
}
}
@@ -174,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)
{
@@ -226,7 +211,7 @@
//闄愬埗瀹冪殑闀垮害
this.listSafetyAlarmInfo.Insert(0, data);
- if (this.listSafetyAlarmInfo.Count > UserCenterResourse.SafetyOnedayMaxAlarmMsgCount)
+ if (this.listSafetyAlarmInfo.Count > UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
{
this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
}
@@ -236,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);
- }
- }
}
}
@@ -291,7 +266,7 @@
var listInfo = new List<SafeguardAlarmInfo>();
for (int j = 0; j < info.Count; j++)
{
- if (j == UserCenterResourse.SafetyOnedayMaxAlarmMsgCount)
+ if (j == UserCenterResourse.ResidenceOption.SafetyOnedayMaxAlarmMsgCount)
{
//姣忓ぉ鏈�澶氫笁鍗佹潯鏁版嵁
break;
@@ -300,7 +275,7 @@
}
dic[listFile[i]] = listInfo;
- if (dic.Count == UserCenterResourse.SafetyMaxAlarmMsgDay)
+ if (dic.Count == UserCenterResourse.ResidenceOption.SafetyMaxAlarmMsgDay)
{
//鍙涓夊ぉ鐨勯噺
break;
@@ -428,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 鈻� 闂ㄩ攣鎶ヨ淇濆瓨_______________________
@@ -439,7 +444,7 @@
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 DoorLock) == false)
+ if ((device is ZigBee.Device.DoorLock) == false)
{
//瀹冧笉鏄棬閿�
return false;
@@ -460,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.DoorLockOnedayMaxAlarmMsgCount)
+ if (this.listDoorLockAlarmInfo.Count > UserCenterResourse.ResidenceOption.DoorLockOnedayMaxAlarmMsgCount)
{
this.listDoorLockAlarmInfo.RemoveAt(this.listDoorLockAlarmInfo.Count - 1);
}
@@ -504,7 +509,7 @@
var listInfo = new List<DeviceAlarmInfo>();
for (int j = 0; j < info.Count; j++)
{
- if (j == UserCenterResourse.DoorLockOnedayMaxAlarmMsgCount)
+ if (j == UserCenterResourse.ResidenceOption.DoorLockOnedayMaxAlarmMsgCount)
{
//姣忓ぉ鏈�澶氫笁鍗佹潯鏁版嵁
break;
@@ -513,7 +518,7 @@
}
dic[listFile[i]] = listInfo;
- if (dic.Count == UserCenterResourse.DoorLockMaxAlarmMsgDay)
+ if (dic.Count == UserCenterResourse.ResidenceOption.DoorLockMaxAlarmMsgDay)
{
//鍙涓夊ぉ鐨勯噺
break;
@@ -525,16 +530,16 @@
#endregion
- #region 鈻� 闂ㄩ攣鎶ヨ鐨勪俊鎭炕璇戞枃鏈琠___________
+ #region 鈻� 闂ㄩ攣鎶ヨ鐨勪俊鎭炕璇戞枃鏈琠____________
/// <summary>
/// 鑾峰彇闂ㄩ攣鎶ヨ鐨勪俊鎭炕璇戞枃鏈�(杩斿洖null鍒欒〃绀烘潯浠舵湭杈炬垚)
/// </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)
@@ -572,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);
}
}
@@ -609,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