From dc6493db59dcb0893eac50b72122f94c24056b3f Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 12 十月 2020 14:35:39 +0800 Subject: [PATCH] 新版本 --- ZigbeeApp/Shared/Phone/TemplateData/TemplateCommonLogic.cs | 41 +++++++++++++++++++++++++++++++++++------ 1 files changed, 35 insertions(+), 6 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/TemplateData/TemplateCommonLogic.cs b/ZigbeeApp/Shared/Phone/TemplateData/TemplateCommonLogic.cs index 2407f44..3772876 100755 --- a/ZigbeeApp/Shared/Phone/TemplateData/TemplateCommonLogic.cs +++ b/ZigbeeApp/Shared/Phone/TemplateData/TemplateCommonLogic.cs @@ -366,7 +366,18 @@ else if (strData == "#DeviceInfo END#") { //鍙嶅簭鍒楀寲璁惧 - var device = CommonDevice.CommonDeviceByByteString(deviceType, this.strTempContentData); + CommonDevice device = null; + if (HdlCheckLogic.Current.CheckIsNumber(deviceType) == true) + { + //鏁板�煎瀷涓烘柊鏁版嵁,鐩存帴杞崲 + device = CommonDevice.CommonDeviceByByteString(Convert.ToInt32(deviceType), this.strTempContentData); + } + else + { + //瀛楃涓插瀷涓烘棫鏁版嵁,闇�瑕佺壒娈婂鐞� + var myType = (DeviceType)Enum.Parse(typeof(DeviceType), deviceType); + device = CommonDevice.CommonDeviceByByteString((int)myType, this.strTempContentData); + } if (device != null) { if (this.modelData.dicDeviceInfo.ContainsKey(device.DeviceAddr) == false) @@ -627,6 +638,7 @@ //鏈湴澶囦唤淇濆瓨鎴愬姛 this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.SaveLocalBackDataSuccess)); } + ProgressFormBar.Current.Close(); }); } @@ -711,6 +723,7 @@ { var homeInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<TemplateHomeInfo>(homeData); myModel.ListUintContent.AddRange(homeInfo.ListUintContent); + myModel.ListUintName.AddRange(homeInfo.ListUintName); myModel.ResidenceAddressName = homeInfo.ResidenceAddressName; } } @@ -775,6 +788,15 @@ public string GetNewTemplateFileName() { return "ModelData_Local_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".bin"; + } + + /// <summary> + /// 鑾峰彇涓�涓柊鐨勬ā鏉夸繚瀛樻枃浠跺悕 + /// </summary> + /// <returns></returns> + public string GetNewTemplateFileName(DateTime dateTime) + { + return "ModelData_Local_" + dateTime.ToString("yyyyMMdd_HHmmss") + ".bin"; } #endregion @@ -1047,7 +1069,6 @@ var modelData = new LocalModelBaseInfo(); modelData.EditorTime = DateTime.Now.ToString("yyyy.MM.dd HH:mm"); modelData.ModelName = backUpName; - modelData.ListUintContent.AddRange(Common.Config.Instance.Home.ListUintContent); modelData.FloorCount = Common.Config.Instance.Home.FloorDics.Count; modelData.DeviceCount = this.modelData.dicDeviceTemplateData.Count; //鍔熻兘鏁� @@ -1076,6 +1097,7 @@ { var homeData = new TemplateHomeInfo(); homeData.ResidenceAddressName = Common.Config.Instance.Home.ResidenceAddressName; + homeData.ListUintName.AddRange(Common.Config.Instance.Home.ListUintName); homeData.ListUintContent.AddRange(Common.Config.Instance.Home.ListUintContent); writeText += "#START#\r\n"; @@ -1113,7 +1135,7 @@ foreach (var device in listDevice) { //璁惧绔偣 - writeText += "#DeviceInfo START#" + device.Type.ToString() + "\r\n"; + writeText += "#DeviceInfo START#" + (int)device.Type + "\r\n"; string dataInfo = Newtonsoft.Json.JsonConvert.SerializeObject(device); writeText += dataInfo + "\r\n"; writeText += "#DeviceInfo END#\r\n\r\n"; @@ -1125,7 +1147,7 @@ var otaDevice = Common.LocalDevice.Current.GetOTADevice(device.DeviceAddr); if (otaDevice != null) { - writeText += "#DeviceInfo START#" + otaDevice.Type.ToString() + "\r\n"; + writeText += "#DeviceInfo START#" + (int)otaDevice.Type + "\r\n"; string dataInfo2 = Newtonsoft.Json.JsonConvert.SerializeObject(otaDevice); writeText += dataInfo2 + "\r\n"; writeText += "#DeviceInfo END#\r\n\r\n"; @@ -1273,6 +1295,12 @@ { //鑾峰彇鏈湴鎸囧畾鐨凪ac鐨勫叏閮ㄨ澶� var listDevice = Common.LocalDevice.Current.GetDevicesByMac(sourceMac, false); + var otaDevice = Common.LocalDevice.Current.GetOTADevice(sourceMac); + if (otaDevice != null) + { + //杩欓噷ota璁惧涔熻鍔犺繘鍘�,閲嶄腑涔嬮噸 + listDevice.Add(otaDevice); + } foreach (var device in listDevice) { @@ -1280,7 +1308,8 @@ string localDeviceKey = Common.LocalDevice.Current.GetDeviceMainKeys(device); string templateDeviceKey = Common.LocalDevice.Current.GetDeviceMainKeys(targetMac, device.DeviceEpoint); - if (this.modelData.dicDeviceTemplateRoom.ContainsKey(templateDeviceKey) == true) + if (this.modelData.dicDeviceTemplateRoom.ContainsKey(templateDeviceKey) == true + && (device is OTADevice) == false) { //濡傛灉妯℃澘閲岄潰,杩欎釜绔偣璁剧疆鏈夋埧闂寸殑璇� HdlRoomLogic.Current.ChangedRoom(device, this.modelData.dicDeviceTemplateRoom[templateDeviceKey], false); @@ -1690,7 +1719,7 @@ //淇濆瓨璺緞 string saveFile = DirNameResourse.LocalTemplateDirectory; - saveFile = System.IO.Path.Combine(saveFile, mainkey); + saveFile = System.IO.Path.Combine(saveFile, "Device_" + mainkey); var listData = this.modelData.dicDeviceTemplateData[mainkey]; if (listData.Count == 0) -- Gitblit v1.8.0