From de439b185d2c371dc07d339cdea0b25997e887db Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期五, 02 七月 2021 18:03:44 +0800 Subject: [PATCH] 2021-7-2-1 --- HDL-ON_Android/Assets/Language.ini | 10 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 248 ++++++++++- HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 349 +++++++++++++--- HDL_ON/DAL/Mqtt/MqttClient.cs | 5 HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs | 12 HDL-ON_iOS/Resources/Language.ini | 9 HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs | 2 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 72 ++- HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs | 75 --- .vs/HDL_APP_Project/xs/UserPrefs.xml | 34 + HDL_ON/UI/UI2/3-Intelligence/Automation/AirQuality.cs | 12 HDL_ON/UI/UI2/3-Intelligence/Automation/WeatherCondition.cs | 12 HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs | 242 +++++++++++ HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs | 2 HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs | 12 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 10 HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs | 16 HDL_ON/Entity/Function/Function.cs | 5 HDL_ON/UI/UI2/3-Intelligence/Automation/OnePortAutomation.cs | 6 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddControlComplete.cs | 4 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/EditControl.cs | 4 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs | 4 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs | 6 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs | 10 HDL_ON/Common/R.cs | 10 HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs | 22 26 files changed, 914 insertions(+), 279 deletions(-) diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml index 073c079..e699c1c 100644 --- a/.vs/HDL_APP_Project/xs/UserPrefs.xml +++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml @@ -1,29 +1,43 @@ 锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default"> <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.FE1D0763-7181-4B0C-AB18-E30AA773A6FA" /> - <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs"> + <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs"> <Files> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs" Line="83" Column="43" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Weather.cs" Line="62" Column="70" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs" Line="203" Column="24" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" Line="1" Column="1" /> - <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs" Line="50" Column="15" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" Line="1866" Column="42" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" Line="516" Column="17" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs" Line="114" Column="22" /> </Files> <Pads> <Pad Id="ProjectPad"> <State name="__root__"> <Node name="HDL_APP_Project" expanded="True"> <Node name="HDL_ON" expanded="True"> - <Node name="Entity" expanded="True" /> + <Node name="DAL" expanded="True"> + <Node name="DriverLayer" expanded="True" /> + <Node name="Mqtt" expanded="True" /> + <Node name="Server" expanded="True" /> + </Node> + <Node name="Entity" expanded="True"> + <Node name="Function" expanded="True" /> + </Node> <Node name="UI" expanded="True"> + <Node name="UI0-Stan" expanded="True"> + <Node name="Logic" expanded="True" /> + </Node> <Node name="UI2" expanded="True"> + <Node name="2-Classification" expanded="True" /> <Node name="3-Intelligence" expanded="True"> <Node name="Automation" expanded="True"> - <Node name="AddTarget.cs" selected="True" /> + <Node name="TargetDeviceFunList.cs" selected="True" /> </Node> </Node> - <Node name="4-PersonalCenter" expanded="True" /> + <Node name="4-PersonalCenter" expanded="True"> + <Node name="PirDevice" expanded="True" /> + </Node> </Node> </Node> + </Node> + <Node name="HDL-ON_Android" expanded="True"> + <Node name="Assets" expanded="True" /> </Node> </Node> </State> @@ -43,6 +57,8 @@ <Breakpoint file="/Users/jlchen/Desktop/wjc/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" line="34" column="1" /> <Breakpoint file="/Users/jlchen/Desktop/wjc/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorMegahealth/AddSenesorMegahealthDirection1Page.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorMegahealth/AddSenesorMegahealthDirection1Page.cs" line="118" column="1" /> <Breakpoint file="/Users/jlchen/Desktop/wjc/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs" line="546" column="1" /> + <Breakpoint file="/Users/jlchen/Desktop/wjc/HDL_APP_Project/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" relfile="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" line="86" column="1" /> + <Breakpoint file="/Users/jlchen/Desktop/wjc/HDL_APP_Project/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" relfile="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" line="524" column="1" /> </BreakpointStore> </MonoDevelop.Ide.DebuggingService.Breakpoints> <MultiItemStartupConfigurations /> diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index 7bb51b6..c678837 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -1988,6 +1988,16 @@ 7133=宸叉墽琛� 7134=鐩爣鐘舵�� 7135=璺屽�� +7136=娓╁害 +7137=婀垮害 +7138=PM2.5 +7139=CO2 +7140=TVOC +7141=瓒呮爣 +7142=涓ラ噸 +7143=鍋忛珮 +7144=浼樼 + 9000=璇蜂娇鐢ㄦ柊鐨勬墜鏈鸿处鍙风櫥褰旳PP 9001=璇蜂娇鐢ㄦ柊鐨勯偖绠辫处鍙风櫥褰旳PP diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini index 7bb51b6..344e9b8 100644 --- a/HDL-ON_iOS/Resources/Language.ini +++ b/HDL-ON_iOS/Resources/Language.ini @@ -1988,6 +1988,15 @@ 7133=宸叉墽琛� 7134=鐩爣鐘舵�� 7135=璺屽�� +7136=娓╁害 +7137=婀垮害 +7138=PM2.5 +7139=CO2 +7140=TVOC +7141=瓒呮爣 +7142=涓ラ噸 +7143=鍋忛珮 +7144=浼樼 9000=璇蜂娇鐢ㄦ柊鐨勬墜鏈鸿处鍙风櫥褰旳PP 9001=璇蜂娇鐢ㄦ柊鐨勯偖绠辫处鍙风櫥褰旳PP diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index 0a0eb53..5c93a96 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -1487,6 +1487,16 @@ public const int yizhixing = 7133; public const int mubiaozhuangtai = 7134; public const int diedao = 7135; + public const int wendu = 7136; + public const int shidu = 7137; + public const int pm25 = 7138; + public const int co2 = 7139; + public const int tvoc = 7140; + public const int chaobiao = 7141; + public const int yanzhong = 7142; + public const int piangao = 7143; + public const int youxiu = 7144; + #region LE鏂板 /// <summary> diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs index 93d0ae7..c71c3a4 100644 --- a/HDL_ON/DAL/Mqtt/MqttClient.cs +++ b/HDL_ON/DAL/Mqtt/MqttClient.cs @@ -322,10 +322,7 @@ } //涓�浜涚壒娈婄殑涓婚澶勭悊(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣� true:鎵ц浜嗙壒娈婂鐞� false:娌℃湁鎵ц鐗规畩澶勭悊) - if (Stan.HdlCloudReceiveLogic.Current.CloudOverallMsgReceiveEx(topic, e.ApplicationMessage.Payload, mqttEncryptKey, tuyaEncryptKey) == true) - { - return; - } + Stan.HdlCloudReceiveLogic.Current.CloudOverallMsgReceiveEx(topic, e.ApplicationMessage.Payload, mqttEncryptKey, tuyaEncryptKey); if (topic == $"/BusGateWayToClient/{UserInfo.Current.ID}" + PushNotifySqueeze) { diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 9ae66ef..ff4d25b 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -1173,7 +1173,10 @@ /// 姣背娉紶鎰熷櫒 /// </summary> public const string SenesorMegahealth = "sensor.megahealth"; - + /// <summary> + /// 鐜妫�娴嬩紶鎰熷櫒 + /// </summary> + public const string SenesorEnvironment = "sensor.environment"; /// <summary> /// 瀹夐槻浼犳劅鍣╯pk鍒楄〃 /// </summary> diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs index 2bc0a26..13d98be 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs @@ -252,7 +252,7 @@ ) => { Logic.currlogic.name = logicName; - Logic.currlogic.sid = LogicMethod.NewSid(); + Logic.currlogic.sid = LogicMethod.CurrLogicMethod.NewSid(); loading.Start(); new System.Threading.Thread(() => { @@ -295,7 +295,7 @@ } Logic.LogicList.Add(Logic.currlogic); - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); MainView.MainShow(); } else if (responsePackNew != null && responsePackNew.Code == "14005") @@ -335,7 +335,7 @@ loading.Hide(); if (responsePackNew != null && responsePackNew.Code == "0") { - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); MainView.MainShow(); } else if (responsePackNew != null && responsePackNew.Code == "14005") diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs index d185e19..cdb06f7 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs @@ -85,7 +85,7 @@ /// </summary> public void SceneMethod() { - var sceneList = LogicMethod.GetSceneList(); + var sceneList = LogicMethod.CurrLogicMethod.GetSceneList(); List<string> nameList = new List<string>(); for (int i = 0; i < sceneList.Count; i++) { var scene = sceneList[i]; @@ -101,7 +101,7 @@ //娌″暐浣滅敤锛屼负浜嗗彂閫佹暟鎹牸寮忕粺涓�; outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "scene" }, { "value", "0" } } }; AddOutput(outputDevice); - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); @@ -168,11 +168,11 @@ return; } Output outputTime= new Output(); - outputTime.sid = LogicMethod.NewSid(); + outputTime.sid = LogicMethod.CurrLogicMethod.NewSid(); outputTime.target_type = "3"; Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "delay"); - LogicMethod.dictionary(dic, "value", timepoint); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", "delay"); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", timepoint); outputTime.status.Add(dic); if (edit) { @@ -187,7 +187,7 @@ AddOutput(outputTime); } fLayout.RemoveFromParent(); - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AirQuality.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AirQuality.cs index 4176826..2ea187d 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AirQuality.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AirQuality.cs @@ -81,13 +81,13 @@ private void AddDic(string value) { Input input = new Input(); - input.sid = LogicMethod.NewSid(); + input.sid = LogicMethod.CurrLogicMethod.NewSid(); input.condition_type = "9"; Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "air_quality"); - LogicMethod.dictionary(dic, "comparator", "="); - LogicMethod.dictionary(dic, "data_type", "string"); - LogicMethod.dictionary(dic, "value", value); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", "air_quality"); + LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", "="); + LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "string"); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", value); input.condition.Add(dic); AddCondition(input); } @@ -121,7 +121,7 @@ Logic.currlogic.input.Add(input); } - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 3cbd448..e2ec5ee 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using HDL_ON.Entity; + namespace HDL_ON.UI.UI2.Intelligence.Automation { public class ConditionDeviceFunList : FrameLayout @@ -19,6 +20,7 @@ /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵�� /// </summary> private string selectedState = "unknown"; + public void Show(Entity.Function device, int index, bool edit) { #region 鐣岄潰甯冨眬 @@ -188,7 +190,7 @@ case SPK.SenesorMegahealth: { LogicView.FunTypeView view = new LogicView.FunTypeView(); - view.btnText.TextID = StringId.mubiaozhuangtai ;//鐩爣鐘舵�� + view.btnText.TextID = StringId.mubiaozhuangtai;//鐩爣鐘舵�� fLayout.AddChidren(view.FLayoutView()); view.btnClick.MouseUpEventHandler += (sender, e) => { @@ -200,7 +202,72 @@ } } break; + //鐜妫�娴嬩紶鎰熷櫒 + case SPK.SenesorEnvironment: + { + #region 鐣岄潰 + ///娓╁害 + LogicView.FunTypeView wenuView = new LogicView.FunTypeView(); + wenuView.btnText.TextID = StringId.wendu; + fLayout.AddChidren(wenuView.FLayoutView()); + ///婀垮害 + LogicView.FunTypeView shiduView = new LogicView.FunTypeView(); + shiduView.frameLayout.Y = wenuView.frameLayout.Bottom; + shiduView.btnText.TextID = StringId.shidu; + fLayout.AddChidren(shiduView.FLayoutView()); + ///pm2.5 + LogicView.FunTypeView pm25View = new LogicView.FunTypeView(); + pm25View.frameLayout.Y = shiduView.frameLayout.Bottom; + pm25View.btnText.TextID = StringId.pm25; + fLayout.AddChidren(pm25View.FLayoutView()); + ///co2 + LogicView.FunTypeView co2View = new LogicView.FunTypeView(); + co2View.frameLayout.Y = pm25View.frameLayout.Bottom; + co2View.btnText.TextID = StringId.co2; + fLayout.AddChidren(co2View.FLayoutView()); + ///tvoc + LogicView.FunTypeView tvocView = new LogicView.FunTypeView(); + tvocView.frameLayout.Y = co2View.frameLayout.Bottom; + tvocView.btnText.TextID = StringId.tvoc; + fLayout.AddChidren(tvocView.FLayoutView()); + #endregion + #region 鐐瑰嚮浜嬩欢 + ///娓╁害鐐瑰嚮浜嬩欢 + wenuView.btnClick.MouseUpEventHandler += (sender, e) => + { + new PublicInterface { }.ViewZuHe(this, StringId.wendugaoyu, StringId.wendudiyu, (intText, view) => + { + InputBoxAction(device,intText, index, edit); + }); + }; + ///婀垮害鐐瑰嚮浜嬩欢 + shiduView.btnClick.MouseUpEventHandler += (sender, e) => + { + new PublicInterface { }.ViewZuHe(this, StringId.shidugaoyu, StringId.shidudiyu, (intText, view) => + { + InputBoxAction(device,intText, index, edit); + }); + }; + ///pm2.5鐐瑰嚮浜嬩欢 + pm25View.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this,device, "pm25",StringId.pm25, index,edit); + }; + ///co2鐐瑰嚮浜嬩欢 + co2View.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this,device, "co2", StringId.co2, index, edit); + }; + ///tvoc鐐瑰嚮浜嬩欢 + tvocView.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this,device, "tvoc", StringId.tvoc, index, edit); + + }; + #endregion + } + break; } #region 淇濆瓨 ///淇濆瓨View @@ -210,55 +277,65 @@ this.AddChidren(saveView.FLayoutView()); saveView.btnClick.MouseUpEventHandler += (sen, e) => { - if (selectedState != "unknown") - { - Input inputDevice = new Input(); - inputDevice.condition_type = "3"; - inputDevice.sid = device.sid; - inputDevice.condition = dicSateteList; - if (edit) - { - //绉婚櫎鏃ф暟鎹� - Logic.currlogic.input.RemoveAt(index); - //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�; - Logic.currlogic.input.Insert(index, inputDevice); - } - else - { - //娣诲姞涓�涓潯浠� - AddCondition(inputDevice); - } - } - else - { - if (!edit) - { - //鎻愮ず鐢ㄦ埛 - return; - } - this.RemoveFromParent(); - return; - } - LogicMethod.RemoveAllView(); - - if (MainView.IsGatewayType) - { //A缃戝叧 - var addLogic = new AddLogic(); - MainPage.BasePageView.AddChidren(addLogic); - addLogic.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - } - else - { - //涓�绔彛缃戝叧 - var onePortAutomation = new OnePortAutomation(); - MainPage.BasePageView.AddChidren(onePortAutomation); - onePortAutomation.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - } + Save(device,index, edit); }; #endregion + + } + /// <summary> + /// 淇濆瓨杈撳叆鏉′欢 + /// </summary> + /// <param name="index">绱㈠紩鍊�</param> + /// <param name="edit"></param> + private void Save(Entity.Function device,int index, bool edit) + { + + if (selectedState != "unknown") + { + Input inputDevice = new Input(); + inputDevice.condition_type = "3"; + inputDevice.sid = device.sid; + inputDevice.condition = dicSateteList; + if (edit) + { + //绉婚櫎鏃ф暟鎹� + Logic.currlogic.input.RemoveAt(index); + //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�; + Logic.currlogic.input.Insert(index, inputDevice); + } + else + { + //娣诲姞涓�涓潯浠� + AddCondition(inputDevice); + } + } + else + { + if (!edit) + { + //鎻愮ず鐢ㄦ埛 + return; + } + this.RemoveFromParent(); + return; + } + LogicMethod.CurrLogicMethod.RemoveAllView(); + if (MainView.IsGatewayType) + { //A缃戝叧 + var addLogic = new AddLogic(); + MainPage.BasePageView.AddChidren(addLogic); + addLogic.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + else + { + //涓�绔彛缃戝叧 + var onePortAutomation = new OnePortAutomation(); + MainPage.BasePageView.AddChidren(onePortAutomation); + onePortAutomation.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } } /// <summary> @@ -268,7 +345,8 @@ /// <param name="button">閫変腑鐘舵�佹樉绀烘枃鏈珺tn鎺т欢</param> /// <param name="btnText1">灞炴�х姸鎬佸�兼枃鏈�1</param> /// <param name="btnText2">灞炴�х姸鎬佸�兼枃鏈�2</param> - private void DeviceView(Entity.Function device,Button button,int btnText1,int btnText2) { + private void DeviceView(Entity.Function device, Button button, int btnText1, int btnText2) + { FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence }; this.AddChidren(frame); LogicView.SwitchView switchView = new LogicView.SwitchView(); @@ -375,6 +453,95 @@ } /// <summary> + /// 娓╁害,婀垮害寮规璁剧疆鍊� + /// </summary> + /// <param name="textInt">鏂囨湰</param> + /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�20</param> + public void InputBoxAction(Entity.Function device, int textInt, int index, bool edit, string stateValue = "20") + { + if (edit) + { + Input inputs = Logic.currlogic.input[index]; + //娓呴櫎涔嬪墠鏃ф暟鎹� + dicSateteList.Clear(); + if (inputs.condition.Count != 0) + { + //鏈夋暟鎹噸鏂拌祴鍊� + dicSateteList = inputs.condition; + } + } + new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) => + { + string keyValue = "20"; + string data_type = "integer"; + string comparator = "="; + switch (textInt) + { + case StringId.wendugaoyu: + { + keyValue = "temperature"; + comparator = ">"; + data_type = "float"; + } + break; + case StringId.wendudiyu: + { + keyValue = "temperature"; + comparator = "<"; + data_type = "float"; + } + break; + case StringId.shidugaoyu: + { + keyValue = "humidity"; + comparator = ">"; + } + break; + case StringId.shidudiyu: + { + keyValue = "humidity"; + comparator = "<"; + } + break; + } + selectedState = device.spk + "_" + value; + AddDictionary(keyValue, value, data_type, comparator); + Save(device,index, edit); + }); + } + /// PM2.5,Co2,Tvoc璁剧疆鍊� + /// </summary> + /// <param name="frame">褰撳墠鐣岄潰</param> + /// <param name="key">灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�<</param> + /// <param name="title">鏍囬鏂囨湰</param> + /// <param name="index"></param> + /// <param name="edit"></param> + /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�""</param> + public void PmCo2TvocAction(FrameLayout frame, Entity.Function device,string key,int title, int index, bool edit, string stateValue = "") + { + if (edit) + { + Input inputs = Logic.currlogic.input[index]; + //娓呴櫎涔嬪墠鏃ф暟鎹� + dicSateteList.Clear(); + if (inputs.condition.Count != 0) + { + //鏈夋暟鎹噸鏂拌祴鍊� + dicSateteList = inputs.condition; + } + } + PublicInterface view = new PublicInterface(); + var listStr = view.GetViewList(key); + view.SingleSelectionShow(frame, listStr, Language.StringByID(title), view.GetString(key, stateValue) + , (text) => + { + var value = view.GetValue(key, text); + selectedState = device.spk + "_"+ key; + AddDictionary(key, value, "integer"); + Save(device,index, edit); + }); + } + /// <summary> /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� /// </summary> /// <param name="device">缂栬緫璁惧</param> @@ -403,15 +570,15 @@ /// <param name="selectedValue">鐘舵�佸��</param> /// <param name="data_type">绫诲瀷</param> /// <param name="comparator">姣旇緝鍏崇郴</param> - private void AddDictionary(string KeyValue, string selectedValue,string data_type,string comparator="=") + private void AddDictionary(string KeyValue, string selectedValue, string data_type, string comparator = "=") { //鏁版嵁灏佽 Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", KeyValue); - LogicMethod.dictionary(dic, "comparator", comparator); - LogicMethod.dictionary(dic, "data_type", data_type); - LogicMethod.dictionary(dic, "value", selectedValue); - AddDictionaryList(KeyValue, comparator,dic); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", KeyValue); + LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", comparator); + LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", data_type); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", selectedValue); + AddDictionaryList(dic); } /// <summary> /// 鏇存柊鏁版嵁鍒楄〃 @@ -420,22 +587,9 @@ /// <param name="comparator">姣旇緝鍏崇郴</param> /// <param name="dictionary">娣诲姞閫変腑鏁版嵁</param> /// <returns></returns> - private void AddDictionaryList(string keyValue,string comparator, Dictionary<string, string> dictionary) + private void AddDictionaryList(Dictionary<string, string> dictionary) { - int indexValue = -1; - for (int i = 0; i < dicSateteList.Count; i++) - { - var dic = dicSateteList[i]; - string key = dic["key"]; - string comparatorValue = dic["comparator"]; - if (key == keyValue && comparatorValue == comparator) - { - //鍒ゆ柇鏄惁瀛樺湪 - indexValue = i; - break; - } - } - + var indexValue = IsContainsAll(dictionary, dicSateteList); if (indexValue != -1) { //瀛樺湪绉婚櫎 @@ -461,8 +615,13 @@ { if (Logic.currlogic.input[i].sid == input.sid) { - indexValue = i; - break; + //鏈変簺璁惧姣旇緝鐗规畩锛堜緥濡傦細娴锋灄浼犳劅鍣ㄨ繕鏄鍒ゆ柇灞炴�у�硷紝娓╂箍搴﹀睘鎬ц繕瑕佸垽鏂瘮杈冨叧绯伙紝鎵嶈兘纭鏄惁宸茬粡瀛樺湪璇ユ潯浠讹紝鍏朵粬璁惧鏉′欢鐩存帴鐢╯id鍒ゆ柇鍗冲彲锛� + //鍔犱竴绾у垽鏂槸涓哄吋瀹圭壒娈婅澶� + if (IsContainsAll(input.condition, Logic.currlogic.input[i].condition)) + { + indexValue = i; + break; + } } } @@ -477,5 +636,53 @@ } } + /// <summary> + /// 鍒ゆ柇dictionaryB鍒楄〃鏄惁瀹屾暣鍖呭惈鍙︿竴涓猟ictionaryA + /// </summary> + /// <param name="dictionaryA">瀵硅薄</param> + /// <param name="dictionaryB">鍒楄〃</param> + /// <returns>杩斿洖鍒楄〃鐨勭储寮曞��</returns> + public int IsContainsAll(Dictionary<string, string> dictionaryA, List<Dictionary<string, string>> dictionaryB) + { + int valueInt = -1; + for (int i = 0; i < dictionaryB.Count; i++) + { + var dic = dictionaryB[i]; + string key = dic["key"]; + string comparatorValue = dic["comparator"]; + if (dictionaryA["key"] == key && dictionaryA["comparator"] == comparatorValue) + { + //鍒ゆ柇鏄惁瀛樺湪 + valueInt = i; + break; + } + } + return valueInt; + } + /// <summary> + /// 鍒ゆ柇dictionaryB鏄惁瀹屾暣鍖呭惈鍙︿竴涓猟ictionaryA + /// </summary> + /// <param name="dictionaryA"></param> + /// <param name="dictionaryB"></param> + /// <returns></returns> + public bool IsContainsAll(List<Dictionary<string, string>> dictionaryA, List<Dictionary<string, string>> dictionaryB) + { + + for (int i = 0; i < dictionaryA.Count; i++) + { + var dic = dictionaryA[i]; + string key = dic["key"]; + string comparatorValue = dic["comparator"]; + var list = dictionaryB.FindAll((dictionary) => dictionary["key"] == key && dictionary["comparator"] == comparatorValue); + if (list.Count> 0) + { + return true; + } + + } + return false; + } + + } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs index b79e2b2..addf896 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs @@ -81,7 +81,7 @@ Width = Application.GetRealWidth(144), Height = Application.GetRealHeight(44 * 5), }; - var roomList = LogicMethod.GetGatewayRoomList(Language.StringByID(StringId.allAreas)); + var roomList = LogicMethod.CurrLogicMethod.GetGatewayRoomList(Language.StringByID(StringId.allAreas)); if (roomList.Count > 5) { @@ -122,7 +122,7 @@ funAllAreaView.btnText2.Text = Language.StringByID(StringId.allFun); selectedRoom = (areaView.btnClick.Tag as Entity.Room); ///鑾峰彇鏄剧ず璁惧鍒楄〃 - var list = LogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room,if_type); + var list = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room,if_type); DeviceListView(vv, list); }; @@ -138,9 +138,9 @@ EventHandler<MouseEventArgs> funClick = (sender3, e3) =>{ //鑾峰彇鏈�缁堟樉绀哄垪琛� - var functionList = LogicMethod.GetFunctionDeviceList(selectedRoom, if_type); + var functionList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(selectedRoom, if_type); //鑾峰彇璁惧鍒楄〃鐨勭被鍨嬶紙渚嬪锛氱伅鍏夌被锛岀獥甯樼被銆傘�傘�傦級 - var deviceTypeList = LogicMethod.GetDeviceTypeList(functionList); + var deviceTypeList = LogicMethod.CurrLogicMethod.GetDeviceTypeList(functionList); if (deviceTypeList.Count==0) { //娌℃湁绫诲瀷鐩存帴杩斿洖鍘�; return; @@ -219,9 +219,9 @@ fLayout.RemoveFromParent(); funAllAreaView.btnText2.Text = areaView.btnClick.Tag.ToString(); ///鑾峰彇鍗曚釜绫诲瀷锛堜緥濡傦細鐏厜绫汇�傘�傦級璁惧FunctionType鍒楄〃 - var typeFunctionList = LogicMethod.GetDeviceTypeFunctionList(areaView.btnClick.Tag.ToString()); + var typeFunctionList = LogicMethod.CurrLogicMethod.GetDeviceTypeFunctionList(areaView.btnClick.Tag.ToString()); ///鑾峰彇鍗曚釜鐏厜绫诲瀷锛堜緥濡傦細鐏厜1,鐏厜2銆傘�傦級鏄剧ず璁惧鍒楄〃 - var lists = LogicMethod.GetShowDeviceList(typeFunctionList, functionList); + var lists = LogicMethod.CurrLogicMethod.GetShowDeviceList(typeFunctionList, functionList); DeviceListView(vv, lists); }; if (deviceTypeList.Count - 1 == i) @@ -234,7 +234,7 @@ funAllAreaView.btnText2.MouseUpEventHandler += funClick; funAllAreaView.btnIcon2.MouseUpEventHandler += funClick; ///鑾峰彇鏄剧ず璁惧鍒楄〃 - var deviceList = LogicMethod.GetFunctionDeviceList(selectedRoom, if_type); + var deviceList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(selectedRoom, if_type); DeviceListView(vv, deviceList); } @@ -255,7 +255,7 @@ funView.btnLine.X = Application.GetRealWidth(16); funView.btnLine.Width = Application.GetRealWidth(343); verticalScrolView.AddChidren(funView.FLayoutView()); - funView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(dev.spk); + funView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(dev.spk); funView.btnDeviceName.Text = dev.name; funView.btnRoomName.Text = dev.GetRoomListName(); funView.btnClick.MouseUpEventHandler += (sen,e) => { diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 7e25ab5..c279705 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -20,12 +20,14 @@ ///鍚勭鏉′欢鐨刅iew LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView(); inputView.FLayoutView(viewLayout); + //娣诲姞娌℃湁寤舵椂锛岄殣钘忓欢鏃舵寜閽�; + inputView.btnDelay.Visible = false; ///璁板綍鏉′欢绫诲瀷 inputView.btnClick.Name = inputCondition.condition_type; ///璁板綍鏉′欢绱㈠紩 - inputView.btnClick.Tag = inputCondition.sid; + inputView.btnClick.Tag = inputCondition; ///鏉′欢鐘舵�佹暟缁� - List<Dictionary<string, string>> dicList = inputCondition.condition as List<Dictionary<string, string>>; + List<Dictionary<string, string>> dicList = inputCondition.condition; //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵�� switch (inputCondition.condition_type) { @@ -123,9 +125,9 @@ case "3": { //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.GetDevice(inputCondition.sid); + var device = LogicMethod.CurrLogicMethod.GetDevice(inputCondition.sid); //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� - inputView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.spk); + inputView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(device.spk); //鏄剧ず璁惧鍚嶇О inputView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 @@ -268,7 +270,7 @@ { if (value == "true") { - str+= Language.StringByID(StringId.youren)+";"; + str += Language.StringByID(StringId.youren) + ";"; } else { @@ -313,6 +315,65 @@ } } break; + case SPK.SenesorEnvironment: + { + string strtext = ""; + foreach (var dic in dicList) + { + string key = dic["key"]; + string value = dic["value"]; + string comparator = dic["comparator"]; + switch (key) + { + + case "temperature": + { + if (comparator == ">") + { + strtext = ">" + value + "鈩�"; + } + else if (comparator == "<") + { + strtext = "<" + value + "鈩�"; + } + + } + break; + case "humidity": + { + if (comparator == ">") + { + strtext = ">" + value + "%"; + } + else if (comparator == "<") + { + strtext = "<" + value + "%"; + } + + } + break; + case "co2": + { + strtext = Language.StringByID(StringId.co2) + new PublicInterface { }.GetString("co2", value); + } + break; + case "pm25": + { + strtext = Language.StringByID(StringId.pm25) + new PublicInterface { }.GetString("pm25", value); + } + break; + case "tvoc": + { + strtext = Language.StringByID(StringId.tvoc) + new PublicInterface { }.GetString("tvoc", value); + } + break; + } + inputView.btnState.Text = strtext; + } + + + } + break; } } @@ -332,7 +393,7 @@ { case "outdoor_temp": { - strvalue = value; + strvalue = value + "鈩�"; if (comparator == ">") { strtext = Language.StringByID(StringId.wendugaoyu); @@ -346,7 +407,7 @@ break; case "outdoor_humity": { - strvalue = value; + strvalue = value + "%"; if (comparator == ">") { strtext = Language.StringByID(StringId.shidugaoyu); @@ -361,7 +422,7 @@ case "pm2.5": { strtext = Language.StringByID(StringId.PM25); - strvalue = new OutdoorEnvironment { }.GetString(value); + strvalue = new PublicInterface { }.GetString("pm25", value); } break; @@ -447,17 +508,34 @@ inputView.btnClick.MouseUpEventHandler += (sen, e) => { Button button = (Button)sen; + //褰撳墠缂栬緫鐨勬潯浠� + Input ckcliInput = inputView.btnClick.Tag as Input; //鎵惧埌褰撳墠缂栬緫鐨勭储寮� int indexVulae = 0; for (int index = 0; index < Logic.currlogic.input.Count; index++) { Input input = Logic.currlogic.input[index]; - if (input.sid == inputView.btnClick.Tag.ToString()) + if (input.sid == ckcliInput.sid) { - //鐢ㄦ埛鍙兘鍒犻櫎鏁版嵁锛屼娇鍒楄〃绱㈠紩鍙戠敓鏀瑰彉锛� - //閫氳繃鍞竴sid閲嶆柊鏌ユ壘鍒扮储寮曚笖鏇存柊绱㈠紩鍊� - indexVulae = index; - break; + if (button.Name == "3") + { + //鏈変簺璁惧姣旇緝鐗规畩锛堜緥濡傦細娴锋灄浼犳劅鍣ㄨ繕鏄鍒ゆ柇灞炴�у�硷紝娓╂箍搴﹀睘鎬ц繕瑕佸垽鏂瘮杈冨叧绯伙紝鎵嶈兘纭鏄惁宸茬粡瀛樺湪璇ユ潯浠讹紝鍏朵粬璁惧鏉′欢鐩存帴鐢╯id鍒ゆ柇鍗冲彲锛� + //鍔犱竴绾у垽鏂槸涓哄吋瀹圭壒娈婅澶� + if (new ConditionDeviceFunList { }.IsContainsAll(ckcliInput.condition, input.condition)) + { + //鐢ㄦ埛鍙兘鍒犻櫎鏁版嵁锛屼娇鍒楄〃绱㈠紩鍙戠敓鏀瑰彉锛� + //閫氳繃鍞竴sid閲嶆柊鏌ユ壘鍒扮储寮曚笖鏇存柊绱㈠紩鍊� + indexVulae = index; + break; + } + } + else + { + //鐢ㄦ埛鍙兘鍒犻櫎鏁版嵁锛屼娇鍒楄〃绱㈠紩鍙戠敓鏀瑰彉锛� + //閫氳繃鍞竴sid閲嶆柊鏌ユ壘鍒扮储寮曚笖鏇存柊绱㈠紩鍊� + indexVulae = index; + break; + } } } //鏍囪缂栬緫鐘舵�� @@ -470,7 +548,7 @@ Input _input = Logic.currlogic.input[indexVulae]; if (_input.condition_type == "1") { - var dicLists = _input.condition as List<Dictionary<string, string>>; + var dicLists = _input.condition; foreach (var dic in dicLists) { string keyValue = dic["key"]; @@ -520,11 +598,78 @@ case "3": { //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.GetDevice(inputCondition.sid); - ConditionDeviceFunList deviceFunList = new ConditionDeviceFunList(); - MainPage.BasePageView.AddChidren(deviceFunList); - deviceFunList.Show(device, indexVulae, edit); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + var device = LogicMethod.CurrLogicMethod.GetDevice(inputCondition.sid); + if (device.spk == SPK.SenesorEnvironment) + { + //杩欎釜璁惧姣旇緝鐗规畩 + ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); + ///褰撳墠鐨勭储寮曞�兼暟鎹璞� + Input inputedit = Logic.currlogic.input[indexVulae]; + ///鐘舵�佸�� + string stateValue = ""; + foreach (var dic in inputedit.condition) + { + string key = dic["key"]; + string comparator = dic["comparator"]; + stateValue = dic["value"]; + switch (key) + { + + case "temperature": + { + int titleInt = 0; + if (comparator == ">") + { + titleInt = StringId.wendugaoyu; + } + else if (comparator == "<") + { + titleInt = StringId.wendudiyu; + } + conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + } + break; + case "humidity": + { + int titleInt = 0; + if (comparator == ">") + { + titleInt = StringId.shidugaoyu; + } + else if (comparator == "<") + { + titleInt = StringId.shidudiyu; + } + conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + } + break; + case "co2": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "co2", StringId.co2, indexVulae, true, stateValue); + } + break; + case "pm25": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "pm25", StringId.pm25, indexVulae, true, stateValue); + + } + break; + case "tvoc": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "tvoc", StringId.tvoc, indexVulae, true, stateValue); + } + break; + } + } + + } + else + { + ConditionDeviceFunList deviceFunList = new ConditionDeviceFunList(); + MainPage.BasePageView.AddChidren(deviceFunList); + deviceFunList.Show(device, indexVulae, edit); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } } break; case "4": @@ -638,7 +783,7 @@ ///璁板綍鏉′欢绱㈠紩 targetView.btnClick.Tag = outputTarget.sid; ///鏉′欢鐘舵�佹暟缁� - List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>; + List<Dictionary<string, string>> dicList = outputTarget.status; //鏄剧ず鐘舵�佸�� string stateStr = ""; //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵�� @@ -647,14 +792,14 @@ case "1": { //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.GetDevice(outputTarget.sid); + var device = LogicMethod.CurrLogicMethod.GetDevice(outputTarget.sid); //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� - targetView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.spk); + targetView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(device.spk); //鏄剧ず璁惧鍚嶇О targetView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 targetView.btnText.Width = Application.GetRealWidth(80); - + //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.spk) { @@ -699,7 +844,7 @@ { stateStr = brightness + "%"; } - + } break; case SPK.CurtainSwitch: @@ -932,7 +1077,7 @@ case "2": { //鐢╯id鎵惧埌鍦烘櫙锛� - var scene = LogicMethod.GetSecne(outputTarget.sid); + var scene = LogicMethod.CurrLogicMethod.GetSecne(outputTarget.sid); targetView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; targetView.btnNextIcon.Visible = false; //鏄剧ず鍦烘櫙鍚嶇О @@ -957,7 +1102,7 @@ } else { - targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay)+ stateStr; + targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; } //鍐嶆缂栬緫鏉′欢鐘舵�佺偣鍑讳簨浠� targetView.btnClick.MouseUpEventHandler += (sen, e) => @@ -983,7 +1128,7 @@ case "1": { //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.GetDevice(outputTarget.sid); + var device = LogicMethod.CurrLogicMethod.GetDevice(outputTarget.sid); TargetDeviceFunList deviceFunList = new TargetDeviceFunList(); MainPage.BasePageView.AddChidren(deviceFunList); deviceFunList.Show(device, indexVulae, edit); @@ -1023,7 +1168,7 @@ targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; } }); - + }; ///鍒犻櫎鎺т欢 targetView.btnDel.MouseUpEventHandler += (sender, e) => @@ -1086,7 +1231,11 @@ break; case "brightness": { - + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } button2.Text = value + "%"; } break; @@ -1149,11 +1298,21 @@ break; case "set_temp": { + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } button2.Text = value + "鈩�"; } break; case "mode": { + if (button3 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } switch (value) { case "cool": @@ -1184,6 +1343,11 @@ break; case "fan": { + if (button4 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } switch (value) { case "high": @@ -1246,11 +1410,21 @@ break; case "set_temp": { + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } button2.Text = value + "鈩�"; } break; case "mode": { + if (button3 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } switch (value) { case "day": @@ -1482,7 +1656,7 @@ case "3": { //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.GetDevice(inputCondition.sid); + var device = LogicMethod.CurrLogicMethod.GetDevice(inputCondition.sid); name = device.name + "-"; } break; @@ -1497,7 +1671,7 @@ case "1": { //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.GetDevice(outputTarget.sid); + var device = LogicMethod.CurrLogicMethod.GetDevice(outputTarget.sid); //鏄剧ず璁惧鍚嶇О name += device.name; string stateStr = ""; @@ -1602,7 +1776,7 @@ case "2": { //鐢╯id鎵惧埌鍦烘櫙锛� - var scene = LogicMethod.GetSecne(outputTarget.sid); + var scene = LogicMethod.CurrLogicMethod.GetSecne(outputTarget.sid); name += scene.name; } @@ -1620,7 +1794,7 @@ /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param> /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param> /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param> - private void Delayed(FrameLayout thisFLayout, Output output,Action<int>action) + private void Delayed(FrameLayout thisFLayout, Output output, Action<int> action) { FrameLayout fLayout = new FrameLayout { @@ -1666,12 +1840,12 @@ string second = timePointView.GetmStringList()[index2].Split(' ')[0]; int minuetIntValue = int.Parse(minuet); int secondIntValue = int.Parse(second); - timepoint = minuetIntValue*60+secondIntValue; + timepoint = minuetIntValue * 60 + secondIntValue; }; //纭畾鐐瑰嚮浜嬩欢 timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) => { - if (timepoint==0) + if (timepoint == 0) { //鎻愮ず return; @@ -1709,7 +1883,11 @@ state = seconds.ToString() + Language.StringByID(StringId.s); } } + if (!string.IsNullOrEmpty(state)) { + state = Language.StringByID(StringId.delayLogic) + state; + } return state; } + } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index d40c649..da993e1 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,7 +174,7 @@ /// 鑾峰彇缃戝叧璁惧鍒楄〃 /// </summary> /// <returns></returns> - public static List<HDL_ON.Entity.Function> GetGatewayDeviceList() + public List<HDL_ON.Entity.Function> GetGatewayDeviceList() { return Entity.FunctionList.List.GetDeviceFunctionList(); } @@ -166,7 +182,7 @@ /// 鑾峰彇缃戝叧鍦烘櫙鍒楄〃 /// </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; } @@ -175,7 +191,7 @@ /// </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(); @@ -205,7 +221,7 @@ /// </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(); @@ -226,7 +242,7 @@ /// </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(); @@ -246,7 +262,7 @@ /// </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 +284,7 @@ /// </summary> /// <param name="functionType">璁惧绫诲瀷</param> /// <returns></returns> - public static string GetIconPath(string functionType) + public string GetIconPath(string functionType) { string strPath = ""; switch (functionType) @@ -309,6 +325,7 @@ case SPK.SensorDoorWindow: case SPK.SensoruUtrasonic: case SPK.SenesorMegahealth: + case SPK.SenesorEnvironment: { strPath = "LogicIcon/sensor.png"; } @@ -322,7 +339,7 @@ /// </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(); @@ -367,6 +384,7 @@ || device.spk == SPK.SensorDoorWindow || device.spk == SPK.SensoruUtrasonic || device.spk == SPK.SenesorMegahealth + || device.spk == SPK.SenesorEnvironment ); if (sensor != null) { @@ -380,7 +398,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)) @@ -417,6 +435,8 @@ functionTypeList.Add(SPK.SensorDoorWindow); functionTypeList.Add(SPK.SensoruUtrasonic); functionTypeList.Add(SPK.SenesorMegahealth); + functionTypeList.Add(SPK.SenesorEnvironment); + } return functionTypeList; @@ -426,7 +446,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) @@ -453,6 +473,8 @@ deviceTypeList.Add(SPK.SensorDoorWindow); deviceTypeList.Add(SPK.SensoruUtrasonic); deviceTypeList.Add(SPK.SenesorMegahealth); + deviceTypeList.Add(SPK.SenesorEnvironment); + } break; case target_if: @@ -479,7 +501,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++) @@ -501,7 +523,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); //杩斿洖鎴块棿璁惧鍒楄〃 @@ -513,7 +535,7 @@ /// <summary> /// 缃戝叧ID(鑾峰彇鍢変箰缃戝叧ID) /// </summary> - public static string GatewayId + public string GatewayId { get { @@ -527,7 +549,7 @@ /// <summary> /// 浣忓畢ID /// </summary> - public static string HomeId + public string HomeId { get { @@ -537,12 +559,14 @@ /// <summary> /// 鏄惁涓哄叾浠栦富鐢ㄦ埛鍒嗕韩杩囨潵鐨勪綇瀹� /// </summary> - public static bool IsOthreShare + public bool IsOthreShare { get { return Entity.DB_ResidenceData.Instance.CurrentRegion.isOtherShare; } } + + } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs index a674af7..dd2ea61 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/SelectTypeView.cs @@ -132,5 +132,7 @@ frameLayout.AddChidren(btnClick); return frameLayout; } + + } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/OnePortAutomation.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/OnePortAutomation.cs index 4610303..37d4567 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/OnePortAutomation.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/OnePortAutomation.cs @@ -199,7 +199,7 @@ ) => { Logic.currlogic.name = logicName; - Logic.currlogic.sid = LogicMethod.NewSid(); + Logic.currlogic.sid = LogicMethod.CurrLogicMethod.NewSid(); loading.Start(); new System.Threading.Thread(() => { @@ -242,7 +242,7 @@ } Logic.LogicList.Add(Logic.currlogic); - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); MainView.MainShow(); } else if (responsePackNew != null && responsePackNew.Code == "14005") @@ -282,7 +282,7 @@ loading.Hide(); if (responsePackNew != null && responsePackNew.Code == "0") { - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); MainView.MainShow(); } else if (responsePackNew != null && responsePackNew.Code == "14005") diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs index 8d7f8e3..d8930a7 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs @@ -164,31 +164,11 @@ public void PmAction(FrameLayout frame, string stateValue = "") { PublicInterface pmView = new PublicInterface(); - var pmListStr = pmView.GetViewList("pm2.5"); - pmView.SingleSelectionShow(frame, pmListStr, Language.StringByID(StringId.PM25), GetString(stateValue) + var pmListStr = pmView.GetViewList("pm25"); + pmView.SingleSelectionShow(frame, pmListStr, Language.StringByID(StringId.PM25), pmView.GetString("pm25", stateValue) , (text) => { - string value = ""; - if (text == Language.StringByID(StringId.pmyou)) - { - value = "10"; - } - else if (text == Language.StringByID(StringId.pmliang)) - { - value = "50"; - } - else if (text == Language.StringByID(StringId.pmqingdu)) - { - value = "90"; - } - else if (text == Language.StringByID(StringId.pmzhongdu)) - { - value = "130"; - } - else if (text == Language.StringByID(StringId.pmzhongduwuran)) - { - value = "170"; - } + var value= pmView.GetValue("pm25", text); AddDic("pm2.5", "=", value); }); } @@ -201,13 +181,13 @@ private void AddDic(string keyValue, string comparator, string value) { Input input = new Input(); - input.sid = LogicMethod.NewSid(); + input.sid = LogicMethod.CurrLogicMethod.NewSid(); input.condition_type = "4"; Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", keyValue); - LogicMethod.dictionary(dic, "comparator", comparator); - LogicMethod.dictionary(dic, "data_type", "float"); - LogicMethod.dictionary(dic, "value", value); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", keyValue); + LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", comparator); + LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "float"); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", value); input.condition.Add(dic); AddCondition(input, keyValue, comparator); } @@ -247,7 +227,7 @@ Logic.currlogic.input.Add(input); } - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); @@ -277,41 +257,6 @@ return false; } - /// <summary> - /// 鏁板�艰繑鍥炴枃鏈� - /// </summary> - /// <param name="strValue">鍊�</param> - /// <returns></returns> - public string GetString(string strValue) - { - string text = ""; - int intValue = 0; - if (strValue != "") - { - intValue = int.Parse(strValue); - } - if (intValue > 0 && intValue < 35) - { - text = Language.StringByID(StringId.pmyou); - } - else if (intValue > 35 && intValue < 75) - { - text = Language.StringByID(StringId.pmliang); - } - else if (intValue > 75 && intValue < 115) - { - text = Language.StringByID(StringId.pmqingdu); - } - else if (intValue > 115 && intValue < 150) - { - text = Language.StringByID(StringId.pmzhongdu); - } - else if (intValue > 150) - { - text = Language.StringByID(StringId.pmzhongduwuran); - } - - return text; - } + } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs index 18ec0c8..4683464 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs @@ -16,6 +16,10 @@ /// <param name="textSize">鏄剧ず鏂囨湰瀛椾綋澶у皬</param> public void SingleSelectionShow(FrameLayout frame, List<string> list, string titleText, string stateText, Action<string> action, int textSize = LogicView.TextSize.text14) { + if (list == null) + { + return; + } FrameLayout frameLayout = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, @@ -75,7 +79,7 @@ }; } - + /// <summary> /// 澶氶�夋嫨 /// </summary> @@ -259,7 +263,8 @@ /// <param name="list">鏄剧ず鏁版嵁婧�</param> /// <param name="titleText">鏍囬</param> /// <param name="action">杩斿洖鍊肩储寮曞��</param> - public void FrameOrVv(FrameLayout frame, List<string>list, int titleText,Action<int> action) { + public void FrameOrVv(FrameLayout frame, List<string> list, int titleText, Action<int> action) + { int line = 0; if (list.Count == 0 || list.Count > 5) @@ -396,7 +401,7 @@ /// <param name="stateList">涔嬪墠鐘舵�佹暟鎹簮</param> /// <param name="titleText">鏍囬</param> /// <param name="action">杩斿洖鍊肩储寮曞��</param> - public void FrameOrVvList(FrameLayout frame, List<string> list,List<string>stateList, int titleText, Action<List<string>> action) + public void FrameOrVvList(FrameLayout frame, List<string> list, List<string> stateList, int titleText, Action<List<string>> action) { int line = 0; @@ -495,7 +500,8 @@ { verticalRefresh.AddChidren(checkView.FLayoutView()); } - if (stateList.Contains(strName)) { + if (stateList.Contains(strName)) + { checkView.btnClick.IsSelected = true; checkView.btnCheckIcon.IsSelected = true; selecetdList.Add(strName); @@ -539,6 +545,63 @@ } + /// <summary> + /// 娓╂箍搴︾粍鍚堢晫闈� + /// </summary> + /// <param name="frameLayout">鐖舵帶浠�</param> + /// <param name="text1">鏍囬鏂囨湰1</param> + /// <param name="text2">鏍囬鏂囨湰2</param> + /// <param name="action">鍥炶皟鍑芥暟</param> + public void ViewZuHe(FrameLayout frameLayout, int text1, int text2, Action<int, FrameLayout> action) + { + + FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewMiddle }; + frameLayout.AddChidren(frame); + LogicView.TopView topView = new LogicView.TopView(); + topView.topNameBtn.TextID = StringId.wendu; + frame.AddChidren(topView.FLayoutView()); + topView.clickBackBtn.MouseUpEventHandler += (e, sen) => + { + frame.RemoveFromParent(); + }; + FrameLayout viewLayout = new FrameLayout + { + Y = Application.GetRealHeight(64), + Width = Application.GetRealWidth(LogicView.TextSize.view375), + Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64), + BackgroundColor = CSS.CSS_Color.viewMiddle, + }; + frame.AddChidren(viewLayout); + + //娓�,婀垮害楂樹簬 + LogicView.SelectTypeView temperaturehigherView = new LogicView.SelectTypeView(); + temperaturehigherView.btnIcon.Visible = false; + temperaturehigherView.btnText.X = Application.GetRealWidth(16); + temperaturehigherView.btnLine.X = Application.GetRealWidth(16); + temperaturehigherView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); + temperaturehigherView.btnText.TextID = text1; + viewLayout.AddChidren(temperaturehigherView.FLayoutView()); + //娓�,婀垮害浣庝簬 + LogicView.SelectTypeView temperatureunderView = new LogicView.SelectTypeView(); + temperatureunderView.frameLayout.Y = temperaturehigherView.frameLayout.Bottom; + temperatureunderView.btnIcon.Visible = false; + temperatureunderView.btnText.X = Application.GetRealWidth(16); + temperatureunderView.btnLine.X = Application.GetRealWidth(16); + temperatureunderView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); + temperatureunderView.btnText.TextID = text2; + viewLayout.AddChidren(temperatureunderView.FLayoutView()); + + //娓�,婀垮害楂樹簬 + temperaturehigherView.btnClick.MouseUpEventHandler += (sen, e) => + { + action(text1, frame); + }; + //娓�,婀垮害浣庝簬 + temperatureunderView.btnClick.MouseUpEventHandler += (sen, e) => + { + action(text2, frame); + }; + } /// <summary> /// 鑾峰彇鐣岄潰鍒楄〃 @@ -613,7 +676,7 @@ }; } break; - case "pm2.5": + case "pm25": { list = new List<string> { Language.StringByID(StringId.pmyou), @@ -621,6 +684,24 @@ Language.StringByID(StringId.pmqingdu), Language.StringByID(StringId.pmzhongdu), Language.StringByID(StringId.pmzhongduwuran), + }; + } + break; + case "co2": + { + list = new List<string> { + Language.StringByID(StringId.zhengchang), + Language.StringByID(StringId.piangao), + Language.StringByID(StringId.chaobiao), + }; + } + break; + case "tvoc": + { + list = new List<string> { + Language.StringByID(StringId.zhengchang), + Language.StringByID(StringId.chaobiao), + Language.StringByID(StringId.yanzhong), }; } break; @@ -798,6 +879,157 @@ return stateList; } + /// <summary> + /// 鏁板�艰繑鍥炴枃鏈� + /// </summary> + /// <param name="type">绫诲瀷</param> + /// <param name="strValue">鍊�</param> + /// <returns></returns> + public string GetString(string type, string strValue) + { + string text = ""; + int intValue = 0; + if (strValue != "") + { + intValue = int.Parse(strValue); + } + + switch (type) + { + case "pm25": + { + + if (intValue > 0 && intValue < 35) + { + text = Language.StringByID(StringId.pmyou); + } + else if (intValue > 35 && intValue < 75) + { + text = Language.StringByID(StringId.pmliang); + } + else if (intValue > 75 && intValue < 115) + { + text = Language.StringByID(StringId.pmqingdu); + } + else if (intValue > 115 && intValue < 150) + { + text = Language.StringByID(StringId.pmzhongdu); + } + else if (intValue > 150) + { + text = Language.StringByID(StringId.pmzhongduwuran); + } + } + break; + case "co2": + { + + if (intValue > 0 && intValue < 800) + { + text = Language.StringByID(StringId.zhengchang); + } + else if (intValue > 800 && intValue < 1100) + { + text = Language.StringByID(StringId.piangao); + } + else if (intValue > 1100) + { + text = Language.StringByID(StringId.chaobiao); + } + } + break; + case "tvoc": + { + + if (intValue >=1 && intValue <= 3) + { + text = Language.StringByID(StringId.zhengchang); + } + else if (intValue >=4 && intValue<=6) + { + text = Language.StringByID(StringId.chaobiao); + } + else if (intValue >= 7 && intValue <= 9) + { + text = Language.StringByID(StringId.yanzhong); + } + } + break; + } + return text; + } + + /// <summary> + /// 鏈枃杩斿洖鏁板�艰繑鍥� + /// </summary> + /// <param name="type">绫诲瀷</param> + /// <param name="text">鏂囨湰</param> + /// <returns></returns> + public string GetValue(string type, string text) + { + string value = ""; + switch (type) + { + case "pm25": + { + if (text == Language.StringByID(StringId.pmyou)) + { + value = "10"; + } + else if (text == Language.StringByID(StringId.pmliang)) + { + value = "50"; + } + else if (text == Language.StringByID(StringId.pmqingdu)) + { + value = "90"; + } + else if (text == Language.StringByID(StringId.pmzhongdu)) + { + value = "130"; + } + else if (text == Language.StringByID(StringId.pmzhongduwuran)) + { + value = "170"; + } + } + break; + case "co2": + { + if (text == Language.StringByID(StringId.zhengchang)) + { + value = "400"; + } + else if (text == Language.StringByID(StringId.piangao)) + { + value = "850"; + } + else if (text == Language.StringByID(StringId.chaobiao)) + { + value = "1200"; + } + } + break; + case "tvoc": + { + if (text == Language.StringByID(StringId.zhengchang)) + { + value = "2"; + } + else if (text == Language.StringByID(StringId.chaobiao)) + { + value = "5"; + } + else if (text == Language.StringByID(StringId.yanzhong)) + { + value = "8"; + } + } + break; + + } + return value; + } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs index 2f32631..193f4c7 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs @@ -37,7 +37,7 @@ /// <returns></returns> public static ResponsePackNew GetLogicIdList() { - var jObject = new JObject { { "homeId", LogicMethod.HomeId } }; + var jObject = new JObject { { "homeId", LogicMethod.CurrLogicMethod.HomeId } }; var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_List); //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken if (responsePackNew.Code == StateCode.TOKEN_EXPIRED) @@ -154,7 +154,7 @@ var logicjArray = new JArray { }; var logicIfon = new JObject { }; logicIfon.Add("sid", logic.sid); - logicIfon.Add("gatewayId", LogicMethod.GatewayId); + logicIfon.Add("gatewayId", LogicMethod.CurrLogicMethod.GatewayId); logicIfon.Add("name", logic.name); logicIfon.Add("relation", logic.relation); logicIfon.Add("enable", logic.enable); @@ -164,7 +164,7 @@ logicIfon.Add("noticeConfig", noticeConfigJObject); logicIfon.Add("pushConfigs", pushConfigsArray); logicjArray.Add(logicIfon); - var jObject = new JObject { { "homeId", LogicMethod.HomeId }, { "logics", logicjArray } }; + var jObject = new JObject { { "homeId", LogicMethod.CurrLogicMethod.HomeId }, { "logics", logicjArray } }; responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add,5); //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken if (responsePackNew.Code == StateCode.TOKEN_EXPIRED) @@ -268,7 +268,7 @@ var logicIfon = new JObject { }; logicIfon.Add("userLogicId", logic.userLogicId); logicIfon.Add("sid", logic.sid); - logicIfon.Add("gatewayId", LogicMethod.GatewayId); + logicIfon.Add("gatewayId", LogicMethod.CurrLogicMethod.GatewayId); logicIfon.Add("name", logic.name); logicIfon.Add("relation", logic.relation); logicIfon.Add("enable", logic.enable); @@ -279,7 +279,7 @@ logicIfon.Add("pushConfigs", pushConfigsArray); logicjArray.Add(logicIfon); - var jObject = new JObject { { "homeId", LogicMethod.HomeId }, { "logics", logicjArray } }; + var jObject = new JObject { { "homeId", LogicMethod.CurrLogicMethod.HomeId }, { "logics", logicjArray } }; responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update,5); //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken if (responsePackNew.Code == StateCode.TOKEN_EXPIRED) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs index 442dae4..7113132 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Set.cs @@ -118,7 +118,7 @@ loading.Hide(); if (responsePackNew != null && responsePackNew.Code == "0") { - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); Logic.LogicList.Remove(Logic.currlogic); MainView.MainShow(); //鍙戦�佸垹闄ら�昏緫鍛戒护锛� diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index 2bc0fba..ecd18e9 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -387,6 +387,8 @@ if (edit) { + //鏇存柊寤舵椂鏃堕棿 + outputDevice.delay = Logic.currlogic.output[index].delay; //绉婚櫎鏃ф暟鎹� Logic.currlogic.output.RemoveAt(index); //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�; @@ -408,7 +410,7 @@ this.RemoveFromParent(); return; } - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); @@ -514,7 +516,7 @@ private void GetEditState(Entity.Function device, int index, Button button1, Button button2, Button button3, Button button4) { Output outputs = Logic.currlogic.output[index]; - var dicList = outputs.status as List<Dictionary<string, string>>; + var dicList = outputs.status; //娓呴櫎涔嬪墠鏃ф暟鎹� dicSateteList.Clear(); if (dicList.Count != 0) @@ -533,8 +535,8 @@ { //鏁版嵁灏佽 Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", KeyValue); - LogicMethod.dictionary(dic, "value", selectedValue); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", KeyValue); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", selectedValue); AddDictionaryList(KeyValue, dic); } /// <summary> diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs index 7d58572..3ace301 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs @@ -222,13 +222,13 @@ private void AddDic(string keyValue, string value, bool edit, int index) { Input inputTime = new Input(); - inputTime.sid = LogicMethod.NewSid(); + inputTime.sid = LogicMethod.CurrLogicMethod.NewSid(); inputTime.condition_type = "1"; Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", keyValue); - LogicMethod.dictionary(dic, "comparator", "="); - LogicMethod.dictionary(dic, "data_type", "string"); - LogicMethod.dictionary(dic, "value", value); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", keyValue); + LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", "="); + LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "string"); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", value); inputTime.condition.Add(dic); AddCondition(inputTime, edit, index); } @@ -250,7 +250,7 @@ //娣诲姞涓�涓柊鐨勬椂闂存潯浠� Logic.currlogic.input.Add(input); } - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs index ee08deb..fb0a481 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs @@ -129,13 +129,13 @@ timePointView.FLayoutView(fLayout); timePointView.TimePoint(fLayout, editTime, (timeValue)=>{ Input inputTime = new Input(); - inputTime.sid = LogicMethod.NewSid(); + inputTime.sid = LogicMethod.CurrLogicMethod.NewSid(); inputTime.condition_type = "1"; Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "timepoint"); - LogicMethod.dictionary(dic, "comparator", "="); - LogicMethod.dictionary(dic, "data_type", "string"); - LogicMethod.dictionary(dic, "value", timeValue); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", "timepoint"); + LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", "="); + LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "string"); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", timeValue); inputTime.condition.Add(dic); AddCondition(inputTime, edit, index); }); @@ -252,13 +252,13 @@ } Input inputTime = new Input(); - inputTime.sid = LogicMethod.NewSid(); + inputTime.sid = LogicMethod.CurrLogicMethod.NewSid(); inputTime.condition_type = "2"; Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "timesection"); - LogicMethod.dictionary(dic, "comparator", "="); - LogicMethod.dictionary(dic, "data_type", "string"); - LogicMethod.dictionary(dic, "value", btnStartTimeText.Text + "-" + btnEndTimeText.Text); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", "timesection"); + LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", "="); + LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "string"); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", btnStartTimeText.Text + "-" + btnEndTimeText.Text); inputTime.condition.Add(dic); AddCondition(inputTime, edit, index); @@ -349,7 +349,7 @@ //娣诲姞涓�涓柊鐨勬椂闂存潯浠� Logic.currlogic.input.Add(input); } - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/WeatherCondition.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/WeatherCondition.cs index fbe50e2..7bbf196 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/WeatherCondition.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/WeatherCondition.cs @@ -78,13 +78,13 @@ private void AddDic(string value) { Input input = new Input(); - input.sid = LogicMethod.NewSid(); + input.sid = LogicMethod.CurrLogicMethod.NewSid(); input.condition_type = "6"; Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "weather"); - LogicMethod.dictionary(dic, "comparator", "="); - LogicMethod.dictionary(dic, "data_type", "string"); - LogicMethod.dictionary(dic, "value", value); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", "weather"); + LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", "="); + LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "string"); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", value); input.condition.Add(dic); AddCondition(input); } @@ -118,7 +118,7 @@ Logic.currlogic.input.Add(input); } - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddControlComplete.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddControlComplete.cs index dd7c026..c770e5a 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddControlComplete.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddControlComplete.cs @@ -82,7 +82,7 @@ quyuPatchView.frameLayout.Y = namePatchView.frameLayout.Bottom; this.AddChidren(quyuPatchView.FLayoutView()); quyuPatchView.btnText1.TextID = StringId.suoshuquyu; - quyuPatchView.btnText2.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(GetFunction(control.deviceId)); + quyuPatchView.btnText2.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(GetFunction(control.deviceId)); //缁х画娣诲姞 Button addBtn = new Button @@ -137,7 +137,7 @@ method.ManagementPosition(GetFunction(control.deviceId), () => { //鏇存柊鍖哄煙 - quyuPatchView.btnText2.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(GetFunction(control.deviceId)); + quyuPatchView.btnText2.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(GetFunction(control.deviceId)); }); }; //缁х画娣诲姞鐐瑰嚮浜嬩欢 diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/EditControl.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/EditControl.cs index 0c14256..547e878 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/EditControl.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/EditControl.cs @@ -43,7 +43,7 @@ //閬ユ帶鍣ㄦ墍灞炲尯鍩�: FrameLayout50 areaFLayout = new FrameLayout50(); areaFLayout.btnText.Text = Language.StringByID(StringId.yaokongqiquyu); - areaFLayout.btnEditText.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(control); + areaFLayout.btnEditText.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(control); areaFLayout.frameLayout.Y = editNameFLayout.frameLayout.Bottom; viewLayout.AddChidren(areaFLayout.FLayoutView()); #endregion @@ -77,7 +77,7 @@ method.ManagementPosition(control, () => { //鏇存柊鍖哄煙 - areaFLayout.btnEditText.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(control); + areaFLayout.btnEditText.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(control); }); }; #endregion diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs index 721151e..38b713e 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs @@ -197,7 +197,7 @@ //閬ユ帶鍣ㄥ悕绉� controlView.nameBtn.Text = control.name; //閬ユ帶鍣ㄥ瓨鏀惧尯鍩� - controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(control); + controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(control); //鏍囪閬ユ帶鍣� controlView.delBtn.Tag = control; //鍒犻櫎鐐瑰嚮浜嬩欢 @@ -236,7 +236,7 @@ { //鍥炶皟鏇存柊鍚嶅瓧/鍖哄煙 controlView.nameBtn.Text = device.name; - controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(device); + controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(device); }); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; -- Gitblit v1.8.0