From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 13:21:21 +0800 Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1 --- HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 176 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 142 insertions(+), 34 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index 461b095..7afe5be 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs @@ -8,6 +8,22 @@ public class LogicMethod { + + private static LogicMethod logicMethod = null; + + public static LogicMethod CurrLogicMethod + { + get + { + if (logicMethod == null) + { + return new LogicMethod(); + } + return logicMethod; + } + + } + /// <summary> /// 琛ㄧず鏄潯浠� /// </summary> @@ -19,15 +35,15 @@ /// <summary> /// 绉婚櫎鎵�鏈�"Logic"鐣岄潰 /// </summary> - public static void RemoveAllView() + public void RemoveAllView() { 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> - static string byteArrayToHexString(byte[] data) + public string byteArrayToHexString(byte[] data) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (byte b in data) @@ -46,7 +62,7 @@ * @param i 涓�涓猧nt鏁板瓧 * @return byte[] */ - public static byte[] int2ByteArray(int i) + public byte[] int2ByteArray(int i) { byte[] result = new byte[4]; result[0] = (byte)((i >> 24) & 0xFF); @@ -59,7 +75,7 @@ /// 鑾峰彇鏃堕棿鎴� /// </summary> /// <returns></returns> - static int getTimeStamp() + public int getTimeStamp() { TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); return (int)ts.TotalSeconds; @@ -67,7 +83,7 @@ /// <summary> /// 鐢熸垚閫昏緫sid鏂规硶 /// </summary> - public static string NewSid() + public string NewSid() { string logicId = ""; try @@ -111,7 +127,7 @@ /// <param name="dic">Dictionary绫�</param> /// <param name="key">鍋�</param> /// <param name="value">鍊�</param> - public static void dictionary(Dictionary<string, string> dic, string key, string value) + public void dictionary(Dictionary<string, string> dic, string key, string value) { if (dic.ContainsKey(key)) //鍒ゆ柇鏄惁瀛樺湪閿�� { @@ -125,7 +141,7 @@ /// 鑾峰彇缃戝叧鎴块棿鍒楄〃 /// </summary> /// <returns></returns> - public static List<HDL_ON.Entity.Room> GetGatewayRoomList() + public List<HDL_ON.Entity.Room> GetGatewayRoomList() { return HDL_ON.Entity.SpatialInfo.CurrentSpatial.RoomList; } @@ -133,7 +149,7 @@ /// 鑾峰彇缃戝叧鎴块棿鍒楄〃 /// </summary> /// <returns></returns> - public static List<HDL_ON.Entity.Room> GetGatewayRoomList(string name) + public List<HDL_ON.Entity.Room> GetGatewayRoomList(string name) { List<Entity.Room> roomList = new List<Entity.Room>(); Entity.Room room1 = new Entity.Room(); @@ -158,24 +174,33 @@ /// 鑾峰彇缃戝叧璁惧鍒楄〃 /// </summary> /// <returns></returns> - public static List<HDL_ON.Entity.Function> GetGatewayDeviceList() + public List<HDL_ON.Entity.Function> GetGatewayDeviceList() { return Entity.FunctionList.List.GetDeviceFunctionList(); } /// <summary> - /// 鑾峰彇缃戝叧鍦烘櫙鍒楄〃 + /// 鑾峰彇鍦烘櫙鍒楄〃 /// </summary> /// <returns></returns> - public static List<HDL_ON.Entity.Scene> GetSceneList() + public List<HDL_ON.Entity.Scene> GetSceneList() { return HDL_ON.Entity.FunctionList.List.scenes; + } + + /// <summary> + /// 鑾峰彇瀹夐槻鍒楄〃 + /// </summary> + /// <returns></returns> + public List<HDL_ON.Entity.SecurityAlarm> GetSecurityList() + { + return FunctionList.List.securities; } /// <summary> /// 鑾峰彇鎴块棿鐨勮澶囧垪琛� /// </summary> /// <param name="room">褰撳墠鎴块棿</param> /// <returns></returns> - public static List<HDL_ON.Entity.Function> GetRoomDevice(HDL_ON.Entity.Room room) + public List<HDL_ON.Entity.Function> GetRoomDevice(HDL_ON.Entity.Room room) { List<HDL_ON.Entity.Function> deviceLists = new List<Entity.Function>(); List<HDL_ON.Entity.Function> lists = GetGatewayDeviceList(); @@ -201,11 +226,11 @@ return deviceLists; } /// <summary> - /// 鑾峰彇褰撲釜璁惧 + /// 鑾峰彇璁惧锛堝姛鑳斤級瀵硅薄 /// </summary> /// <param name="sid">璁惧鍞竴鏍囪瘑</param> /// <returns></returns> - public static HDL_ON.Entity.Function GetDevice(string sid) + public HDL_ON.Entity.Function GetDevice(string sid) { HDL_ON.Entity.Function device = new Entity.Function() { name = "Unknown" }; List<HDL_ON.Entity.Function> deviceLists = GetGatewayDeviceList(); @@ -222,11 +247,11 @@ } /// <summary> - /// 鑾峰彇褰撲釜鍦烘櫙 + /// 鑾峰彇鍦烘櫙瀵硅薄 /// </summary> /// <param name="sid">鍦烘櫙鍞竴鏍囪瘑</param> /// <returns></returns> - public static HDL_ON.Entity.Scene GetSecne(string sid) + public HDL_ON.Entity.Scene GetSecne(string sid) { HDL_ON.Entity.Scene scene = new Entity.Scene() { name = "Unknown" }; List<HDL_ON.Entity.Scene> sceneLists = GetSceneList(); @@ -242,11 +267,31 @@ return scene; } /// <summary> + /// 鑾峰彇瀹夐槻瀵硅薄 + /// </summary> + /// <param name="sid">瀹夐槻鍞竴鏍囪瘑</param> + /// <returns></returns> + public HDL_ON.Entity.SecurityAlarm GetSecurity(string sid) + { + HDL_ON.Entity.SecurityAlarm security = new Entity.SecurityAlarm() { name = "Unknown" }; + List<HDL_ON.Entity.SecurityAlarm> SecurityLists = GetSecurityList(); + for (int i = 0; i < SecurityLists.Count; i++) + { + var sce = SecurityLists[i]; + if (sce.sid == sid) + { + security = sce; + break; + } + } + return security; + } + /// <summary> /// 鑾峰彇鎴块棿鍚�(鍗虫槸=鍖哄煙鍚嶇О) /// </summary> /// <param name="device">璁惧</param> /// <returns></returns> - public static string GetGetRoomName(HDL_ON.Entity.Function device) + public string GetGetRoomName(HDL_ON.Entity.Function device) { string roomName = ""; List<HDL_ON.Entity.Room> roomLists = GetGatewayRoomList(); @@ -268,7 +313,7 @@ /// </summary> /// <param name="functionType">璁惧绫诲瀷</param> /// <returns></returns> - public static string GetIconPath(string functionType) + public string GetIconPath(string functionType) { string strPath = ""; switch (functionType) @@ -299,6 +344,11 @@ strPath = "LogicIcon/heatlogic.png"; } break; + case SPK.AirFreshStandard: + { + strPath = "LogicIcon/heatlogic.png"; + } + break; case SPK.SensorSmoke: case SPK.SensorWater: case SPK.SensorGas: @@ -307,7 +357,16 @@ case SPK.SensorDuiShe: case SPK.SensorPir: case SPK.SensorDoorWindow: - case SPK.SensoruUtrasonic: + case SPK.SensorUtrasonic: + case SPK.SenesorMegahealth: + case SPK.SensorEnvironment: + case SPK.SensorEnvironment2: + case SPK.SensorEnvironment3: + case SPK.SensorTemperature: + case SPK.SensorHumidity: + case SPK.SensorCO2: + case SPK.SensorPm25: + case SPK.SensorTVOC: { strPath = "LogicIcon/sensor.png"; } @@ -321,17 +380,25 @@ /// </summary> /// <param name="deviceList">璁惧鍒楄〃</param> /// <returns></returns> - public static List<string> GetDeviceTypeList(List<HDL_ON.Entity.Function> deviceList) + public List<string> GetDeviceTypeList(List<HDL_ON.Entity.Function> deviceList) { List<string> deviceStrTypeList = new List<string>(); deviceStrTypeList.Clear(); - 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); + 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.spk == SPK.CurtainSwitch || device.spk == SPK.CurtainTrietex || device.spk == SPK.CurtainRoller); + 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)); @@ -347,6 +414,11 @@ { deviceStrTypeList.Add(Language.StringByID(StringId.FloorHeating)); } + var airFresh = deviceList.Find((device) => device.spk == SPK.AirFreshStandard); + if (airFresh != null) + { + deviceStrTypeList.Add(Language.StringByID(StringId.AirFresh)); + } var sensor = deviceList.Find((device) => device.spk == SPK.SensorWater || device.spk == SPK.SensorGas @@ -356,7 +428,16 @@ || device.spk == SPK.SensorDuiShe || device.spk == SPK.SensorPir || device.spk == SPK.SensorDoorWindow - || device.spk == SPK.SensoruUtrasonic + || device.spk == SPK.SensorUtrasonic + || device.spk == SPK.SenesorMegahealth + || device.spk == SPK.SensorEnvironment + || device.spk == SPK.SensorEnvironment2 + || device.spk == SPK.SensorEnvironment3 + || device.spk == SPK.SensorTemperature + || device.spk == SPK.SensorHumidity + || device.spk == SPK.SensorCO2 + || device.spk == SPK.SensorPm25 + || device.spk == SPK.SensorTVOC ); if (sensor != null) { @@ -370,7 +451,7 @@ /// </summary> /// <param name="deviceType">璁惧绫诲瀷(鐏厜绫伙紝绐楀笜绫汇��)</param> /// <returns></returns> - public static List<string> GetDeviceTypeFunctionList(string deviceType) + public List<string> GetDeviceTypeFunctionList(string deviceType) { List<string> functionTypeList = new List<string>(); if (deviceType == Language.StringByID(StringId.Lights)) @@ -395,6 +476,10 @@ { functionTypeList.Add(SPK.FloorHeatStandard); } + else if (deviceType == Language.StringByID(StringId.AirFresh)) + { + functionTypeList.Add(SPK.AirFreshStandard); + } else if (deviceType == Language.StringByID(StringId.Sensor)) { functionTypeList.Add(SPK.SensorSmoke); @@ -405,8 +490,18 @@ functionTypeList.Add(SPK.SensorDuiShe); functionTypeList.Add(SPK.SensorPir); functionTypeList.Add(SPK.SensorDoorWindow); - functionTypeList.Add(SPK.SensoruUtrasonic); - + functionTypeList.Add(SPK.SensorUtrasonic); + functionTypeList.Add(SPK.SenesorMegahealth); + functionTypeList.Add(SPK.SensorEnvironment); + functionTypeList.Add(SPK.SensorEnvironment2); + functionTypeList.Add(SPK.SensorEnvironment3); + functionTypeList.Add(SPK.SensorTemperature); + functionTypeList.Add(SPK.SensorHumidity); + functionTypeList.Add(SPK.SensorCO2); + functionTypeList.Add(SPK.SensorPm25); + functionTypeList.Add(SPK.SensorTVOC); + + } return functionTypeList; @@ -415,7 +510,7 @@ /// 鏉′欢/鐩爣鏀寔璁惧 /// </summary> /// <returns></returns> - public static List<string> GetSupportEquipment(string if_type) + public List<string> GetSupportEquipment(string if_type) { List<string> deviceTypeList = new List<string>(); switch (if_type) @@ -440,7 +535,17 @@ deviceTypeList.Add(SPK.SensorDuiShe); deviceTypeList.Add(SPK.SensorPir); deviceTypeList.Add(SPK.SensorDoorWindow); - deviceTypeList.Add(SPK.SensoruUtrasonic); + deviceTypeList.Add(SPK.SensorUtrasonic); + deviceTypeList.Add(SPK.SenesorMegahealth); + deviceTypeList.Add(SPK.SensorEnvironment); + deviceTypeList.Add(SPK.SensorEnvironment2); + deviceTypeList.Add(SPK.SensorEnvironment3); + deviceTypeList.Add(SPK.SensorTemperature); + deviceTypeList.Add(SPK.SensorHumidity); + deviceTypeList.Add(SPK.SensorCO2); + deviceTypeList.Add(SPK.SensorPm25); + deviceTypeList.Add(SPK.SensorTVOC); + } break; case target_if: @@ -455,6 +560,7 @@ deviceTypeList.Add(SPK.CurtainTrietex); deviceTypeList.Add(SPK.AcStandard); deviceTypeList.Add(SPK.FloorHeatStandard); + deviceTypeList.Add(SPK.AirFreshStandard); } break; } @@ -467,7 +573,7 @@ /// <param name="functionType">婧愭暟鎹垪琛�1</param> /// <param name="deviceList">婧愭暟鎹垪琛�2</param> /// <returns></returns> - public static List<Entity.Function> GetShowDeviceList(List<string> functionType, List<HDL_ON.Entity.Function> deviceList) + public List<Entity.Function> GetShowDeviceList(List<string> functionType, List<HDL_ON.Entity.Function> deviceList) { List<HDL_ON.Entity.Function> devList = new List<Entity.Function>(); for (int i = 0; i < deviceList.Count; i++) @@ -489,7 +595,7 @@ /// <param name="room">褰撳墠鎴块棿</param> /// <param name="str">鍒ゆ柇绗︼紙琛ㄧず=杈撳叆璁惧鍜岃緭鍑鸿澶囷級</param> /// <returns></returns> - public static List<Entity.Function> GetFunctionDeviceList(Entity.Room room, string str) + public List<Entity.Function> GetFunctionDeviceList(Entity.Room room, string str) { List<string> functionTypeList = GetSupportEquipment(str); //杩斿洖鎴块棿璁惧鍒楄〃 @@ -501,7 +607,7 @@ /// <summary> /// 缃戝叧ID(鑾峰彇鍢変箰缃戝叧ID) /// </summary> - public static string GatewayId + public string GatewayId { get { @@ -515,7 +621,7 @@ /// <summary> /// 浣忓畢ID /// </summary> - public static string HomeId + public string HomeId { get { @@ -525,12 +631,14 @@ /// <summary> /// 鏄惁涓哄叾浠栦富鐢ㄦ埛鍒嗕韩杩囨潵鐨勪綇瀹� /// </summary> - public static bool IsOthreShare + public bool IsOthreShare { get { return Entity.DB_ResidenceData.Instance.CurrentRegion.isOtherShare; } } + + } } -- Gitblit v1.8.0