From 505effa88b17ce8c3c7ac5403b76d9e5d0cfc2a5 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期一, 28 十月 2024 11:58:31 +0800 Subject: [PATCH] 谷歌版本问题修复 --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 372 ++++++++++++++++++++++------------------------------- 1 files changed, 155 insertions(+), 217 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 803d84e..d56eb68 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -48,7 +48,7 @@ { case "1": { - + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; foreach (var dic in dicList) { @@ -130,7 +130,7 @@ case "2": { inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; - string value= this.GetKeyValue("timesection", dicList); + string value = this.GetKeyValue("timesection", dicList); inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value; } break; @@ -161,10 +161,10 @@ case SPK.CurtainTrietex: //绌鸿皟 case SPK.AcStandard: - case SPK.HvacAC: + case SPK.HvacAC:case SPK.HvacAcPanel: case SPK.AcIr: //鍦扮儹 - case SPK.HvacFloorHeat: + case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel: case SPK.FloorHeatStandard: //鏂伴 case SPK.AirFreshStandard: @@ -181,7 +181,7 @@ } } break; - //浼犳劅鍣� + //绱ф�ユ眰鍔╀紶鎰熷櫒 case SPK.SensorHelp: { string value = this.GetKeyValue("alarm_status", dicList); @@ -218,9 +218,9 @@ case SPK.SensorDryContact2: { - string value = this.GetKeyValue("on_off", dicList); + string value = this.GetKeyValue("contact_status", dicList); inputView.btnState.Text = Language.StringByID(StringId.offLogic); - if (value == "on") + if (value == "open") { inputView.btnState.Text = Language.StringByID(StringId.onLogic); } @@ -416,52 +416,45 @@ } } break; - case SPK.VideoDoorLock: - { - string s = string.Empty; - string tag = string.Empty; - for (int b = 0; b < dicList.Count; b++) - { - var dic = dicList[b]; - //var userId = dic["value"].ToString(); - //var FaceItem = this.GetVideoDoorLockUserItem(userId, device); - //s += FaceItem.userName; - //s += ","; - //tag += FaceItem.userId; - //tag += "_"; - var userName = dic["value"].ToString(); - s += userName; - s += ","; - } - inputView.btnState.Text = s; - } - break; case SPK.doorgate: { - string s = string.Empty; - if (inputCondition.identifier == "door_call_cloud_event") - { - s = Language.StringByID(StringId.shipintonghuahujiao); - } - else - { - for (int b = 0; b < dicList.Count; b++) - { - var dic = dicList[b]; - var key = dic["key"].ToString(); - if (key != "user_id") - { - continue; - } - var userId = dic["value"].ToString(); - var FaceItem = this.GetFaceItem(userId, device.deviceId); - s += FaceItem.userName; - s += ","; + string s = string.Empty; + try + { + if (inputCondition.identifier == "door_call_cloud_event") + { + s = Language.StringByID(StringId.shipintonghuahujiao); + } + else + { + for (int b = 0; b < dicList.Count; b++) + { + var dic = dicList[b]; + var key = dic["key"].ToString(); + if (key != "user_id") + { + continue; + } + var value = dic["value"].ToString(); + if (!string.IsNullOrEmpty(value)) + { + var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(value); + for (int a = 0; a < list.Count; a++) + { + + var FaceItem = this.GetFaceItem(list[a], device.deviceId); + s += FaceItem.userName; + s += ","; + + } + } + + } } - } + catch { } inputView.btnState.Text = s; } break; @@ -472,12 +465,6 @@ inputView.btnState.Text = Language.StringByID(StringId.quyuruqingaojing); } - } - break; - case SPK.Ev_Ipcam: - if (inputCondition.identifier == "motiondetect_event") - { - inputView.btnState.Text = Language.StringByID(StringId.shi); } break; case SPK.Peephole: @@ -491,11 +478,11 @@ string value = this.GetKeyValue("people_status", dicList); if (string.IsNullOrEmpty(value)) { - inputView.btnState.Text = inputCondition.hold_time + "s"; + inputView.btnState.Text = LogicMethod.Current.getTimeStr(inputCondition.hold_time).Replace("0s", ""); break; } - + inputView.btnState.Text = Language.StringByID(StringId.wuren); if (value == "true") { @@ -504,8 +491,19 @@ } if (!string.IsNullOrEmpty(inputCondition.hold_time) && int.Parse(inputCondition.hold_time) > 0) { - - inputView.btnState.Text += "鎸佺画" + inputCondition.hold_time + "s"; + int time = int.Parse(inputCondition.hold_time); + inputView.btnState.Text += "鎸佺画" + LogicMethod.Current.getTimeStr(inputCondition.hold_time).Replace("0s", ""); + } + if (!string.IsNullOrEmpty(inputCondition.detect_type)) + { + if (inputCondition.detect_type == "1") + { + inputView.btnState.Text += "," + Language.StringByID(StringId.gaibiancaizhixing); + } + else + { + inputView.btnState.Text += "," + Language.StringByID(StringId.shoudaojiuzhixing); + } } @@ -841,7 +839,7 @@ else if (device.spk == SPK.SensorTemperature) { - this.SensorView(thisView, device, "temperature", indexVulae); + this.SensorView(thisView, device, "temperature", indexVulae); } else if (device.spk == SPK.SensorHumidity) @@ -1057,6 +1055,7 @@ } } break; + case SPK.OtherCommon: case SPK.AirSwitch: case SPK.LightSwitch: //鎻掑骇 @@ -1260,7 +1259,7 @@ } break; case SPK.AcStandard: - case SPK.HvacAC: + case SPK.HvacAC:case SPK.HvacAcPanel: case SPK.AcIr: { string on_off = GetKeyValue("on_off", dicList); @@ -1361,7 +1360,7 @@ } break; case SPK.FloorHeatStandard: - case SPK.HvacFloorHeat: + case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel: { string on_off = GetKeyValue("on_off", dicList); string set_temp = GetKeyValue("set_temp", dicList); @@ -1496,23 +1495,10 @@ case SPK.MusicStandard: case SPK.AvMusic: { + string on_off = GetKeyValue("on_off", dicList); string song_name = GetKeyValue("song_name", dicList); string volume = GetKeyValue("volume", dicList); - stateStr = song_name + ";" + Language.StringByID(StringId.volumeMusic) + volume; - if (stateStr.StartsWith(";")) - { - stateStr = stateStr.Substring(1, stateStr.Length - 1); - } else if (stateStr.EndsWith(Language.StringByID(StringId.volumeMusic))) - { - stateStr = stateStr.Substring(0, stateStr.Length - 3); - } - } - break; - case SPK.ElectricalTvHisense: - { - string on_off = GetKeyValue("on_off", dicList); - string volumet = GetKeyValue("set_volume", dicList); - string signal = GetKeyValue("signal", dicList); + if (!string.IsNullOrEmpty(on_off)) { if (on_off == "on") @@ -1522,31 +1508,19 @@ else { stateStr = Language.StringByID(StringId.offLogic); - //濡傛灉鍏充簡锛屽叾瀹冨睘鎬т笉鏄剧ず - break; } - - } - if (!string.IsNullOrEmpty(stateStr)) - { - stateStr += ","; - } - if (!string.IsNullOrEmpty(volumet)) - { - stateStr += Language.StringByID(StringId.yinliang) + volumet; } - if (!string.IsNullOrEmpty(stateStr)) + if (!string.IsNullOrEmpty(song_name)) { - stateStr += ","; + stateStr += "," + song_name; } - if (!string.IsNullOrEmpty(signal)) + + if (!string.IsNullOrEmpty(volume)) { - var p = new PublicInterface(); - string key = p.GetKey(p.GetHisenseSignalSourceDic(), signal); - stateStr += key; + stateStr += "," + volume; } - stateStr = stateStr.TrimEnd(','); + } break; } @@ -1717,6 +1691,7 @@ break; case SPK.ElectricSocket: //寮�鍏崇伅鍏� + case SPK.OtherCommon: case SPK.AirSwitch: case SPK.LightSwitch: //鏈烘鎵� @@ -1971,7 +1946,7 @@ } break; - case SPK.AcStandard: + case SPK.AcStandard:case SPK.HvacAcPanel: case SPK.HvacAC: case SPK.AcIr: { @@ -2084,7 +2059,7 @@ } break; - case SPK.FloorHeatStandard: + case SPK.FloorHeatStandard:case SPK.HvacFloorHeatPanel: case SPK.HvacFloorHeat: { @@ -2292,7 +2267,7 @@ foreach (var dic in dicList) { string value = dic["value"]; - if (value == "on") + if (value == "on" || value == "open") { button1.Text = Language.StringByID(StringId.onLogic); } @@ -2458,120 +2433,68 @@ } } break; - case SPK.VideoDoorLock: - { - string s = string.Empty; - string tag = string.Empty; - for (int b = 0; b < dicList.Count; b++) - { - var dic = dicList[b]; - //var userId = dic["value"].ToString(); - //var FaceItem = this.GetVideoDoorLockUserItem(userId, device); - //s += FaceItem.userName; - //s += ","; - //tag += FaceItem.userId; - //tag += "_"; - var userName = dic["value"].ToString(); - s += userName; - s += ","; - } - button1.Text = s; - button1.Tag = tag; - } - break; case SPK.MusicStandard: case SPK.AvMusic: { foreach (var dic in dicList) { - if (dic["key"] == "song_name") + if (dic["key"] == "on_off") { - button1.Text = dic["value"]?.ToString(); + if (dic["value"] == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } + } + else if (dic["key"] == "song_name") + { + button2.Text = dic["value"]?.ToString(); } else if (dic["key"] == "volume") { - button2.Text = dic["value"]?.ToString(); + button3.Text = dic["value"]?.ToString(); } } } break; case SPK.doorgate: { - string s = string.Empty; - string tag = string.Empty; - for (int b = 0; b < dicList.Count; b++) + try { - var dic = dicList[b]; - var key = dic["key"].ToString(); - if (key != "user_id") + string userNameStr = string.Empty; + string tag = string.Empty; + for (int b = 0; b < dicList.Count; b++) { - continue; + var dic = dicList[b]; + var key = dic["key"].ToString(); + if (key != "user_id") + { + continue; + } + var value = dic["value"].ToString(); + if (!string.IsNullOrEmpty(value)) + { + var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(value); + for (int i = 0; i < list.Count; i++) + { + + var FaceItem = this.GetFaceItem(list[i], device.deviceId); + userNameStr += FaceItem.userName; + userNameStr += ","; + tag += FaceItem.userId; + tag += "_"; + } + } } - var userId = dic["value"].ToString(); - var FaceItem = this.GetFaceItem(userId, device.deviceId); - s += FaceItem.userName; - s += ","; - tag += FaceItem.userId; - tag += "_"; + button2.Text = RemoveLastStr(userNameStr); + button2.Tag = tag; } - button2.Text = s; - button2.Tag = tag; + catch { } } break; - case SPK.ElectricalTvHisense: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - switch (dic["key"]) - { - case "on_off": - { - switch (value) - { - case "on": - { - button1.Text = Language.StringByID(StringId.onLogic); - } - break; - case "off": - { - button1.Text = Language.StringByID(StringId.offLogic); - } - break; - } - } - break; - - case "set_volume": - { - if (button2 == null) - { - //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 - break; - } - button2.Text = value; - } - break; - case "signal": - { - if (button3 == null) - { - //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 - break; - } - var p = new PublicInterface(); - string key = p.GetKey(p.GetHisenseSignalSourceDic(), value); - button3.Text = key; - } - break; - } - - } - } - break; - - } } /// <summary> @@ -2765,10 +2688,10 @@ } } break; - case SPK.AcStandard: + case SPK.AcStandard:case SPK.HvacAcPanel: case SPK.HvacAC: case SPK.AcIr: - case SPK.FloorHeatStandard: + case SPK.FloorHeatStandard:case SPK.HvacFloorHeatPanel: case SPK.HvacFloorHeat: { string value = this.GetValue(dicList); @@ -2887,33 +2810,35 @@ { //鍥犱负璋冭瘯杞欢涓婁紶涓虹┖杩�; string intTimeValue = string.IsNullOrEmpty(strTimeValue) ? "0" : strTimeValue; - var timeValue = int.Parse(intTimeValue); + int timeValue = 0; + int.TryParse(intTimeValue,out timeValue); string state = ""; var minutes = timeValue / 60; var seconds = timeValue % 60; - if (minutes != 0) - { - if (seconds == 0) - { - state = minutes.ToString() + Language.StringByID(StringId.minute); - } - else - { - state = minutes.ToString() + Language.StringByID(StringId.minute) + seconds.ToString() + Language.StringByID(StringId.s); - } - } - else - { - if (seconds != 0) - { - state = seconds.ToString() + Language.StringByID(StringId.s); - } - } - if (!string.IsNullOrEmpty(state)) - { - state = Language.StringByID(StringId.delayLogic) + state; - } - return state; + return LogicMethod.Current.getTimeStr(strTimeValue).Replace("0s",""); + //if (minutes != 0) + //{ + // if (seconds == 0) + // { + // state = minutes.ToString() + Language.StringByID(StringId.minute); + // } + // else + // { + // state = minutes.ToString() + Language.StringByID(StringId.minute) + seconds.ToString() + Language.StringByID(StringId.s); + // } + //} + //else + //{ + // if (seconds != 0) + // { + // state = seconds.ToString() + Language.StringByID(StringId.s); + // } + //} + //if (!string.IsNullOrEmpty(state)) + //{ + // state = Language.StringByID(StringId.delayLogic) + state; + //} + //return state; } /// <summary> /// 鑾峰彇鏄剧ず闈㈢啛鏂囨湰 @@ -3005,7 +2930,7 @@ Input inputedit = Logic.currlogic.input[indexVulae]; ///鐘舵�佸�� string stateValue = ""; - for (int i=0;i<inputedit.condition.Count;i++) + for (int i = 0; i < inputedit.condition.Count; i++) { var dic = inputedit.condition[i]; string comparator = dic["comparator"]; @@ -3096,7 +3021,6 @@ { if (Send.Current.VideoDoorLockUserListInfo.Count == 0) { - Send.Current.GetVideoDoorLockUserListInfo(device); } var face = Send.Current.VideoDoorLockUserListInfo.Find((o) => { return o.userId == userId; }); if (face == null) @@ -3106,6 +3030,20 @@ return face; } + /// <summary> + /// 鍒犻櫎鏈�鍚庝竴涓� "," + /// </summary> + /// <param name="s">瀛楃涓�</param> + /// <returns></returns> + public string RemoveLastStr(string s) + { + if (string.IsNullOrEmpty(s)) + { + return string.Empty; + } + return s.Replace("[","").Replace("]","").Replace("\"","").TrimEnd(','); + } + } } -- Gitblit v1.8.0