From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 256 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 183 insertions(+), 73 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index f93ff6c..d40c649 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using HDL_ON.Entity; using Shared; namespace HDL_ON.UI.UI2.Intelligence.Automation @@ -22,7 +23,7 @@ { MainPage.BasePageView.RemoveViewByTag("Logic"); } - + /// <summary> Converts an array of bytes into a formatted string of hex digits (ex: E4 CA B2)</summary> /// <param name="data"> The array of bytes to be translated into a string of hex digits. </param> /// <returns> Returns a well formatted string of hex digits with spacing. </returns> @@ -104,7 +105,6 @@ } return logicId; } - /// <summary> /// 灏佽Dictionary瀵硅薄 /// </summary> @@ -137,12 +137,13 @@ { List<Entity.Room> roomList = new List<Entity.Room>(); Entity.Room room1 = new Entity.Room(); - room1.roomName = name;//榛樿涓�涓埧闂村悕涓�:鍏ㄩ儴鍖哄煙 - room1.uid = "鍏ㄩ儴鍖哄煙";//榛樿sid鐢ㄨ瘑鍒鎴块棿 + room1.roomName = name;//鑷畾涔夐粯璁や竴涓埧闂村悕涓�:6688 + room1.roomId = "6688";//鑷畾涔夐粯璁d鐢ㄨ瘑鍒鎴块棿 roomList.Add(room1);//榛樿娣诲姞鍒版埧闂村垪琛ㄩ噷 var roomLists = GetGatewayRoomList(); - foreach (var room in roomLists) + for (int i = 0; i < roomLists.Count; i++) { + var room = roomLists[i]; var devlist = GetRoomDevice(room); if (devlist.Count == 0) { @@ -178,18 +179,24 @@ { List<HDL_ON.Entity.Function> deviceLists = new List<Entity.Function>(); List<HDL_ON.Entity.Function> lists = GetGatewayDeviceList(); - foreach (var dev in lists) + if (room.roomId == "6688") { - if (dev.roomIds.Find((id) => id == room.uid) != null) + //榛樿涓�涓埧闂村悕锛�6688 + //鏄剧ず缃戝叧鍏ㄩ儴璁惧 + deviceLists = lists; + } + else + { + for (int i = 0; i < lists.Count; i++) { - deviceLists.Add(dev); - } - if (room.uid == "鍏ㄩ儴鍖哄煙") - { - //鎴块棿鍚嶄负鍏ㄩ儴鍖哄煙鏃讹紝鏄剧ず缃戝叧鍏ㄩ儴璁惧 - deviceLists = lists; - } + var dev = lists[i]; + if (dev.roomIds.Find((id) => id == room.roomId) != null) + { + //娣诲姞灞炰簬杩欎釜鎴块棿鐨勮澶�; + deviceLists.Add(dev); + } + } } return deviceLists; } @@ -202,8 +209,9 @@ { HDL_ON.Entity.Function device = new Entity.Function() { name = "Unknown" }; List<HDL_ON.Entity.Function> deviceLists = GetGatewayDeviceList(); - foreach (var dev in deviceLists) + for (int i = 0; i < deviceLists.Count; i++) { + var dev = deviceLists[i]; if (dev.sid == sid) { device = dev; @@ -222,8 +230,9 @@ { HDL_ON.Entity.Scene scene = new Entity.Scene() { name = "Unknown" }; List<HDL_ON.Entity.Scene> sceneLists = GetSceneList(); - foreach (var sce in sceneLists) + for (int i = 0; i < sceneLists.Count; i++) { + var sce = sceneLists[i]; if (sce.sid == sid) { scene = sce; @@ -241,10 +250,10 @@ { string roomName = ""; List<HDL_ON.Entity.Room> roomLists = GetGatewayRoomList(); - - foreach (var dev in device.roomIds) + for (int i = 0; i < device.roomIds.Count; i++) { - var room = roomLists.Find((c) => c.uid == dev); + var dev = device.roomIds[i]; + var room = roomLists.Find((c) => c.roomId == dev); if (room != null) { roomName += room.floorName + "." + room.roomName + ","; @@ -253,40 +262,55 @@ return roomName.TrimEnd(','); } + #region 鍔ㄤ竴鏀瑰洓 /// <summary> /// 鑾峰彇璁惧绫诲瀷鍥炬爣 /// </summary> /// <param name="functionType">璁惧绫诲瀷</param> /// <returns></returns> - public static string GetIconPath(FunctionType functionType) + public static string GetIconPath(string functionType) { string strPath = ""; switch (functionType) { - case FunctionType.Relay: - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: - case FunctionType.Dimmer: + case SPK.LightSwitch: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: + case SPK.LightDimming: { strPath = "LogicIcon/lightloguc.png"; } break; - case FunctionType.Curtain: - case FunctionType.RollingShutter: - case FunctionType.MotorCurtain: + case SPK.CurtainSwitch: + case SPK.CurtainRoller: + case SPK.CurtainTrietex: { strPath = "LogicIcon/curtainlogic.png"; } break; - case FunctionType.AC: + case SPK.AcStandard: { strPath = "LogicIcon/airconditionerlogic.png"; } break; - case FunctionType.FloorHeating: + case SPK.FloorHeatStandard: { strPath = "LogicIcon/heatlogic.png"; + } + break; + case SPK.SensorSmoke: + case SPK.SensorWater: + case SPK.SensorGas: + case SPK.SensorDryContact: + case SPK.SensorShanLan: + case SPK.SensorDuiShe: + case SPK.SensorPir: + case SPK.SensorDoorWindow: + case SPK.SensoruUtrasonic: + case SPK.SenesorMegahealth: + { + strPath = "LogicIcon/sensor.png"; } break; @@ -302,27 +326,51 @@ { List<string> deviceStrTypeList = new List<string>(); deviceStrTypeList.Clear(); - var lightjosn = deviceList.Find((device) => device.functionType == FunctionType.Relay || device.functionType == FunctionType.Dimmer || device.functionType == FunctionType.ColorTemperature || device.functionType == FunctionType.RGB || device.functionType == FunctionType.RGBW); + var lightjosn = deviceList.Find((device) => + device.spk == SPK.LightSwitch + || device.spk == SPK.LightDimming + || device.spk == SPK.LightCCT + || device.spk == SPK.LightRGB + || device.spk == SPK.LightRGBW); if (lightjosn != null) { deviceStrTypeList.Add(Language.StringByID(StringId.Lights)); } - var curtainjosn = deviceList.Find((device) => device.functionType == FunctionType.Curtain || device.functionType == FunctionType.MotorCurtain || device.functionType == FunctionType.RollingShutter); + var curtainjosn = deviceList.Find((device) => + device.spk == SPK.CurtainSwitch + || device.spk == SPK.CurtainTrietex + || device.spk == SPK.CurtainRoller); if (curtainjosn != null) { deviceStrTypeList.Add(Language.StringByID(StringId.Curtain)); } - var ac = deviceList.Find((device) => device.functionType == FunctionType.AC); + var ac = deviceList.Find((device) => device.spk == SPK.AcStandard); if (ac != null) { deviceStrTypeList.Add(Language.StringByID(StringId.AC)); } - var floorHeating = deviceList.Find((device) => device.functionType == FunctionType.FloorHeating); + var floorHeating = deviceList.Find((device) => device.spk == SPK.FloorHeatStandard); if (floorHeating != null) { deviceStrTypeList.Add(Language.StringByID(StringId.FloorHeating)); + } + var sensor = deviceList.Find((device) => + device.spk == SPK.SensorWater + || device.spk == SPK.SensorGas + || device.spk == SPK.SensorSmoke + || device.spk == SPK.SensorDryContact + || device.spk == SPK.SensorShanLan + || device.spk == SPK.SensorDuiShe + || device.spk == SPK.SensorPir + || device.spk == SPK.SensorDoorWindow + || device.spk == SPK.SensoruUtrasonic + || device.spk == SPK.SenesorMegahealth + ); + if (sensor != null) + { + deviceStrTypeList.Add(Language.StringByID(StringId.Sensor)); } return deviceStrTypeList; @@ -332,30 +380,44 @@ /// </summary> /// <param name="deviceType">璁惧绫诲瀷(鐏厜绫伙紝绐楀笜绫汇��)</param> /// <returns></returns> - public static List<FunctionType> GetDeviceTypeFunctionList(string deviceType) + public static List<string> GetDeviceTypeFunctionList(string deviceType) { - List<FunctionType> functionTypeList = new List<FunctionType>(); + List<string> functionTypeList = new List<string>(); if (deviceType == Language.StringByID(StringId.Lights)) { - functionTypeList.Add(FunctionType.Relay); - functionTypeList.Add(FunctionType.Dimmer); - functionTypeList.Add(FunctionType.RGB); - functionTypeList.Add(FunctionType.RGBW); - functionTypeList.Add(FunctionType.ColorTemperature); + functionTypeList.Add(SPK.LightSwitch); + functionTypeList.Add(SPK.LightDimming); + functionTypeList.Add(SPK.LightRGB); + functionTypeList.Add(SPK.LightRGBW); + functionTypeList.Add(SPK.LightCCT); } else if (deviceType == Language.StringByID(StringId.Curtain)) { - functionTypeList.Add(FunctionType.Curtain); - functionTypeList.Add(FunctionType.RollingShutter); - functionTypeList.Add(FunctionType.MotorCurtain); + functionTypeList.Add(SPK.CurtainSwitch); + functionTypeList.Add(SPK.CurtainRoller); + functionTypeList.Add(SPK.CurtainTrietex); } else if (deviceType == Language.StringByID(StringId.AC)) { - functionTypeList.Add(FunctionType.AC); + functionTypeList.Add(SPK.AcStandard); } else if (deviceType == Language.StringByID(StringId.FloorHeating)) { - functionTypeList.Add(FunctionType.FloorHeating); + functionTypeList.Add(SPK.FloorHeatStandard); + } + else if (deviceType == Language.StringByID(StringId.Sensor)) + { + functionTypeList.Add(SPK.SensorSmoke); + functionTypeList.Add(SPK.SensorWater); + functionTypeList.Add(SPK.SensorGas); + functionTypeList.Add(SPK.SensorDryContact); + functionTypeList.Add(SPK.SensorShanLan); + functionTypeList.Add(SPK.SensorDuiShe); + functionTypeList.Add(SPK.SensorPir); + functionTypeList.Add(SPK.SensorDoorWindow); + functionTypeList.Add(SPK.SensoruUtrasonic); + functionTypeList.Add(SPK.SenesorMegahealth); + } return functionTypeList; @@ -364,59 +426,73 @@ /// 鏉′欢/鐩爣鏀寔璁惧 /// </summary> /// <returns></returns> - public static List<FunctionType> GetSupportEquipment(string if_type) + public static List<string> GetSupportEquipment(string if_type) { - List<FunctionType> deviceTypeList = new List<FunctionType>(); + List<string> deviceTypeList = new List<string>(); switch (if_type) { case condition_if: { - deviceTypeList.Add(FunctionType.Relay); - deviceTypeList.Add(FunctionType.RGB); - deviceTypeList.Add(FunctionType.RGBW); - deviceTypeList.Add(FunctionType.Dimmer); - deviceTypeList.Add(FunctionType.ColorTemperature); - deviceTypeList.Add(FunctionType.Curtain); - deviceTypeList.Add(FunctionType.RollingShutter); - deviceTypeList.Add(FunctionType.MotorCurtain); - deviceTypeList.Add(FunctionType.AC); - deviceTypeList.Add(FunctionType.FloorHeating); + deviceTypeList.Add(SPK.LightSwitch); + deviceTypeList.Add(SPK.LightRGB); + deviceTypeList.Add(SPK.LightRGBW); + deviceTypeList.Add(SPK.LightDimming); + deviceTypeList.Add(SPK.LightCCT); + deviceTypeList.Add(SPK.CurtainSwitch); + deviceTypeList.Add(SPK.CurtainRoller); + deviceTypeList.Add(SPK.CurtainTrietex); + deviceTypeList.Add(SPK.AcStandard); + deviceTypeList.Add(SPK.FloorHeatStandard); + deviceTypeList.Add(SPK.SensorSmoke); + deviceTypeList.Add(SPK.SensorWater); + deviceTypeList.Add(SPK.SensorGas); + deviceTypeList.Add(SPK.SensorDryContact); + deviceTypeList.Add(SPK.SensorShanLan); + deviceTypeList.Add(SPK.SensorDuiShe); + deviceTypeList.Add(SPK.SensorPir); + deviceTypeList.Add(SPK.SensorDoorWindow); + deviceTypeList.Add(SPK.SensoruUtrasonic); + deviceTypeList.Add(SPK.SenesorMegahealth); } break; case target_if: { - deviceTypeList.Add(FunctionType.Relay); - deviceTypeList.Add(FunctionType.RGB); - deviceTypeList.Add(FunctionType.RGBW); - deviceTypeList.Add(FunctionType.Dimmer); - deviceTypeList.Add(FunctionType.ColorTemperature); - deviceTypeList.Add(FunctionType.Curtain); - deviceTypeList.Add(FunctionType.RollingShutter); - deviceTypeList.Add(FunctionType.MotorCurtain); - deviceTypeList.Add(FunctionType.AC); - deviceTypeList.Add(FunctionType.FloorHeating); + deviceTypeList.Add(SPK.LightSwitch); + deviceTypeList.Add(SPK.LightRGB); + deviceTypeList.Add(SPK.LightRGBW); + deviceTypeList.Add(SPK.LightDimming); + deviceTypeList.Add(SPK.LightCCT); + deviceTypeList.Add(SPK.CurtainSwitch); + deviceTypeList.Add(SPK.CurtainRoller); + deviceTypeList.Add(SPK.CurtainTrietex); + deviceTypeList.Add(SPK.AcStandard); + deviceTypeList.Add(SPK.FloorHeatStandard); } break; } return deviceTypeList; } + #endregion /// <summary> /// 鏄剧ず鐨勮澶囧垪琛� /// </summary> /// <param name="functionType">婧愭暟鎹垪琛�1</param> /// <param name="deviceList">婧愭暟鎹垪琛�2</param> /// <returns></returns> - public static List<Entity.Function> GetShowDeviceList(List<FunctionType> functionType, List<HDL_ON.Entity.Function> deviceList) + public static List<Entity.Function> GetShowDeviceList(List<string> functionType, List<HDL_ON.Entity.Function> deviceList) { List<HDL_ON.Entity.Function> devList = new List<Entity.Function>(); - foreach (var dev in deviceList) + for (int i = 0; i < deviceList.Count; i++) { - if (functionType.Contains(dev.functionType)) + var dev = deviceList[i]; + //杩囨护鎺変笉闇�瑕佹樉绀虹殑璁惧 + if (functionType.Contains(dev.spk)) { - ///杩囨护鎺変笉闇�瑕佹樉绀虹殑璁惧 devList.Add(dev); } + } + return devList; } /// <summary> @@ -427,12 +503,46 @@ /// <returns></returns> public static List<Entity.Function> GetFunctionDeviceList(Entity.Room room, string str) { - List<FunctionType> functionTypeList = GetSupportEquipment(str); + List<string> functionTypeList = GetSupportEquipment(str); //杩斿洖鎴块棿璁惧鍒楄〃 var roomDeviceList = GetRoomDevice(room); //杩斿洖鏈�缁堟敮鎸佹樉绀哄嚭鏉ョ殑璁惧鍒楄〃 var list = GetShowDeviceList(functionTypeList, roomDeviceList); return list; } + /// <summary> + /// 缃戝叧ID(鑾峰彇鍢変箰缃戝叧ID) + /// </summary> + public static string GatewayId + { + get + { + if (Entity.DB_ResidenceData.Instance.HomeGateway == null) + { + return DriverLayer.Control.Ins.GatewayId; + } + return Entity.DB_ResidenceData.Instance.HomeGateway.gatewayId; + } + } + /// <summary> + /// 浣忓畢ID + /// </summary> + public static string HomeId + { + get + { + return Entity.DB_ResidenceData.Instance.CurrentRegion.id; + } + } + /// <summary> + /// 鏄惁涓哄叾浠栦富鐢ㄦ埛鍒嗕韩杩囨潵鐨勪綇瀹� + /// </summary> + public static bool IsOthreShare + { + get + { + return Entity.DB_ResidenceData.Instance.CurrentRegion.isOtherShare; + } + } } } -- Gitblit v1.8.0