wxr
2024-09-27 acc8caee31c4be90bd38d1af18136b0e84f6fe94
HDL_ON/Entity/FunctionList.cs
@@ -14,20 +14,20 @@
    {
        static FunctionList _FunctionList;
        public static void ClearData()
        {
            try
            {
                _FunctionList._IpCamImou = null;
                _FunctionList.ClearDatas();
                _FunctionList = null;
            }
            catch (Exception ex)
            {
                MainPage.Log($"清理FunctionList异常:{ex.Message}");
                _FunctionList = null;
            }
        }
        //public static void ClearData()
        //{
        //    try
        //    {
        //        _FunctionList._IpCamImou = null;
        //        _FunctionList.ClearDatas();
        //        _FunctionList = null;
        //    }
        //    catch (Exception ex)
        //    {
        //        MainPage.Log($"清理FunctionList异常:{ex.Message}");
        //        _FunctionList = null;
        //    }
        //}
        public static FunctionList List
        {
@@ -55,6 +55,12 @@
        /// 功能列表
        /// </summary>
        public List<Function> Functions = new List<Function>();
        /// <summary>
        /// 群控列表
        /// </summary>
        public List<GroupControl> groupControls = new List<GroupControl>();
        /// <summary>
        /// 机械臂列表
        /// </summary>
@@ -105,7 +111,7 @@
        /// <returns></returns>
        public List<Function> GetAcstParentList()
        {
            return Functions.FindAll((obj) => obj.spk == SPK.AcstParent);//.OrderByDescending(o=>o.controlCounter).ToList()
            return Functions.FindAll((obj) => obj.spk == SPK.AcstParent);
        }
        /// <summary>
@@ -116,6 +122,28 @@
        public List<Function> GetAcstSubList()
        {
            return Functions.FindAll((obj) => obj.spk == SPK.AcstSub);
        }
        /// <summary>
        /// 绿建科技系统
        /// 热水器列表
        /// </summary>
        /// <returns></returns>
        public List<Function> GetWaterHeaterJinmaoList()
        {
            return Functions.FindAll((obj) => obj.spk == SPK.WaterHeaterJinmao);
        }
        /// <summary>
        /// 金茂光伏储能
        /// </summary>
        /// <returns></returns>
        public List<Function> GetInverterJinmaoList()
        {
            var tempList = Functions.FindAll((obj) => obj.spk == SPK.InverterJinmao);
            foreach(var device in tempList)
            {
                device.collect = true;
            }
            return tempList;
        }
        /// <summary>
@@ -136,6 +164,15 @@
            var spkList = SPK.LightSpkList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 序列列表
        /// </summary>
        /// <returns></returns>
        public List<Function> GetSeries()
        {
            return Functions.FindAll((obj) => obj.spk == SPK.CommonSeries);
        }
        /// <summary>
        /// 窗帘列表
        /// </summary>
@@ -197,8 +234,8 @@
            var spkList = SPK.ElectricalSpkList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 红外宝列表
        /// </summary>
@@ -206,7 +243,7 @@
        {
            return Functions.FindAll((obj) => obj.spk == SPK.IrModule);
        }
#endregion
        #endregion
        /// <summary>
        /// 音乐列表
@@ -243,10 +280,13 @@
            var spkList = new List<string>()
            {
                SPK.SensorPir,
                SPK.SensorPirHold,
                SPK.SensorDoorWindow,
                SPK.SensorSmoke,
                SPK.SensorWater,
                SPK.SensorGas,
                SPK.SensorDryContact,
                SPK.SensorDryContact2,
            };
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
@@ -267,7 +307,7 @@
        {
            get
            {
                if(_OtherBrandFunction == null)
                if (_OtherBrandFunction == null)
                {
                    _OtherBrandFunction = new List<Function>();
                    var spkList = SPK.GetAll3tySPK();
@@ -335,9 +375,9 @@
                    {
                        //检测重复
                        var same = Functions.FindAll((obj) => obj.deviceId == tempFunction.deviceId);
                        if(same!= null)
                        if (same != null)
                        {
                            foreach(var sameTemp in same)
                            foreach (var sameTemp in same)
                            {
                                Functions.Remove(sameTemp);
                            }
@@ -369,7 +409,7 @@
                    var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString);
                    if (temp == null)
                    {
                        MainPage.Log("null");
                        MainPage.Log("SecurityData_null");
                        FileUtlis.Files.DeleteFile(filePath);
                        return;
                    }
@@ -409,7 +449,7 @@
            {
            }
            else
            {
            {
                switch (brandType)
                {
                    case SPK.BrandType.Hdl:
@@ -476,11 +516,11 @@
        /// <summary>
        /// 功能绑定房间
        /// </summary>
        public string FunctionsBindRooms(List<string> roomIds,List<string> deviceIds)
        public string FunctionsBindRooms(List<string> roomIds, List<string> deviceIds)
        {
            var pm = new HttpServerRequest();
            var pack = pm.BindDeviceToRoom(deviceIds, roomIds);
            if(pack.Code == StateCode.SUCCESS)
            if (pack.Code == StateCode.SUCCESS)
            {
            }
@@ -494,7 +534,7 @@
        /// <summary>
        /// 删除场景
        /// </summary>
        public void DeleteScene(Scene scene,bool upSevser)
        public void DeleteScene(Scene scene, bool upSevser)
        {
            if (upSevser)
            {
@@ -522,6 +562,10 @@
        /// </summary>
        public void DeleteFunction(Function delTemp)
        {
            if(delTemp == null)
            {
                return;
            }
            Functions.Remove(Functions.Find((obj) => obj.deviceId == delTemp.deviceId));
            FileUtlis.Files.DeleteFile(delTemp.savePath);
        }
@@ -561,14 +605,14 @@
        {
            if (lockReadFunctionStatus)
            {
                MainPage.Log($"多次进入--返回");
                MainPage.Log($"多次进入--返回1");
                return;
            }
            new Thread(() =>
            {
                if (lockReadFunctionStatus)
                {
                    MainPage.Log($"多次进入--返回");
                    MainPage.Log($"多次进入--返回2");
                    return;
                }
                MainPage.Log($"进入--读取");
@@ -577,7 +621,7 @@
                {
                    Read3tyFunctionStatus();
                    if(DriverLayer.Control.Ins.GatewayOnline_Local)
                    if (DriverLayer.Control.Ins.GatewayOnline_Local)
                    {
                        //List<Function> functions = GetDeviceFunctionList(SPK.BrandType.Hdl);
@@ -641,12 +685,12 @@
                    MainPage.Log($"结束--读取");
                }
            })
            { IsBackground = true }.Start();
        }
#region 场景相关
        #region 场景相关
        /// <summary>
        /// 添加场景
        /// </summary>
@@ -678,10 +722,10 @@
            }
            return revPack.Code;
        }
#endregion
        #endregion
#region 收藏功能
        #region 收藏功能
        /// <summary>
        /// 收藏场景
        /// </summary>
@@ -706,14 +750,14 @@
            return result;
        }
#endregion
        #endregion
#region
        #region
#endregion
        #endregion
    }
}