From 388ece21a0c608c2571775137a89ad32ca0cedd8 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 11 一月 2021 14:35:23 +0800
Subject: [PATCH] 2021-1-11-2

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs |  276 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 265 insertions(+), 11 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
old mode 100755
new mode 100644
index b520c56..5aa2003
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -38,9 +38,75 @@
                             inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png";
                             foreach (var dic in dicList)
                             {
+                                string keyValue = dic["key"];
                                 string value = dic["value"];
-                                inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value;
-                                inputView.btnClick.AddTag("timepoint", value);
+                                if (keyValue == "timepoint")
+                                {
+                                    inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value;
+                                }
+                                else
+                                {
+                                    string strtext = "";
+                                    string statetext = "";
+                                    switch (keyValue)
+                                    {
+                                        case "before_sunrise":
+                                            {
+                                                strtext = Language.StringByID(StringId.sunrise);
+                                                statetext = Language.StringByID(StringId.advanced);
+                                              
+                                            }
+                                            break;
+                                        case "before_sunset":
+                                            {
+
+                                                strtext = Language.StringByID(StringId.sunset);
+                                                statetext = Language.StringByID(StringId.advanced);
+                                              
+                                            } break;
+                                        case "before_noon":
+                                            {
+                                                strtext = Language.StringByID(StringId.at);
+                                                statetext = Language.StringByID(StringId.advanced);
+                                            }
+                                            break;
+                                        case "after_sunrise":
+                                            {
+                                                strtext = Language.StringByID(StringId.sunrise);
+                                                statetext = Language.StringByID(StringId.delayLogic);
+                                            } break;
+                                        case "after_sunset":
+                                            {
+                                                strtext = Language.StringByID(StringId.sunset);
+                                                statetext = Language.StringByID(StringId.delayLogic);
+                                            } break;
+                                        case "after_noon":
+                                            {
+                                                strtext = Language.StringByID(StringId.at);
+                                                statetext = Language.StringByID(StringId.delayLogic);
+                                            }
+                                            break;
+                                    }
+
+                                    if (value != "0")
+                                    {
+                                        if (value == "30")
+                                        {
+                                            statetext += value + Language.StringByID(StringId.s);
+                                        }
+                                        else
+                                        {
+                                            statetext += value + Language.StringByID(StringId.minute);
+                                        }
+                                    }
+                                    else
+                                    {
+                                        statetext = "";
+                                    }
+
+                                    inputView.btnText.Text = strtext;
+                                    inputView.btnState.Text = statetext;
+                                }
                             }
                         }
                         break;
@@ -51,7 +117,6 @@
                             {
                                 string value = dic["value"];
                                 inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value;
-                                inputView.btnClick.AddTag("timeHorizon", value);
                             }
 
                         }
@@ -129,13 +194,44 @@
                     {
                         case "1":
                             {
-                                FrameLayout fLayout = new FrameLayout
+                                bool is_bool = false;
+                                Input _input = Logic.currlogic.input[indexVulae];
+                                if (_input.condition_type == "1")
                                 {
-                                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                                };
-                                thisView.AddChidren(fLayout);
-                                TimeTpye timeTpye = new TimeTpye();
-                                timeTpye.TimePoint(fLayout, edit, indexVulae);
+                                    var dicLists = _input.condition as List<Dictionary<string, string>>;
+                                    foreach (var dic in dicLists)
+                                    {
+                                        string keyValue = dic["key"];
+                                        if (keyValue != "timepoint")
+                                        {
+                                            //閫氳繃閿�兼煡鎵鹃敭鍊兼槸鍚︽槸
+                                            //锛堟棩鍑�/鏃ヨ惤/姝e崍锛�
+                                            is_bool = true;
+                                            break;
+                                        }
+
+                                    }
+
+                                }
+                                if (is_bool)
+                                {
+                                    //璺宠浆鍒帮紙鏃ュ嚭/鏃ヨ惤/姝e崍锛夌晫闈�
+                                    SpeciaTime speciaTime = new SpeciaTime();
+                                    MainPage.BasePageView.AddChidren(speciaTime);
+                                    speciaTime.Show(edit, indexVulae);
+                                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                                }
+                                else
+                                {
+                                    //璺宠浆鍒帮紙鏃堕棿鐐癸級鐣岄潰
+                                    FrameLayout fLayout = new FrameLayout
+                                    {
+                                        BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                                    };
+                                    thisView.AddChidren(fLayout);
+                                    TimeTpye timeTpye = new TimeTpye();
+                                    timeTpye.TimePoint(fLayout, edit, indexVulae);
+                                }
                             }
                             break;
                         case "2":
@@ -159,8 +255,6 @@
                                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                             }
                             break;
-
-
                     }
                 };
                 ///鍒犻櫎鎺т欢
@@ -844,5 +938,165 @@
             }
             return valueStr;
         }
+
+        /// <summary>
+        ///鑾峰彇鑷姩鍖栧悕绉�
+        /// </summary>
+        /// <returns> 鏂板缓鑷姩鍖栧懡鍚嶈鍒�</returns>
+        public static string GetLogicName(Logic logic)
+        {
+
+            string name = "";
+            try
+            {
+                //榛樿鍙栫涓�涓潯浠�
+                Input inputCondition = logic.input[0];
+                //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵��
+                switch (inputCondition.condition_type)
+                {
+                    case "1":
+                        {
+                            name = Language.StringByID(StringId.hour) + "-";
+                        }
+                        break;
+                    case "2":
+                        {
+                            name = Language.StringByID(StringId.timeHorizon) + "-";
+
+                        }
+                        break;
+                    case "3":
+                        {
+                            //鐢╯id鎵惧埌璁惧锛�
+                            var device = LogicMethod.GetDevice(inputCondition.sid);
+                            name = device.name + "-";
+                        }
+                        break;
+
+                }
+                //榛樿鍙栫涓�涓洰鏍�
+                Output outputTarget = logic.output[0];
+                List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>;
+                //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵��
+                switch (outputTarget.target_type)
+                {
+                    case "1":
+                        {
+                            //鐢╯id鎵惧埌璁惧锛�
+                            var device = LogicMethod.GetDevice(outputTarget.sid);
+                            //鏄剧ず璁惧鍚嶇О
+                            name += device.name;
+                            string stateStr = "";
+                            //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
+                            switch (device.functionType)
+                            {
+                                case FunctionType.Relay:
+                                    {//寮�鍏崇伅
+
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            if (value == "on")
+                                            {
+                                                stateStr = Language.StringByID(StringId.onLogic);
+
+                                            }
+                                            else
+                                            {
+                                                stateStr = Language.StringByID(StringId.offLogic);
+                                            }
+                                        }
+                                    }
+                                    break;
+                                case FunctionType.RGB:
+                                case FunctionType.RGBW:
+                                case FunctionType.ColorTemperature:
+                                case FunctionType.Dimmer:
+                                    {
+                                        string on_off = InpOrOutLogicMethod.GetKeyValue("on_off", dicList);
+                                        string brightness = InpOrOutLogicMethod.GetKeyValue("brightness", dicList);
+                                        if (on_off == "on" && brightness != "")
+                                        {
+                                            stateStr = Language.StringByID(StringId.onLogic) + brightness + "%";
+                                        }
+                                        else if (on_off == "on")
+                                        {
+                                            stateStr = Language.StringByID(StringId.onLogic);
+                                        }
+                                        else if (on_off == "off")
+                                        {
+                                            stateStr = Language.StringByID(StringId.offLogic);
+                                        }
+                                        else if (brightness != "")
+                                        {
+                                            stateStr = brightness + "%";
+                                        }
+                                    }
+                                    break;
+                                case FunctionType.Curtain:
+                                case FunctionType.MotorCurtain:
+                                case FunctionType.RollingShutter:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            switch (value)
+                                            {
+                                                case "on":
+                                                    {
+                                                        stateStr = Language.StringByID(StringId.onLogic);
+                                                    }
+                                                    break;
+                                                case "off":
+                                                    {
+                                                        stateStr = Language.StringByID(StringId.offLogic);
+                                                    }
+                                                    break;
+                                                case "stop":
+                                                    {
+                                                        stateStr = Language.StringByID(StringId.stop);
+                                                    }
+                                                    break;
+                                            }
+                                        }
+                                    }
+                                    break;
+                                case FunctionType.AC:
+                                case FunctionType.FloorHeating:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            if (value == "on")
+                                            {
+                                                stateStr = Language.StringByID(StringId.onLogic);
+
+                                            }
+                                            else if (value == "off")
+                                            {
+                                                stateStr = Language.StringByID(StringId.offLogic);
+                                            }
+                                        }
+
+                                    }
+                                    break;
+
+                            }
+                            name += stateStr;
+                        }
+                        break;
+                    case "2":
+                        {
+                            //鐢╯id鎵惧埌鍦烘櫙锛�
+                            var scene = LogicMethod.GetSecne(outputTarget.sid);
+                            name += scene.name;
+
+                        }
+                        break;
+                }
+            }
+            catch { }
+            return name;
+        }
     }
 }

--
Gitblit v1.8.0