From 592974441a4df95fffd9167c90192da1a390b1c2 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 06 六月 2023 11:51:12 +0800 Subject: [PATCH] Merge branch 'Dev-Branch' --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 669 +++++++++++++++++++++++++++++++++---------------------- 1 files changed, 397 insertions(+), 272 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index d9f0de4..014f3bb 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -48,6 +48,7 @@ { case "1": { + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; foreach (var dic in dicList) { @@ -129,12 +130,8 @@ case "2": { inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; - foreach (var dic in dicList) - { - string value = dic["value"]; - inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value; - } - + string value= this.GetKeyValue("timesection", dicList); + inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value; } break; case "3": @@ -143,7 +140,7 @@ //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(inputCondition.sid); //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� - inputView.btnIcon.UnSelectedImagePath = LogicMethod.Current.GetIconPath(device.spk); + inputView.btnIcon.UnSelectedImagePath = LogicMethod.Current.GetDeviceIconPath(device); //鏄剧ず璁惧鍚嶇О inputView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 @@ -165,6 +162,7 @@ //绌鸿皟 case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: //鍦扮儹 case SPK.HvacFloorHeat: case SPK.FloorHeatStandard: @@ -175,91 +173,56 @@ case SPK.PanelSocket: case SPK.ElectricSocket: {//寮�鍏崇伅 - foreach (var dic in dicList) + string value = this.GetKeyValue("on_off", dicList); + inputView.btnState.Text = Language.StringByID(StringId.offLogic); + if (value == "on") { - - string value = dic["value"]; - if (value == "on") - { - inputView.btnState.Text = Language.StringByID(StringId.onLogic); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.offLogic); - } + inputView.btnState.Text = Language.StringByID(StringId.onLogic); } } break; //浼犳劅鍣� case SPK.SensorHelp: { - foreach (var dic in dicList) + string value = this.GetKeyValue("alarm_status", dicList); + inputView.btnState.Text = Language.StringByID(StringId.zhengchang); + if (value == "alarm") { - string value = dic["value"]; - if (value == "alarm") - { - inputView.btnState.Text = Language.StringByID(StringId.qiujiu); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.zhengchang); - } + inputView.btnState.Text = Language.StringByID(StringId.qiujiu); } } break; case SPK.SensorSmoke: case SPK.SensorGas: { - foreach (var dic in dicList) + string value = this.GetKeyValue("alarm_status", dicList); + inputView.btnState.Text = Language.StringByID(StringId.wuxieluo); + if (value == "alarm") { - string value = dic["value"]; - if (value == "alarm") - { - inputView.btnState.Text = Language.StringByID(StringId.xieluo); + inputView.btnState.Text = Language.StringByID(StringId.xieluo); - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.wuxieluo); - } } } break; case SPK.SensorWater: { - foreach (var dic in dicList) + string value = this.GetKeyValue("alarm_status", dicList); + inputView.btnState.Text = Language.StringByID(StringId.wuluoshui); + if (value == "alarm") { - string value = dic["value"]; - if (value == "alarm") - { - inputView.btnState.Text = Language.StringByID(StringId.luoshui); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.wuluoshui); - } + inputView.btnState.Text = Language.StringByID(StringId.luoshui); } } break; case SPK.SensorDryContact: case SPK.SensorDryContact2: { - foreach (var dic in dicList) + + string value = this.GetKeyValue("on_off", dicList); + inputView.btnState.Text = Language.StringByID(StringId.offLogic); + if (value == "on") { - - string value = dic["value"]; - if (value == "on") - { - inputView.btnState.Text = Language.StringByID(StringId.onLogic); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.offLogic); - } + inputView.btnState.Text = Language.StringByID(StringId.onLogic); } } break; @@ -267,132 +230,91 @@ case SPK.SensorDuiShe: case SPK.SensorPir: { - foreach (var dic in dicList) + string value = this.GetKeyValue("people_status", dicList); + inputView.btnState.Text = Language.StringByID(StringId.wuren); + if (value == "true") { + inputView.btnState.Text = Language.StringByID(StringId.youren); - string value = dic["value"]; - if (value == "true") - { - inputView.btnState.Text = Language.StringByID(StringId.youren); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.wuren); - } } } break; case SPK.SensorDoorWindow: { - foreach (var dic in dicList) + string value = this.GetKeyValue("contact_status", dicList); + inputView.btnState.Text = Language.StringByID(StringId.bihe); + if (value == "open") { - - string value = dic["value"]; - if (value == "open") - { - inputView.btnState.Text = Language.StringByID(StringId.kaiqi); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.bihe); - } + inputView.btnState.Text = Language.StringByID(StringId.kaiqi); } + } break; case SPK.SensorUtrasonic: { + string key = this.GetKey(dicList); + string value = this.GetValue(dicList); string str = ""; - foreach (var dic in dicList) + switch (key) { - string value = dic["value"]; - switch (dic["key"]) - { - case "status": - case "people_status": + case "status": + case "people_status": + { + str = Language.StringByID(StringId.wuren); + if (value == "true") { - if (value == "true") - { - str = Language.StringByID(StringId.youren); - } - else - { - str = Language.StringByID(StringId.wuren); - } - - + str = Language.StringByID(StringId.youren); } - break; - case "dismantle": + } + break; + case "dismantle": + { + str = Language.StringByID(StringId.buzaixian); + if (value == "true") { - if (value == "true") - { - str = Language.StringByID(StringId.zaixian); - } - else - { - str = Language.StringByID(StringId.buzaixian); - } + str = Language.StringByID(StringId.zaixian); } - break; - - } + } + break; } inputView.btnState.Text = str; } break; case SPK.SenesorMegahealth: + case SPK.SensorMmvPose: { - foreach (var dic in dicList) + string key = this.GetKey(dicList); + string value = this.GetValue(dicList); + if (key == "people_status") { - string value = dic["value"]; - switch (dic["key"]) + inputView.btnState.Text = Language.StringByID(StringId.wuren); + if (value == "true") { - case "people_status": - { - if (value == "true") - { - inputView.btnState.Text = Language.StringByID(StringId.youren); - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.wuren); - } - - } - break; - case "target_status": - { - if (value == "4") - { - inputView.btnState.Text = Language.StringByID(StringId.shi); - } - } - break; + inputView.btnState.Text = Language.StringByID(StringId.youren); } - + } + else if (key == "target_status") + { + if (value == "4") + { + inputView.btnState.Text = Language.StringByID(StringId.shi); + } } } break; case SPK.SenesorMegahealth2: { - foreach (var dic in dicList) + string value = this.GetValue(dicList); + inputView.btnState.Text = Language.StringByID(StringId.wuren); + if (value == "fall") { - string value = dic["value"]; - if (value == "fall") - { - inputView.btnState.Text = Language.StringByID(StringId.diedao); - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.wuren); - } + inputView.btnState.Text = Language.StringByID(StringId.diedao); } } break; case SPK.SensorEnvironment: + case SPK.SensorEnvironmentHailin: case SPK.SensorEnvironment2: case SPK.SensorEnvironment3: { @@ -456,7 +378,7 @@ case SPK.SensorTemperature: { - string str = new InpOrOutLogicMethod { }.GetText(dicList, "temperature"); + string str = this.GetText(dicList, "temperature"); inputView.btnState.Text = str; } break; @@ -467,56 +389,107 @@ } break; + case SPK.SensorPm10: case SPK.SensorCO2: case SPK.SensorPm25: case SPK.SensorTVOC: case SPK.SensorHcho: { - string strvalue = ""; - foreach (var dic in dicList) - { - strvalue = dic["value"]; - break; - } - string str = new PublicInterface().GetSensorLevelText(device, strvalue, true); + string value = this.GetValue(dicList); + string str = new PublicInterface().GetSensorLevelText(device, value, true); inputView.btnState.Text = str; } break; case SPK.DoorLock: { - foreach (var dic in dicList) + string value = this.GetValue(dicList); + if (value == "open") { - string value = dic["value"]; - if (value == "open") - { - inputView.btnState.Text = Language.StringByID(StringId.kaiqi); - } - + inputView.btnState.Text = Language.StringByID(StringId.kaiqi); } + } + 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") { - inputView.btnState.Text = Language.StringByID(StringId.shipintonghuahujiao); + s = Language.StringByID(StringId.shipintonghuahujiao); } else { - - foreach (var dic in dicList) + for (int b = 0; b < dicList.Count; b++) { - string key = dic["key"]; - if (key == "user_id") + var dic = dicList[b]; + var key = dic["key"].ToString(); + if (key != "user_id") { - string userId = dic["value"]; - var FaceItem = this.FaceItem(userId, device.deviceId); - inputView.btnState.Text = FaceItem.userName; - // Language.StringByID(StringId.kaiqi); + continue; } + var userId = dic["value"].ToString(); + var FaceItem = this.GetFaceItem(userId, device.deviceId); + s += FaceItem.userName; + s += ","; + } + } + inputView.btnState.Text = s; + } + break; + case SPK.IpCam_Imou: + { + if (inputCondition.identifier == "door_caipcam_region_alram_eventll_cloud_event") + { + inputView.btnState.Text = Language.StringByID(StringId.quyuruqingaojing); + } + + } + break; + case SPK.SensorPirHold: + { + string value = this.GetKeyValue("people_status", dicList); + if (string.IsNullOrEmpty(value)) + { + inputView.btnState.Text = inputCondition.hold_time + "s"; + break; + + } + + inputView.btnState.Text = Language.StringByID(StringId.wuren); + if (value == "true") + { + inputView.btnState.Text = Language.StringByID(StringId.youren); + + } + if (!string.IsNullOrEmpty(inputCondition.hold_time) && int.Parse(inputCondition.hold_time) > 0) + { + + inputView.btnState.Text += "鎸佺画" + inputCondition.hold_time + "s"; + } + + } break; } @@ -639,26 +612,18 @@ case "8": { inputView.btnIcon.UnSelectedImagePath = "LogicIcon/location.png"; - foreach (var dic in dicList) + string value = this.GetValue(dicList); + if (value == "arrive") { - string strtext = ""; - string value = dic["value"]; - switch (value) - { - case "arrive": - { - strtext = Language.StringByID(StringId.daoda); - } - break; - case "leave": - { - strtext = Language.StringByID(StringId.likai); - } - break; - } - inputView.btnText.TextID = StringId.likiadaoda; - inputView.btnState.Text = strtext; + value = Language.StringByID(StringId.daoda); } + else if (value == "leave") + { + value = Language.StringByID(StringId.likai); + } + + inputView.btnText.TextID = StringId.likiadaoda; + inputView.btnState.Text = value; } break; case "10": @@ -770,13 +735,11 @@ { //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(inputCondition.sid); - if (device.spk == SPK.SensorEnvironment + if (device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironmentHailin || device.spk == SPK.SensorEnvironment2 || device.spk == SPK.SensorEnvironment3 ) { - //杩欎釜璁惧姣旇緝鐗规畩 - ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); ///褰撳墠鐨勭储寮曞�兼暟鎹璞� Input inputedit = Logic.currlogic.input[indexVulae]; ///鐘舵�佸�� @@ -800,7 +763,7 @@ { titleInt = StringId.wendudiyu; } - conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.InputBoxAction(device, titleInt, indexVulae, true, stateValue); } break; case "humidity": @@ -814,27 +777,27 @@ { titleInt = StringId.shidudiyu; } - conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.InputBoxAction(device, titleInt, indexVulae, true, stateValue); } break; case "co2": { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "co2", StringId.co2, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "co2", StringId.co2, indexVulae, true, stateValue); } break; case "pm25": { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "pm25", StringId.pm25, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "pm25", StringId.pm25, indexVulae, true, stateValue); } break; case "tvoc": { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "tvoc", StringId.tvoc, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "tvoc", StringId.tvoc, indexVulae, true, stateValue); } break; case "hcho": { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "hcho", StringId.Formaldehyde, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "hcho", StringId.Formaldehyde, indexVulae, true, stateValue); } break; } @@ -844,37 +807,43 @@ else if (device.spk == SPK.SensorTemperature) { - new InpOrOutLogicMethod().SensorView(thisView, device, "temperature", indexVulae); + this.SensorView(thisView, device, "temperature", indexVulae); } else if (device.spk == SPK.SensorHumidity) { - new InpOrOutLogicMethod().SensorView(thisView, device, "humidity", indexVulae); + this.SensorView(thisView, device, "humidity", indexVulae); } else if (device.spk == SPK.SensorCO2) { - new InpOrOutLogicMethod().SensorView(thisView, device, "co2", indexVulae); + this.SensorView(thisView, device, "co2", indexVulae); + + } + else if (device.spk == SPK.SensorPm10) + { + + this.SensorView(thisView, device, "pm10", indexVulae); } else if (device.spk == SPK.SensorPm25) { - new InpOrOutLogicMethod().SensorView(thisView, device, "pm25", indexVulae); + this.SensorView(thisView, device, "pm25", indexVulae); } else if (device.spk == SPK.SensorTVOC) { - new InpOrOutLogicMethod().SensorView(thisView, device, "tvoc", indexVulae); + this.SensorView(thisView, device, "tvoc", indexVulae); } else if (device.spk == SPK.SensorHcho) { - new InpOrOutLogicMethod().SensorView(thisView, device, "hcho", indexVulae); + this.SensorView(thisView, device, "hcho", indexVulae); } else @@ -1024,7 +993,7 @@ //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(outputTarget.sid); //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� - targetView.btnIcon.UnSelectedImagePath = LogicMethod.Current.GetIconPath(device.spk); + targetView.btnIcon.UnSelectedImagePath = LogicMethod.Current.GetDeviceIconPath(device); //鏄剧ず璁惧鍚嶇О targetView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 @@ -1033,11 +1002,27 @@ //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.spk) { + + //鎻掑骇(鏈塙SB) + case SPK.PanelSocket: + { + string on_off = GetKeyValue("on_off_master", dicList); + if (on_off == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + } + else + { + stateStr = stateStr = Language.StringByID(StringId.offLogic); + } + } + break; case SPK.AirSwitch: case SPK.LightSwitch: //鎻掑骇 - case SPK.PanelSocket: case SPK.ElectricSocket: + //鏈烘鎵� + case SPK.MechanicalArm: {//寮�鍏� foreach (var dic in dicList) @@ -1077,6 +1062,14 @@ else if (brightness != "") { stateStr = brightness + "%"; + } + if (device.spk == SPK.LightCCT) + { + //鑹叉俯杩欎釜灞炴�ф墠鏈夋晥 + if (stateStr != Language.StringByID(StringId.offLogic) && GetKeyValue("cct", dicList) != "") + { + stateStr += "," +GetKeyValue("cct", dicList) + "k"; + } } } @@ -1151,6 +1144,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: { string on_off = GetKeyValue("on_off", dicList); string set_temp = GetKeyValue("set_temp", dicList); @@ -1385,12 +1379,15 @@ case SPK.MusicStandard: case SPK.AvMusic: { - foreach (var dic in dicList) + string song_name = GetKeyValue("song_name", dicList); + string volume = GetKeyValue("volume", dicList); + stateStr = song_name + ";" +Language.StringByID(StringId.volumeMusic)+volume; + if (stateStr.StartsWith(";")) { - if (dic["key"] == "song_name") - { - stateStr = dic["value"]?.ToString(); - } + stateStr = stateStr.Substring(1, stateStr.Length - 1); + }else if (stateStr.EndsWith(Language.StringByID(StringId.volumeMusic))) + { + stateStr = stateStr.Substring(0, stateStr.Length - 3); } } break; @@ -1442,11 +1439,11 @@ if (outputTarget.target_type == "1" || outputTarget.target_type == "3") { - targetView.btnState.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + targetView.btnState.Text = this.GetTimeText(outputTarget.delay) + stateStr; } else { - targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + targetView.btnText.Text = this.GetTimeText(outputTarget.delay) + stateStr; } //鍐嶆缂栬緫鏉′欢鐘舵�佺偣鍑讳簨浠� targetView.btnClick.MouseUpEventHandler += (sen, e) => @@ -1503,20 +1500,18 @@ //寤舵椂鐐瑰嚮浜嬩欢 targetView.btnDelay.MouseUpEventHandler += (sen, e) => { - - InpOrOutLogicMethod inpOrOutLogicMethod = new InpOrOutLogicMethod(); - inpOrOutLogicMethod.Delayed(thisView, outputTarget.delay, (value) => - { - outputTarget.delay = value.ToString(); - if (outputTarget.target_type == "1") - { - targetView.btnState.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; - } - else - { - targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; - } - }); + this.Delayed(thisView, outputTarget.delay, (value) => + { + outputTarget.delay = value.ToString(); + if (outputTarget.target_type == "1") + { + targetView.btnState.Text = this.GetTimeText(outputTarget.delay) + stateStr; + } + else + { + targetView.btnText.Text = this.GetTimeText(outputTarget.delay) + stateStr; + } + }); }; ///鍒犻櫎鎺т欢 @@ -1539,12 +1534,29 @@ { switch (device.spk) { - //鎻掑骇 + //鎻掑骇(鏈塙SB) case SPK.PanelSocket: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } + } + } + break; case SPK.ElectricSocket: //寮�鍏崇伅鍏� case SPK.AirSwitch: case SPK.LightSwitch: + //鏈烘鎵� + case SPK.MechanicalArm: { foreach (var dic in dicList) { @@ -1590,6 +1602,16 @@ break; } button2.Text = value + "%"; + } + break; + case "cct": + { + if (button3 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button3.Text = value + "k"; } break; } @@ -1704,6 +1726,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: { foreach (var dic in dicList) { @@ -1982,6 +2005,7 @@ } } break; + case SPK.SensorGas: case SPK.SensorSmoke: { @@ -2050,6 +2074,23 @@ } } break; + case SPK.SensorPirHold: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "true") + { + button1.Text = Language.StringByID(StringId.youren); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + } + + } + break; case SPK.SensorDoorWindow: { foreach (var dic in dicList) @@ -2107,6 +2148,7 @@ } break; case SPK.SenesorMegahealth: + case SPK.SensorMmvPose: { foreach (var dic in dicList) { @@ -2169,6 +2211,27 @@ } } 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: { @@ -2178,20 +2241,37 @@ { button1.Text = dic["value"]?.ToString(); } - } - } - break; - case SPK.doorgate: - { - foreach (var dic in dicList) - { - if (dic["key"] == "user_id") + else if (dic["key"] == "volume") { button2.Text = dic["value"]?.ToString(); } } } break; + case SPK.doorgate: + { + string s = string.Empty; + string tag = string.Empty; + 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 += ","; + tag += FaceItem.userId; + tag += "_"; + } + button2.Text = s; + button2.Tag = tag; + } + break; + } } /// <summary> @@ -2214,6 +2294,32 @@ } return valueStr; + } + /// <summary> + /// 鑾峰彇Key鍊� + /// </summary> + /// <param name="dicList">娉ㄦ剰:姘歌繙榛樿绗竴涓厓绱�</param> + /// <returns></returns> + public string GetKey(List<Dictionary<string, string>> dicList) + { + if (dicList.Count == 0) + { + return ""; + } + return dicList[0]["key"].ToString(); + } + /// <summary> + /// 鑾峰彇value鍊� + /// </summary> + /// <param name="dicList">娉ㄦ剰:姘歌繙榛樿绗竴涓厓绱�</param> + /// <returns></returns> + public string GetValue(List<Dictionary<string, string>> dicList) + { + if (dicList.Count == 0) + { + return ""; + } + return dicList[0]["value"].ToString(); } /// <summary> ///鑾峰彇鑷姩鍖栧悕绉� @@ -2274,22 +2380,16 @@ //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.spk) { + case SPK.MechanicalArm: case SPK.AirSwitch: case SPK.LightSwitch: {//寮�鍏崇伅 - - foreach (var dic in dicList) + string value = this.GetValue(dicList); + stateStr = Language.StringByID(StringId.offLogic); + if (value == "on") { - string value = dic["value"]; - if (value == "on") - { - stateStr = Language.StringByID(StringId.onLogic); + stateStr = Language.StringByID(StringId.onLogic); - } - else - { - stateStr = Language.StringByID(StringId.offLogic); - } } } break; @@ -2348,21 +2448,16 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: case SPK.FloorHeatStandard: case SPK.HvacFloorHeat: { - foreach (var dic in dicList) + string value = this.GetValue(dicList); + stateStr = Language.StringByID(StringId.offLogic); + if (value == "on") { - string value = dic["value"]; - if (value == "on") - { - stateStr = Language.StringByID(StringId.onLogic); + stateStr = Language.StringByID(StringId.onLogic); - } - else if (value == "off") - { - stateStr = Language.StringByID(StringId.offLogic); - } } } @@ -2471,7 +2566,9 @@ /// <returns></returns> private string GetTimeText(string strTimeValue) { - var timeValue = int.Parse(strTimeValue); + //鍥犱负璋冭瘯杞欢涓婁紶涓虹┖杩�; + string intTimeValue = string.IsNullOrEmpty(strTimeValue) ? "0" : strTimeValue; + var timeValue = int.Parse(intTimeValue); string state = ""; var minutes = timeValue / 60; var seconds = timeValue % 60; @@ -2545,6 +2642,11 @@ strtext = Language.StringByID(StringId.co2) + new PublicInterface { }.GetString("co2", value); } break; + case "pm10": + { + strtext = Language.StringByID(StringId.pm10) + new PublicInterface { }.GetString("pm25", value); + } + break; case "pm25": { strtext = Language.StringByID(StringId.pm25) + new PublicInterface { }.GetString("pm25", value); @@ -2567,13 +2669,13 @@ private void SensorView(FrameLayout thisView, Function device, string key, int indexVulae) { //杩欎釜璁惧姣旇緝鐗规畩 - ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); ///褰撳墠鐨勭储寮曞�兼暟鎹璞� Input inputedit = Logic.currlogic.input[indexVulae]; ///鐘舵�佸�� string stateValue = ""; - foreach (var dic in inputedit.condition) + for (int i=0;i<inputedit.condition.Count;i++) { + var dic = inputedit.condition[i]; string comparator = dic["comparator"]; stateValue = dic["value"]; switch (key) @@ -2590,7 +2692,7 @@ { titleInt = StringId.wendudiyu; } - conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.InputBoxAction(device, titleInt, indexVulae, true, stateValue); } break; case "humidity": @@ -2604,38 +2706,43 @@ { titleInt = StringId.shidudiyu; } - conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.InputBoxAction(device, titleInt, indexVulae, true, stateValue); } break; case "co2": { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "co2", StringId.co2, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "co2", StringId.co2, indexVulae, true, stateValue); + } + break; + case "pm10": + { + ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "pm10", StringId.pm10, indexVulae, true, stateValue); } break; case "pm25": { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "pm25", StringId.pm25, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "pm25", StringId.pm25, indexVulae, true, stateValue); } break; case "tvoc": { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "tvoc", StringId.tvoc, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "tvoc", StringId.tvoc, indexVulae, true, stateValue); } break; case "hcho": { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "hcho", StringId.Formaldehyde, indexVulae, true, stateValue); + ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "hcho", StringId.Formaldehyde, indexVulae, true, stateValue); } break; } } } /// <summary> - /// 鏌ユ壘鎸囧畾userId + /// 鏌ユ壘鎸囧畾鍙瀵硅userId /// </summary> /// <param name="userId"></param> - /// <returns></returns> - public Face FaceItem(string userId, string deviceId) + /// <returns></returns> + public Face GetFaceItem(string userId, string deviceId) { if (Send.Current.faceList.Count == 0) { @@ -2648,6 +2755,24 @@ } return face; } + /// <summary> + /// 鏌ユ壘鎸囧畾钀ょ煶瑙嗛闂ㄩ攣userId + /// </summary> + /// <param name="userId"></param> + /// <returns></returns> + public Face GetVideoDoorLockUserItem(string userId, Function device) + { + if (Send.Current.VideoDoorLockUserListInfo.Count == 0) + { + Send.Current.GetVideoDoorLockUserListInfo(device); + } + var face = Send.Current.VideoDoorLockUserListInfo.Find((o) => { return o.userId == userId; }); + if (face == null) + { + face = new Face(); + } + return face; + } } } -- Gitblit v1.8.0