From e13a9980ce617db1394a76944186c5d5bd595d5d Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 02 六月 2021 14:37:12 +0800 Subject: [PATCH] 5月需求bug修复 --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 475 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 443 insertions(+), 32 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 47fb936..3de977d 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -17,12 +17,6 @@ for (int i = 0; i < Logic.currlogic.input.Count; i++) { Input inputCondition = Logic.currlogic.input[i]; - if (inputCondition == null) - { - //闃叉鏈夌殑绌哄璞★紱 - //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛� - continue; - } ///鍚勭鏉′欢鐨刅iew LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView(); inputView.FLayoutView(viewLayout); @@ -56,7 +50,7 @@ { strtext = Language.StringByID(StringId.sunrise); statetext = Language.StringByID(StringId.advanced); - + } break; case "before_sunset": @@ -64,8 +58,9 @@ strtext = Language.StringByID(StringId.sunset); statetext = Language.StringByID(StringId.advanced); - - } break; + + } + break; case "before_noon": { strtext = Language.StringByID(StringId.at); @@ -76,12 +71,14 @@ { strtext = Language.StringByID(StringId.sunrise); statetext = Language.StringByID(StringId.delayLogic); - } break; + } + break; case "after_sunset": { strtext = Language.StringByID(StringId.sunset); statetext = Language.StringByID(StringId.delayLogic); - } break; + } + break; case "after_noon": { strtext = Language.StringByID(StringId.at); @@ -167,7 +164,197 @@ } } break; + //浼犳劅鍣� + case SPK.SensorSmoke: + case SPK.SensorGas: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + inputView.btnState.Text = Language.StringByID(StringId.xieluo); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuxieluo); + } + } + } + break; + case SPK.SensorWater: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + inputView.btnState.Text = Language.StringByID(StringId.luoshui); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuluoshui); + } + } + } + break; + case SPK.SensorDryContact: + { + foreach (var dic in dicList) + { + + string value = dic["value"]; + if (value == "on") + { + inputView.btnState.Text = Language.StringByID(StringId.onLogic); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.offLogic); + } + } + } + break; + case SPK.SensorShanLan: + case SPK.SensorDuiShe: + case SPK.SensorPir: + { + foreach (var dic in dicList) + { + + string value = dic["value"]; + if (value == "true") + { + inputView.btnState.Text = Language.StringByID(StringId.youren); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuren); + } + } + } + break; + case SPK.SensorDoorWindow: + { + foreach (var dic in dicList) + { + + string value = dic["value"]; + if (value == "open") + { + inputView.btnState.Text = Language.StringByID(StringId.kaiqi); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.bihe); + } + } + } + break; + case SPK.SensoruUtrasonic: + { + string str = ""; + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "status": + { + if (value == "true") + { + str+= Language.StringByID(StringId.youren)+";"; + } + else + { + str += Language.StringByID(StringId.wuren) + ";"; + } + + + } + break; + case "dismantle": + { + if (value == "true") + { + str += Language.StringByID(StringId.zaixian); + } + else + { + str += Language.StringByID(StringId.buzaixian); + } + } + break; + + } + + } + inputView.btnState.Text = str; + } + break; + } + } + break; + case "4": + { + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png"; + string strtext = ""; + string strvalue = ""; + foreach (var dic in dicList) + { + string key = dic["key"]; + string comparator = dic["comparator"]; + string value = dic["value"]; + + switch (key) + { + case "outdoor_temp": + { + strvalue = value; + if (comparator == ">") + { + strtext = Language.StringByID(StringId.wendugaoyu); + } + else if (comparator == "<") + { + strtext = Language.StringByID(StringId.wendudiyu); + } + + } + break; + case "outdoor_humity": + { + strvalue = value; + if (comparator == ">") + { + strtext = Language.StringByID(StringId.shidugaoyu); + } + else if (comparator == "<") + { + strtext = Language.StringByID(StringId.shidudiyu); + } + + } + break; + case "pm2.5": + { + strtext = Language.StringByID(StringId.PM25); + strvalue = new OutdoorEnvironment { }.GetString(value); + } + break; + + } + + + } + inputView.btnText.Text = strtext; + inputView.btnState.Text = strvalue; } break; case "6": @@ -197,9 +384,43 @@ strtext = Language.StringByID(StringId.rain); } break; - + } - inputView.btnText.TextID =StringId.tianqibianhua; + inputView.btnText.TextID = StringId.tianqibianhua; + inputView.btnState.Text = strtext; + } + } + break; + case "9": + { + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png"; + foreach (var dic in dicList) + { + string strtext = ""; + string value = dic["value"]; + switch (value) + { + case "excellent": + { + strtext = Language.StringByID(StringId.kongqiyou); + + } + break; + case "good": + { + + strtext = Language.StringByID(StringId.kongqiliang); + + } + break; + case "poor": + { + strtext = Language.StringByID(StringId.kongqicha); + } + break; + + } + inputView.btnText.TextID = StringId.kongqizhiliang; inputView.btnState.Text = strtext; } } @@ -223,7 +444,6 @@ break; } } - //鏍囪缂栬緫鐘舵�� bool edit = true; switch (button.Name) @@ -291,12 +511,84 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } break; + case "4": + { + ///褰撳墠鐨勭储寮曞�兼暟鎹璞� + Input inputedit = Logic.currlogic.input[indexVulae]; + ///鐘舵�佸�� + string stateValue = ""; + ///鐘舵�佸�兼枃鏈� + int intValue = -1; + foreach (var dic in inputedit.condition) + { + string key = dic["key"]; + string comparator = dic["comparator"]; + stateValue = dic["value"]; + switch (key) + { + case "outdoor_temp": + { + if (comparator == ">") + { + intValue = StringId.wendugaoyu; + } + else if (comparator == "<") + { + intValue = StringId.wendudiyu; + + } + + } + break; + case "outdoor_humity": + { + + if (comparator == ">") + { + intValue = StringId.shidugaoyu; + } + else if (comparator == "<") + { + intValue = StringId.shidudiyu; + } + + } + break; + case "pm2.5": + { + intValue = StringId.PM25; + } + break; + + } + } + OutdoorEnvironment outdoorEnvironment = new OutdoorEnvironment(); + if (intValue == StringId.PM25) + { + outdoorEnvironment.PmAction(thisView, stateValue); + } + else + { + outdoorEnvironment.InputBoxAction(intValue, stateValue); + } + + } + break; case "6": { WeatherCondition weatherCondition = new WeatherCondition(); MainPage.BasePageView.AddChidren(weatherCondition); weatherCondition.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + break; + case "9": + { + + AirQuality airQuality = new AirQuality(); + MainPage.BasePageView.AddChidren(airQuality); + airQuality.Show(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } break; @@ -318,16 +610,10 @@ /// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param> public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout) { - + for (int i = 0; i < Logic.currlogic.output.Count; i++) { Output outputTarget = Logic.currlogic.output[i]; - if (outputTarget == null) - { - //闃叉鏈夌殑绌哄璞★紱 - //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛� - continue; - } ///鍚勭鏉′欢鐨刅iew LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView(); targetView.FLayoutView(viewLayout); @@ -429,17 +715,19 @@ targetView.btnState.Text = stateStr; } break; - case SPK.AcStandard: { + case SPK.AcStandard: + { string on_off = GetKeyValue("on_off", dicList); string set_temp = GetKeyValue("set_temp", dicList); string mode = GetKeyValue("mode", dicList); string fan = GetKeyValue("fan", dicList); - if (on_off != "") { + if (on_off != "") + { switch (on_off) { case "on": { - stateStr = Language.StringByID(StringId.onLogic)+","; + stateStr = Language.StringByID(StringId.onLogic) + ","; } break; case "off": @@ -447,7 +735,7 @@ stateStr = Language.StringByID(StringId.offLogic) + ","; } break; - + } } @@ -464,7 +752,7 @@ { case "cool": { - stateStr += Language.StringByID(StringId.coolLogic)+","; + stateStr += Language.StringByID(StringId.coolLogic) + ","; } break; case "heat": @@ -493,7 +781,7 @@ { case "high": { - stateStr += Language.StringByID(StringId.HighWindSpeed)+","; + stateStr += Language.StringByID(StringId.HighWindSpeed) + ","; } break; case "medium": @@ -518,7 +806,8 @@ { targetView.btnState.Text = Language.StringByID(StringId.offLogic); } - else { + else + { targetView.btnState.Text = stateStr.TrimEnd(','); } @@ -559,7 +848,7 @@ { case "day": { - stateStr += Language.StringByID(StringId.dayMode)+","; + stateStr += Language.StringByID(StringId.dayMode) + ","; } break; case "night": @@ -613,7 +902,7 @@ } if (on_off != "" && on_off == "off") { - targetView.btnState.Text =Language.StringByID(StringId.offLogic); + targetView.btnState.Text = Language.StringByID(StringId.offLogic); } else { @@ -637,7 +926,7 @@ break; case "3": { - targetView.btnIcon.UnSelectedImagePath = "LogicIcon/delayed.png"; + targetView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; foreach (var dic in dicList) { string value = dic["value"]; @@ -651,7 +940,7 @@ { Button button = (Button)sen; //鎵惧埌褰撳墠缂栬緫鐨勭储寮� - int indexVulae =0; + int indexVulae = 0; for (int index = 0; index < Logic.currlogic.output.Count; index++) { Output target = Logic.currlogic.output[index]; @@ -960,6 +1249,128 @@ } break; + case SPK.SensorGas: + case SPK.SensorSmoke: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + button1.Text = Language.StringByID(StringId.xieluo); + } + else + { + button1.Text = Language.StringByID(StringId.wuxieluo); + } + } + } + break; + case SPK.SensorWater: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + button1.Text = Language.StringByID(StringId.luoshui); + } + else + { + button1.Text = Language.StringByID(StringId.wuluoshui); + } + } + } + break; + case SPK.SensorDryContact: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } + } + } + break; + case SPK.SensorShanLan: + case SPK.SensorDuiShe: + case SPK.SensorPir: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "true") + { + button1.Text = Language.StringByID(StringId.youren); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + } + } + break; + case SPK.SensorDoorWindow: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "open") + { + button1.Text = Language.StringByID(StringId.kaiqi); + } + else + { + button1.Text = Language.StringByID(StringId.bihe); + } + } + } + break; + case SPK.SensoruUtrasonic: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "status": + { + if (value == "true") + { + button1.Text = Language.StringByID(StringId.youren); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + + + } + break; + case "dismantle": + { + if (value == "true") + { + button1.Text = Language.StringByID(StringId.zaixian); + } + else + { + button1.Text = Language.StringByID(StringId.buzaixian); + } + } + break; + + } + + } + } + break; } } /// <summary> -- Gitblit v1.8.0