From 4f0ab0ad21ce450b7856d50f98322a7899361386 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 10:30:01 +0800
Subject: [PATCH] 不要下载这个备份
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs | 218 ++++++++++++++++++++++++++----------------------------
1 files changed, 104 insertions(+), 114 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs
index 2c9951a..5eeab9e 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 鈻� 閲嶆柊鍒锋柊鎶ヨ淇℃伅___________________
@@ -78,34 +58,27 @@
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)
+ //瀹夐槻鎶ヨ
+ string fullName = System.IO.Path.Combine(DirNameResourse.SafeguardAlarmDirectory, fileName);
+ var data1 = HdlFileLogic.Current.ReadFileByteContent(fullName);
+ if (data1 != null)
{
- lock (listSafetyAlarmInfo)
+ this.listSafetyAlarmInfo = JsonConvert.DeserializeObject<List<SafeguardAlarmInfo>>(System.Text.Encoding.UTF8.GetString(data1));
+ if (this.listSafetyAlarmInfo == null)
{
- 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>();
- }
+ this.listSafetyAlarmInfo = new List<SafeguardAlarmInfo>();
}
}
+
//闂ㄩ攣璁板綍
- fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DoorLockAlarmDirectory, fileName);
- if (System.IO.File.Exists(fullName) == true)
+ fullName = System.IO.Path.Combine(DirNameResourse.DoorLockAlarmDirectory, fileName);
+ var data2 = HdlFileLogic.Current.ReadFileByteContent(fullName);
+ if (data2 != null)
{
- lock (listDoorLockAlarmInfo)
+ this.listDoorLockAlarmInfo = JsonConvert.DeserializeObject<List<DeviceAlarmInfo>>(System.Text.Encoding.UTF8.GetString(data2));
+ if (this.listDoorLockAlarmInfo == null)
{
- 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>();
- }
+ this.listDoorLockAlarmInfo = new List<DeviceAlarmInfo>();
}
}
}
@@ -145,7 +118,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,16 +128,20 @@
//闄愬埗瀹冪殑闀垮害
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);
}
//淇濆瓨鍒版湰鍦�
- 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);
+ 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;
}
}
@@ -174,8 +151,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,26 +202,14 @@
//闄愬埗瀹冪殑闀垮害
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);
}
//淇濆瓨鍒版湰鍦�
- 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);
- }
- }
+ string fullName = System.IO.Path.Combine(DirNameResourse.SafeguardAlarmDirectory, fileName);
+ HdlFileLogic.Current.SaveFileContent(fullName, this.listSafetyAlarmInfo);
}
}
@@ -273,16 +237,15 @@
{
lock (listSafetyAlarmInfo)
{
- string fullPath = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardAlarmDirectory);
- //鍊熺敤涓�涓嬭嚜鍔ㄥ浠借幏鍙栨寚瀹氱洰褰曚笅闈㈢殑鏂囦欢鐨勫嚱鏁�
- List<string> listFile = HdlAutoBackupLogic.GetFileFromDirectory(fullPath);
+ string fullPath = DirNameResourse.SafeguardAlarmDirectory;
+ //鑾峰彇鎸囧畾鐩綍涓嬮潰鐨勬枃浠�
+ List<string> listFile = HdlFileLogic.Current.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 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)
{
@@ -291,7 +254,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 +263,7 @@
}
dic[listFile[i]] = listInfo;
- if (dic.Count == UserCenterResourse.SafetyMaxAlarmMsgDay)
+ if (dic.Count == UserCenterResourse.ResidenceOption.SafetyMaxAlarmMsgDay)
{
//鍙涓夊ぉ鐨勯噺
break;
@@ -334,6 +297,10 @@
return null;
}
IASZone iASZone = (IASZone)i_device;
+ if (iASZone.iASInfo == null)
+ {
+ return null;
+ }
var alarmInfo = new IASZoneReportInfo();
if (iASZone.iASInfo.Battery == 1)
@@ -348,11 +315,11 @@
}
//杩愬姩浼犳劅鍣�
- if (device.IasDeviceType == 13)
+ if (device.IasDeviceType == 13 || device.IasDeviceType == 541)
{
if (iASZone.iASInfo.Alarm1 == 1)
{
- //鏈変笉鏄庣墿浣撶粡杩�
+ //鏈変汉缁忚繃
alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uHadUnKnowObjectPassed);
}
}
@@ -428,7 +395,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 鈻� 闂ㄩ攣鎶ヨ淇濆瓨_______________________
@@ -460,20 +457,19 @@
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);
}
//淇濆瓨鍒版湰鍦�
- 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);
+ string fullName = System.IO.Path.Combine(DirNameResourse.DoorLockAlarmDirectory, fileName);
+ HdlFileLogic.Current.SaveFileContent(fullName, this.listDoorLockAlarmInfo);
+
return true;
}
}
@@ -486,16 +482,15 @@
{
lock (listDoorLockAlarmInfo)
{
- string fullPath = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DoorLockAlarmDirectory);
- //鍊熺敤涓�涓嬭嚜鍔ㄥ浠借幏鍙栨寚瀹氱洰褰曚笅闈㈢殑鏂囦欢鐨勫嚱鏁�
- List<string> listFile = HdlAutoBackupLogic.GetFileFromDirectory(fullPath);
+ string fullPath = DirNameResourse.DoorLockAlarmDirectory;
+ //鑾峰彇鎸囧畾鐩綍涓嬮潰鐨勬枃浠�
+ List<string> listFile = HdlFileLogic.Current.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 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)
{
@@ -504,7 +499,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 +508,7 @@
}
dic[listFile[i]] = listInfo;
- if (dic.Count == UserCenterResourse.DoorLockMaxAlarmMsgDay)
+ if (dic.Count == UserCenterResourse.ResidenceOption.DoorLockMaxAlarmMsgDay)
{
//鍙涓夊ぉ鐨勯噺
break;
@@ -532,9 +527,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)
@@ -572,19 +567,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 +618,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