From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs |  179 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 156 insertions(+), 23 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs
index e3b39c6..661dbcd 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using Shared;
+using System.Collections.Generic;
 namespace HDL_ON.UI.UI2.Intelligence.Automation
 {
     public class OutdoorEnvironment : FrameLayout
@@ -48,7 +49,7 @@
 
             //婀垮害楂樹簬
             LogicView.SelectTypeView humidityhigherView = new LogicView.SelectTypeView();
-            humidityhigherView.frameLayout.Y = temperatureunderView.frameLayout.Bottom+Application.GetRealHeight(8);
+            humidityhigherView.frameLayout.Y = temperatureunderView.frameLayout.Bottom + Application.GetRealHeight(8);
             humidityhigherView.btnIcon.Visible = false;
             humidityhigherView.btnText.X = Application.GetRealWidth(16);
             humidityhigherView.btnLine.X = Application.GetRealWidth(16);
@@ -65,24 +66,16 @@
             humidityunderView.btnText.TextID = StringId.shidudiyu;
             viewLayout.AddChidren(humidityunderView.FLayoutView());
 
-            //PM2.5楂樹簬
+            //PM2.5
             LogicView.SelectTypeView pmhigherView = new LogicView.SelectTypeView();
             pmhigherView.frameLayout.Y = humidityunderView.frameLayout.Bottom + Application.GetRealHeight(8);
             pmhigherView.btnIcon.Visible = false;
             pmhigherView.btnText.X = Application.GetRealWidth(16);
             pmhigherView.btnLine.X = Application.GetRealWidth(16);
             pmhigherView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16);
-            pmhigherView.btnText.TextID = StringId.pmgaoyu;
+            pmhigherView.btnText.TextID = StringId.PM25;
             viewLayout.AddChidren(pmhigherView.FLayoutView());
-            //PM2.5浣庝簬
-            LogicView.SelectTypeView pmunderView = new LogicView.SelectTypeView();
-            pmunderView.frameLayout.Y = pmhigherView.frameLayout.Bottom;
-            pmunderView.btnIcon.Visible = false;
-            pmunderView.btnText.X = Application.GetRealWidth(16);
-            pmunderView.btnLine.X = Application.GetRealWidth(16);
-            pmunderView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16);
-            pmunderView.btnText.TextID = StringId.pmdiyu;
-            viewLayout.AddChidren(pmunderView.FLayoutView());
+
 
             #endregion
 
@@ -90,40 +83,180 @@
             //娓╁害楂樹簬
             temperaturehigherView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
-                
+                InputBoxAction(StringId.wendugaoyu);
 
             };
             //娓╁害浣庝簬
             temperatureunderView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
-              
+                InputBoxAction(StringId.wendudiyu);
             };
 
             //婀垮害楂樹簬
             humidityhigherView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
-               
 
+                InputBoxAction(StringId.shidugaoyu);
             };
             //婀垮害浣庝簬
             humidityunderView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
-               
+                InputBoxAction(StringId.shidudiyu);
             };
 
-            //PM2.5楂樹簬
+            //PM2.5
             pmhigherView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
-               
+                PmAction(this);
 
             };
-            //PM2.5浣庝簬
-            pmunderView.btnClick.MouseUpEventHandler += (sen, e) =>
-            {
-               
-            };
+
 
             #endregion
         }
+        /// <summary>
+        /// 娓╁害,婀垮害寮规璁剧疆鍊�
+        /// </summary>
+        /// <param name="textInt">鏂囨湰</param>
+        /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�20</param>
+        public void InputBoxAction(int textInt, string stateValue = "20")
+        {
+            new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) =>
+            {
+                string keyValue = "";
+                string comparator = "=";
+                switch (textInt)
+                {
+                    case StringId.wendugaoyu:
+                        {
+                            keyValue = "outdoor_temp";
+                            comparator = ">";
+                        }
+                        break;
+                    case StringId.wendudiyu:
+                        {
+                            keyValue = "outdoor_temp";
+                            comparator = "<";
+                        }
+                        break;
+                    case StringId.shidugaoyu:
+                        {
+                            keyValue = "outdoor_humity";
+                            comparator = ">";
+                        }
+                        break;
+                    case StringId.shidudiyu:
+                        {
+                            keyValue = "outdoor_humity";
+                            comparator = "<";
+                        }
+                        break;
+                }
+
+                AddDic(keyValue, comparator, value);
+            });
+        }
+        /// <summary>
+        /// PM2.5璁剧疆鍊�
+        /// </summary>
+        /// <param name="frame">褰撳墠鐣岄潰</param>
+        /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�""</param>
+        public void PmAction(FrameLayout frame, string stateValue = "")
+        {
+            PublicInterface pmView = new PublicInterface();
+            var pmListStr = pmView.GetViewList("pm25");
+            pmView.SingleSelectionShow(frame, pmListStr, Language.StringByID(StringId.PM25), pmView.GetString("pm25", stateValue)
+               , (text) =>
+               {
+                   var value= pmView.GetValue("pm25", text);
+                   AddDic("pm2.5", "in", value);
+               });
+        }
+        /// <summary>
+        /// 灏佽鏁版嵁
+        /// </summary>
+        /// <param name="keyValue">绫诲瀷鍊�(pm2.5锛沷utdoor_temp锛沷utdoor_humity)</param>
+        /// <param name="comparator">姣旇緝鍏崇郴</param>
+        /// <param name="value">鍊�</param>
+        private void AddDic(string keyValue, string comparator, string value)
+        {
+            Input input = new Input();
+            input.sid = LogicMethod.CurrLogicMethod.NewSid();
+            input.condition_type = "4";
+            Dictionary<string, string> dic = new Dictionary<string, string>();
+            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);
+        }
+        /// <summary>
+        /// 娣诲姞鏉′欢
+        /// </summary>
+        /// <param name="input"></param>
+        /// <param name="keyValue"></param>
+        /// <param name="comparator">姣旇緝鍏崇郴</param>
+        private void AddCondition(Input input, string keyValue, string comparator)
+        {
+            ///璁板綍绱㈠紩鍊�
+            int index = -1;
+            for (var i = 0; i < Logic.currlogic.input.Count; i++)
+            {
+                var condition_type = Logic.currlogic.input[i].condition_type;
+                if (condition_type == "4")
+                {
+                    var dicList = Logic.currlogic.input[i].condition;
+                    if (ExistKey(dicList, keyValue, comparator))
+                    {
+                        ///鎵惧埌鏍囪绱㈠紩锛岄��鍑哄惊鐜綋
+                        index = i;
+                        break;
+                    }
+                }
+            }
+            if (index != -1)
+            {
+                //绉婚櫎鏃ф暟鎹�
+                Logic.currlogic.input.RemoveAt(index);
+                //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�
+                Logic.currlogic.input.Insert(index, input);
+            }
+            else
+            {
+                Logic.currlogic.input.Add(input);
+            }
+
+            LogicMethod.CurrLogicMethod.RemoveAllView();
+            AddLogic addLogic = new AddLogic();
+            MainPage.BasePageView.AddChidren(addLogic);
+            addLogic.Show();
+            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+        }
+        /// <summary>
+        /// 鍒ゆ柇鏄惁瀛樺湪Key
+        /// </summary>
+        /// <param name="dicList"></param>
+        /// <param name="keyValue"></param>
+        /// <param name="comparator">姣旇緝鍏崇郴</param>
+        /// <returns></returns>
+        private bool ExistKey(List<Dictionary<string, string>> dicList, string keyValue, string comparator)
+        {
+            for (int i = 0; i < dicList.Count; i++)
+            {
+                var dic = dicList[i];
+                string key = dic["key"];
+                string comparatorValue = dic["comparator"];
+                if (key == keyValue && comparatorValue == comparator)
+                {
+                    //鍒ゆ柇鏄惁瀛樺湪
+                    return true;
+                }
+            }
+            return false;
+        }
+
+     
     }
 }

--
Gitblit v1.8.0