From 9ef48d7b2da7c408b53f73be0f6eef3cbac1c84a Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 19 十一月 2020 10:23:45 +0800 Subject: [PATCH] Evoyo.Home1.1.0120111601_Release --- ZigbeeApp/Shared/Phone/TemplateData/TemplateCommonLogic.cs | 47 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 38 insertions(+), 9 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/TemplateData/TemplateCommonLogic.cs b/ZigbeeApp/Shared/Phone/TemplateData/TemplateCommonLogic.cs index 2407f44..64db30b 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"; @@ -1198,7 +1220,7 @@ dicRealRoom[gateway.GwId] = gateway.RoomId; } //鑾峰彇鍏ㄩ儴鐗╃悊璁惧鎵�灞炴埧闂寸殑璁板綍 - var dicDeviceRoom = Common.LocalDevice.Current.GetAllRealDeviceRoomData(); + var dicDeviceRoom = HdlRoomLogic.Current.GetAllRealDeviceRoomData(); foreach (var strMac in dicDeviceRoom.Keys) { dicRealRoom[strMac] = dicDeviceRoom[strMac]; @@ -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); @@ -1324,7 +1353,7 @@ //鏇存敼鐗╃悊璁惧鎵�鍦ㄧ殑鎴块棿 if (this.modelData.dicDeviceTemplateRealRoom.ContainsKey(targetMac) == true) { - Common.LocalDevice.Current.SaveRealDeviceRoomId(listDevice, this.modelData.dicDeviceTemplateRealRoom[targetMac], false); + HdlRoomLogic.Current.SaveRealDeviceRoomId(listDevice, this.modelData.dicDeviceTemplateRealRoom[targetMac], false); } //璁板綍缂撳瓨 @@ -1467,7 +1496,7 @@ //鍙樻洿缃戝叧鎴块棿 if (this.modelData.dicDeviceTemplateRealRoom.ContainsKey(targetGwid) == true) { - HdlGatewayLogic.Current.ChangedGatewayRoom(sourceGwid, this.modelData.dicDeviceTemplateRealRoom[targetGwid]); + HdlRoomLogic.Current.ChangedGatewayRoom(sourceGwid, this.modelData.dicDeviceTemplateRealRoom[targetGwid]); } //鍙樻洿缃戝叧鍚嶅瓧 //if (this.modelData.dicGatewayInfo.ContainsKey(targetGwid) == true) @@ -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