From 2ba9045dec99e6ea1d357a8fbd284d93f82cf925 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期一, 11 一月 2021 14:31:17 +0800 Subject: [PATCH] 20200111 --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 348 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 302 insertions(+), 46 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs old mode 100755 new mode 100644 index b520c56..5bacc1d --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -1,6 +1,8 @@ 锘縰sing System; using Shared; using System.Collections.Generic; +using HDL_ON.Entity; + namespace HDL_ON.UI.UI2.Intelligence.Automation { public class InpOrOutLogicMethod @@ -38,9 +40,75 @@ inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; foreach (var dic in dicList) { + string keyValue = dic["key"]; string value = dic["value"]; - inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value; - inputView.btnClick.AddTag("timepoint", value); + if (keyValue == "timepoint") + { + inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value; + } + else + { + string strtext = ""; + string statetext = ""; + switch (keyValue) + { + case "before_sunrise": + { + strtext = Language.StringByID(StringId.sunrise); + statetext = Language.StringByID(StringId.advanced); + + } + break; + case "before_sunset": + { + + strtext = Language.StringByID(StringId.sunset); + statetext = Language.StringByID(StringId.advanced); + + } break; + case "before_noon": + { + strtext = Language.StringByID(StringId.at); + statetext = Language.StringByID(StringId.advanced); + } + break; + case "after_sunrise": + { + strtext = Language.StringByID(StringId.sunrise); + statetext = Language.StringByID(StringId.delayLogic); + } break; + case "after_sunset": + { + strtext = Language.StringByID(StringId.sunset); + statetext = Language.StringByID(StringId.delayLogic); + } break; + case "after_noon": + { + strtext = Language.StringByID(StringId.at); + statetext = Language.StringByID(StringId.delayLogic); + } + break; + } + + if (value != "0") + { + if (value == "30") + { + statetext += value + Language.StringByID(StringId.s); + } + else + { + statetext += value + Language.StringByID(StringId.minute); + } + } + else + { + statetext = ""; + } + + inputView.btnText.Text = strtext; + inputView.btnState.Text = statetext; + } } } break; @@ -51,7 +119,6 @@ { string value = dic["value"]; inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value; - inputView.btnClick.AddTag("timeHorizon", value); } } @@ -61,28 +128,28 @@ //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.GetDevice(inputCondition.sid); //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� - inputView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.functionType); + inputView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.spk); //鏄剧ず璁惧鍚嶇О inputView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 inputView.btnText.Width = Application.GetRealWidth(80); //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� - switch (device.functionType) + switch (device.spk) { //寮�鍏崇伅鍏� light.Switch - case FunctionType.Dimmer: - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: - case FunctionType.Relay: + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: + case SPK.LightSwitch: //绐楀笜 - case FunctionType.Curtain: - case FunctionType.RollingShutter: - case FunctionType.MotorCurtain: + case SPK.CurtainSwitch: + case SPK.CurtainRoller: + case SPK.CurtainTrietex: //绌鸿皟 - case FunctionType.AC: + case SPK.AcStandard: //鍦扮儹 - case FunctionType.FloorHeating: + case SPK.FloorHeatStandard: {//寮�鍏崇伅 foreach (var dic in dicList) { @@ -129,13 +196,44 @@ { case "1": { - FrameLayout fLayout = new FrameLayout + bool is_bool = false; + Input _input = Logic.currlogic.input[indexVulae]; + if (_input.condition_type == "1") { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - thisView.AddChidren(fLayout); - TimeTpye timeTpye = new TimeTpye(); - timeTpye.TimePoint(fLayout, edit, indexVulae); + var dicLists = _input.condition as List<Dictionary<string, string>>; + foreach (var dic in dicLists) + { + string keyValue = dic["key"]; + if (keyValue != "timepoint") + { + //閫氳繃閿�兼煡鎵鹃敭鍊兼槸鍚︽槸 + //锛堟棩鍑�/鏃ヨ惤/姝e崍锛� + is_bool = true; + break; + } + + } + + } + if (is_bool) + { + //璺宠浆鍒帮紙鏃ュ嚭/鏃ヨ惤/姝e崍锛夌晫闈� + SpeciaTime speciaTime = new SpeciaTime(); + MainPage.BasePageView.AddChidren(speciaTime); + speciaTime.Show(edit, indexVulae); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + else + { + //璺宠浆鍒帮紙鏃堕棿鐐癸級鐣岄潰 + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + thisView.AddChidren(fLayout); + TimeTpye timeTpye = new TimeTpye(); + timeTpye.TimePoint(fLayout, edit, indexVulae); + } } break; case "2": @@ -159,8 +257,6 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } break; - - } }; ///鍒犻櫎鎺т欢 @@ -206,7 +302,7 @@ //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.GetDevice(outputTarget.sid); //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� - targetView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.functionType); + targetView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.spk); //鏄剧ず璁惧鍚嶇О targetView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 @@ -214,9 +310,9 @@ //绗竴涓彉閲忔樉绀虹姸鎬佸�� string stateStr = ""; //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� - switch (device.functionType) + switch (device.spk) { - case FunctionType.Relay: + case SPK.LightSwitch: {//寮�鍏崇伅 foreach (var dic in dicList) @@ -235,10 +331,10 @@ targetView.btnState.Text = stateStr; } break; - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: - case FunctionType.Dimmer: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: + case SPK.LightDimming: { string on_off = GetKeyValue("on_off", dicList); string brightness = GetKeyValue("brightness", dicList); @@ -261,9 +357,9 @@ targetView.btnState.Text = stateStr; } break; - case FunctionType.Curtain: - case FunctionType.MotorCurtain: - case FunctionType.RollingShutter: + case SPK.CurtainSwitch: + case SPK.CurtainTrietex: + case SPK.CurtainRoller: { foreach (var dic in dicList) { @@ -290,7 +386,7 @@ targetView.btnState.Text = stateStr; } break; - case FunctionType.AC: { + case SPK.AcStandard: { string on_off = GetKeyValue("on_off", dicList); string set_temp = GetKeyValue("set_temp", dicList); string mode = GetKeyValue("mode", dicList); @@ -386,7 +482,7 @@ } break; - case FunctionType.FloorHeating: + case SPK.FloorHeatStandard: { string on_off = GetKeyValue("on_off", dicList); string set_temp = GetKeyValue("set_temp", dicList); @@ -572,10 +668,10 @@ /// <param name="button4">鏄剧ずBtn</param> public static void EditState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4) { - switch (device.functionType) + switch (device.spk) { //寮�鍏崇伅鍏� - case FunctionType.Relay: + case SPK.LightSwitch: { foreach (var dic in dicList) { @@ -591,10 +687,10 @@ } } break; - case FunctionType.Dimmer: - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: { foreach (var dic in dicList) { @@ -624,9 +720,9 @@ } } break; - case FunctionType.Curtain: - case FunctionType.MotorCurtain: - case FunctionType.RollingShutter: + case SPK.CurtainSwitch: + case SPK.CurtainTrietex: + case SPK.CurtainRoller: { foreach (var dic in dicList) { @@ -652,7 +748,7 @@ } } break; - case FunctionType.AC: + case SPK.AcStandard: { foreach (var dic in dicList) { @@ -748,7 +844,7 @@ } break; - case FunctionType.FloorHeating: + case SPK.FloorHeatStandard: { foreach (var dic in dicList) @@ -844,5 +940,165 @@ } return valueStr; } + + /// <summary> + ///鑾峰彇鑷姩鍖栧悕绉� + /// </summary> + /// <returns> 鏂板缓鑷姩鍖栧懡鍚嶈鍒�</returns> + public static string GetLogicName(Logic logic) + { + + string name = ""; + try + { + //榛樿鍙栫涓�涓潯浠� + Input inputCondition = logic.input[0]; + //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵�� + switch (inputCondition.condition_type) + { + case "1": + { + name = Language.StringByID(StringId.hour) + "-"; + } + break; + case "2": + { + name = Language.StringByID(StringId.timeHorizon) + "-"; + + } + break; + case "3": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.GetDevice(inputCondition.sid); + name = device.name + "-"; + } + break; + + } + //榛樿鍙栫涓�涓洰鏍� + Output outputTarget = logic.output[0]; + List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>; + //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵�� + switch (outputTarget.target_type) + { + case "1": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.GetDevice(outputTarget.sid); + //鏄剧ず璁惧鍚嶇О + name += device.name; + string stateStr = ""; + //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� + switch (device.spk) + { + case SPK.LightSwitch: + {//寮�鍏崇伅 + + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + + } + else + { + stateStr = Language.StringByID(StringId.offLogic); + } + } + } + break; + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: + case SPK.LightDimming: + { + string on_off = InpOrOutLogicMethod.GetKeyValue("on_off", dicList); + string brightness = InpOrOutLogicMethod.GetKeyValue("brightness", dicList); + if (on_off == "on" && brightness != "") + { + stateStr = Language.StringByID(StringId.onLogic) + brightness + "%"; + } + else if (on_off == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + } + else if (on_off == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + else if (brightness != "") + { + stateStr = brightness + "%"; + } + } + break; + case SPK.CurtainSwitch: + case SPK.CurtainTrietex: + case SPK.CurtainRoller: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (value) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic); + } + break; + case "stop": + { + stateStr = Language.StringByID(StringId.stop); + } + break; + } + } + } + break; + case SPK.AcStandard: + case SPK.FloorHeatStandard: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + + } + else if (value == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + } + + } + break; + + } + name += stateStr; + } + break; + case "2": + { + //鐢╯id鎵惧埌鍦烘櫙锛� + var scene = LogicMethod.GetSecne(outputTarget.sid); + name += scene.name; + + } + break; + } + } + catch { } + return name; + } } } -- Gitblit v1.8.0