From efcffde735fa65ae34bae0bcc86313b74ed0e36c Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 20 五月 2024 13:47:38 +0800 Subject: [PATCH] 优化离线数据 --- HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 128 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 104 insertions(+), 24 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 78ef5ab..7d2996e 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -4,6 +4,7 @@ using HDL_ON.Entity; using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; + namespace HDL_ON.UI.UI2.Intelligence.Automation { public class ConditionDeviceFunList : FrameLayout @@ -40,8 +41,12 @@ /// 浜轰綋浼犳劅鍣ㄦ寔缁椂闂翠笓鐢� /// </summary> private string hold_time=string.Empty; + /// <summary> + /// 妫�娴嬬被鍨� 閰嶅悎condition_type=3鏃朵娇鐢�,娌℃湁璇ュ瓧娈点�佽鍊兼垨0: 鐘舵�佹娴�(姣忔鏀跺埌鐘舵�佸氨鎴愮珛),1:鍔ㄤ綔妫�娴�(闇�瑕佸垏鎹㈢姸鎬佹墠鎴愮珛) + /// </summary> + private string detect_type = "0"; - + private static ConditionDeviceFunList m_Current = null; @@ -59,6 +64,7 @@ public void Show(Entity.Function device, int index, bool edit) { + this.function = device; this.mEdit = edit; this.mIndex = index; @@ -196,7 +202,7 @@ //浜轰綋瀛樺湪浼犳劅鍣� case SPK.SensorPirHold: { - + LogicView.FunTypeView view1 = new LogicView.FunTypeView(); view1.btnText.TextID = StringId.rentijiance; @@ -224,6 +230,31 @@ }; + LogicView.FunTypeView view3 = new LogicView.FunTypeView(); + view3.frameLayout.Y = view2.frameLayout.Bottom; + view3.btnText.TextID = StringId.zhixingmoshi; + view3.btnState.TextID = StringId.shoudaojiuzhixing; + fLayout.AddChidren(view3.FLayoutView()); + view3.btnClick.MouseUpEventHandler += (sender, e) => + { + FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence }; + this.AddChidren(frame); + LogicView.SwitchView switchView = new LogicView.SwitchView(); + switchView.FLayoutView(frame, StringId.gaibiancaizhixing, StringId.shoudaojiuzhixing, view3.btnState.Text, 2, (intValue) => + { + if (StringId.gaibiancaizhixing == intValue) + { + this.detect_type = "1"; + } + else + { + this.detect_type = "0"; + } + view3.btnState.TextID = intValue; + selectedState = device.spk + "_" + this.detect_type; + }); + }; + if (edit) { @@ -236,9 +267,21 @@ int h = time / (60 * 60); int m = time % (60 * 60) / 60; int s = (time % (60 * 60) % 60); - view2.btnState.Text = inputs.hold_time + "s"; + view2.btnState.Text = LogicMethod.Current.getTimeStr(inputs.hold_time); view2.btnState.Name = h + ":" + m + ":" + s; this.hold_time = inputs.hold_time; + } + if (!string.IsNullOrEmpty(inputs.detect_type)) + { + this.detect_type = inputs.detect_type; + if (inputs.detect_type == "1") + { + view3.btnState.TextID = StringId.gaibiancaizhixing; + } + else + { + view3.btnState.TextID = StringId.shoudaojiuzhixing; + } } } catch { } @@ -255,6 +298,22 @@ view.btnClick.MouseUpEventHandler += (sender, e) => { DeviceView(device, view.btnState, StringId.kaiqi, StringId.bihe); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //绱ф�ュ懠鍙紶鎰熷櫒 + case SPK.SensorHelp: + { + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.qiujiu; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.qiujiu, StringId.zhengchang,1); }; if (edit) { @@ -716,6 +775,7 @@ } } break; + //鐚溂 case SPK.Peephole: LogicView.FunTypeView viewPeephole = new LogicView.FunTypeView(); viewPeephole.btnText.TextID = StringId.ActivityDetection; @@ -732,6 +792,7 @@ this.GetEditState(device, index, viewPeephole.btnState, null, null, null); } break; + //钀ょ煶鎽勫儚澶� case SPK.Ev_Ipcam: LogicView.FunTypeView viewEzIpcam = new LogicView.FunTypeView(); viewEzIpcam.btnText.TextID = StringId.ActivityDetection; @@ -739,7 +800,7 @@ fLayout.AddChidren(viewEzIpcam.FLayoutView()); viewEzIpcam.btnClick.MouseUpEventHandler += (sender, e) => { - this.identifier = "motiondetect_event";//浜轰綋鎰熷簲鍛婅 + this.identifier = Constant.intelligentDetection_event;//浜轰綋鎰熷簲鍛婅 this.DeviceView(device, viewEzIpcam.btnState, StringId.shi, StringId.offLogic, 1); }; @@ -818,12 +879,13 @@ ////钀ょ煶瑙嗛闂ㄩ攣 inputDevice.condition_type = "9"; inputDevice.identifier = this.identifier; - inputDevice.condition = new List<Dictionary<string, string>>(); + //inputDevice.condition = new List<Dictionary<string, string>>(); } else if (device.spk == SPK.SensorPirHold) { //浜轰綋瀛樺湪浼犳劅鍣� inputDevice.hold_time = this.hold_time; + inputDevice.detect_type = this.detect_type; } @@ -876,7 +938,7 @@ /// <param name="button">閫変腑鐘舵�佹樉绀烘枃鏈珺tn鎺т欢</param> /// <param name="btnText1">灞炴�х姸鎬佸�兼枃鏈�1</param> /// <param name="btnText2">灞炴�х姸鎬佸�兼枃鏈�2</param> - /// <param name="viewCount">view鏁伴噺</param> + /// <param name="viewCount">view鏁伴噺,榛樿2涓獀iew</param> private void DeviceView(Entity.Function device, Button button, int btnText1, int btnText2,int viewCount=2) { FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence }; @@ -893,6 +955,7 @@ case SPK.SensorGas: case SPK.SensorWater: case SPK.SensorSmoke: + case SPK.SensorHelp: { keyVlaue = "status"; if (!Is_SpkAttribute(keyVlaue)) { @@ -963,12 +1026,14 @@ { case StringId.xieluo: case StringId.luoshui: + case StringId.qiujiu: { value = "alarm"; } break; case StringId.wuxieluo: case StringId.wuluoshui: + case StringId.zhengchang: { value = "normal"; } @@ -976,11 +1041,19 @@ case StringId.onLogic: { value = "on"; + if (device.spk== SPK.SensorDryContact) { + value = "open"; + } + } break; case StringId.offLogic: { value = "off"; + if (device.spk == SPK.SensorDryContact) + { + value = "close"; + } } break; case StringId.youren: @@ -1091,10 +1164,12 @@ } } int max = 100; + int min = 1; if (device.spk == SPK.SensorLight) { //鐓ф槑浼犳劅鍣� - max =int.MaxValue; + min = 0; + max =1200; } new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) => @@ -1141,12 +1216,12 @@ key = "illuminance"; comparator = "<"; } - break; + break ; } selectedState = device.spk + "_" + value; AddDictionary(key, value, data_type, comparator); SaveInput(device,index, edit); - },1,max); + },min,max); } /// PM2.5,Co2,Tvoc璁剧疆鍊� /// </summary> @@ -1236,27 +1311,30 @@ if (indexeList.Count > 0) { dicSateteList.Clear(); - string s = string.Empty; + string userNameStr = string.Empty; + string seleUsrIdStr = string.Empty; string tag = string.Empty; - //鏁版嵁灏佽 + string[] arrayUserIds = new string[indexeList.Count]; + //寮�闂ㄧ被鍨� AddDictionary("open_type", "1", "integer"); for (int i = 0; i < indexeList.Count; i++) { - if (i > faceIdList.Count) { continue; } var indexe = indexeList[i]; var face = faceIdList[indexe]; - AddDictionary("user_id", face.userId, "string"); - s += face.userName; - s += ","; tag += face.userId; tag += "_"; + userNameStr += face.userName; + userNameStr += ","; + arrayUserIds[i] = face.userId; } + seleUsrIdStr = Newtonsoft.Json.JsonConvert.SerializeObject(arrayUserIds); + AddDictionary("user_id", seleUsrIdStr, "string", "[]"); //鐣岄潰鏄剧ず閫変腑鍊� - btnState.Text = s; + btnState.Text = InpOrOutLogicMethod.Current.RemoveLastStr(userNameStr); btnState.Tag = tag; } @@ -1304,8 +1382,10 @@ if (indexeList.Count > 0) { dicSateteList.Clear(); - string s = string.Empty; + string seleTxet = string.Empty; string tag = string.Empty; + string[] array = new string[indexeList.Count]; + for (int i = 0; i < indexeList.Count; i++) { if (i > faceIdList.Count) @@ -1314,15 +1394,15 @@ } var indexe = indexeList[i]; var face = faceIdList[indexe]; - //鏁版嵁灏佽<楂樿儨璇磋悿鐭抽偅杈规槸鎺ㄩ�佺敤鎴峰悕> - AddDictionary("open_user", face.userName, "string"); - s += face.userName; - s += ","; tag += face.userId; tag += "_"; + array[i] = face.userName; } + seleTxet = Newtonsoft.Json.JsonConvert.SerializeObject(array); + //鏁版嵁灏佽<楂樿儨璇磋悿鐭抽偅杈规槸鎺ㄩ�佺敤鎴峰悕> + AddDictionary("open_user",seleTxet, "string", "[]"); //鐣岄潰鏄剧ず閫変腑鍊� - btnState.Text = s; + btnState.Text = InpOrOutLogicMethod.Current.RemoveLastStr(seleTxet); btnState.Tag = tag; } @@ -1368,7 +1448,7 @@ this.hold_time = (h + m + s).ToString(); if (button != null) { - button.Text = this.hold_time + "s"; + button.Text = LogicMethod.Current.getTimeStr(this.hold_time); button.Name = timeValue; } selectedState = device.spk + "_" + timeValue; @@ -1419,7 +1499,7 @@ } break; case SPK.Ev_Ipcam: - if (inputs.identifier == "motiondetect_event") + if (inputs.identifier == Constant.intelligentDetection_event) { button1.Text = Language.StringByID(StringId.shi); } -- Gitblit v1.8.0