From 7a7f2b317f8ba60cabc3a65f2ad2115c01a2436a Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 23 十二月 2020 14:16:35 +0800 Subject: [PATCH] 2020-12-23-2 --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 160 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index b520c56..f1c4814 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -844,5 +844,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