mac
2023-12-13 af954b34ffad38c3b11bd82caa54d5fb0c36e6ec
2023年12月13日16:18:38

自动化输入条件可视对讲改完支持多个用户配置。
2个文件已修改
114 ■■■■■ 已修改文件
HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -1309,27 +1309,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;
                         }
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -436,30 +436,43 @@
                                    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;
@@ -2318,7 +2331,7 @@
                        foreach (var dic in dicList)
                        {
                            string value = dic["value"];
                            if (value == "on"|| value == "open")
                            if (value == "on" || value == "open")
                            {
                                button1.Text = Language.StringByID(StringId.onLogic);
                            }
@@ -2533,25 +2546,37 @@
                    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: