yanjinhui
7 天以前 b9c76ce85e533250cd36de670146530f970859e7
ÏîÄ¿´úÂë/ºó¶Ë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs
@@ -26,11 +26,13 @@
        public IRepository<Dt_Parameters> Repository => BaseDal;
        private readonly IRepository<Sys_User> _user;
        private readonly IRepository<Dt_AlarmResetHsy> _alarm;
        private readonly IRepository<Dt_CustomIPaddress> _cunstomip;
        public ParametersService(IRepository<Dt_Parameters> BaseDal, IRepository<Sys_User> user, IRepository<Dt_AlarmResetHsy> alarm) : base(BaseDal)
        public ParametersService(IRepository<Dt_Parameters> BaseDal, IRepository<Sys_User> user, IRepository<Dt_AlarmResetHsy> alarm, IRepository<Dt_CustomIPaddress> cunstomip) : base(BaseDal)
        {
            _user = user;
            _alarm = alarm;
            _cunstomip = cunstomip;
        }
@@ -39,21 +41,30 @@
        /// </summary>
        /// <param name="ExtendedState">伸/出状态</param>
        /// <returns></returns>
        public WebResponseContent automation(string ExtendedState)
        public WebResponseContent automation(string ExtendedState, string LocalIP)
        {
            
            try
            {
                //根据int.TryParse(AppSettings.Get("DepartmentID")读取到当前是轨道几,所有人都只能操作当前
                if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
                ////根据int.TryParse(AppSettings.Get("DepartmentID")读取到当前是轨道几,所有人都只能操作当前
                //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
                //{
                //    return new WebResponseContent { Status = false, Message = "配置项 DepartmentID æ— æ³•转换为整数" };
                //};
                //var devices = GetDevicesByDeptId(deid);
                //先查询设备ip配置表(Dt_CustomIPaddress),看是否有配置,没有就提示他配置
                var customip=_cunstomip.QueryData(x=>x.IPaddress==LocalIP).FirstOrDefault();
                if (customip == null)
                {
                    return new WebResponseContent { Status = false, Message = "配置项 DepartmentID æ— æ³•转换为整数" };
                };
                    return new WebResponseContent { Status = false, Message = "你还没有配置该轨道站的IP地址,请先配置在操作" };
                }
                var deid = customip.StationID;
                var devices = GetDevicesByDeptId(deid);
                //找到Dt_Parameters中的最新一条数据
                var para = BaseDal.QueryData().Where(x => x.Deptid == deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
@@ -206,14 +217,16 @@
        /// <param name="ExtendedState">伸/缩状态</param>
        /// <returns></returns>
        /// 
        public WebResponseContent ManualOperation(string position, string ExtendedState)
        public WebResponseContent ManualOperation(string position, string ExtendedState, string LocalIP)
        {
            try
            {
                if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
                var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
                if (customip == null)
                {
                    return new WebResponseContent { Status = true, Message = "配置项 DepartmentID æ— æ³•转换为整数" };
                    return new WebResponseContent { Status = false, Message = "你还没有配置该轨道站的IP地址,请先配置在操作" };
                }
                var deid = customip.StationID;
                var devices = GetDevicesByDeptId(deid);
                //俩个plc左右各一个
@@ -365,39 +378,46 @@
        /// <summary>
        /// æ ¹æ®ç”¨æˆ·æ·»åŠ é€Ÿåº¦
        /// æ ¹æ®å½“前机械ip地址来添加速度
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public  WebResponseContent AddSpeed(SpeedDTO entity)
        public  WebResponseContent AddSpeed(SpeedDTO entity,string LocalIP)
        {
            try
            {
                // èŽ·å–å½“å‰ç™»å½•ç”¨æˆ·
                var user = _user.QueryData(x => x.UserName == entity.account).FirstOrDefault();
               // åˆ¤æ–­ï¼šå¦‚果不是管理员 && Dept_Id ä¸ºç©ºï¼Œåˆ™æç¤ºé”™è¯¯
                if (user.UserName != "admin" && user.Dept_Id == null)
                // // èŽ·å–å½“å‰ç™»å½•ç”¨æˆ·
                // var user = _user.QueryData(x => x.UserName == entity.account).FirstOrDefault();
                //// åˆ¤æ–­ï¼šå¦‚果不是管理员 && Dept_Id ä¸ºç©ºï¼Œåˆ™æç¤ºé”™è¯¯
                // if (user.UserName != "admin" && user.Dept_Id == null)
                // {
                //     return new WebResponseContent { Status = false, Message = "你的账号没有设置轨道站号,无法添加,请联系管理员" };
                // }
                //var dept = user.Dept_Id;
                ////  èŽ·å–é…ç½®æ–‡ä»¶ä¸­çš„ DepartmentID(管理员专用)
                //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
                //{
                //    return new WebResponseContent
                //    {
                //        Status = false,
                //        Message = "配置项 DepartmentID æ— æ³•转换为整数"
                //    };
                //}
                //// åˆ¤æ–­æ˜¯å¦ä¸ºç®¡ç†å‘˜è´¦å·
                //bool isAdmin = user?.UserName?.Equals("admin") == true; //如果当前用户不为空,且用户名是 "admin",就认为这个用户是管理员
                //去读取对应设备的ip地址
                var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
                if (customip == null)
                {
                    return new WebResponseContent { Status = false, Message = "你的账号没有设置轨道站号,无法添加,请联系管理员" };
                    return new WebResponseContent { Status = false, Message = "你还没有配置该轨道站的IP地址,请先配置在操作" };
                }
                var dept = user.Dept_Id;
                var deid = customip.StationID;
                //  èŽ·å–é…ç½®æ–‡ä»¶ä¸­çš„ DepartmentID(管理员专用)
                if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
                {
                    return new WebResponseContent
                    {
                        Status = false,
                        Message = "配置项 DepartmentID æ— æ³•转换为整数"
                    };
                }
                // åˆ¤æ–­æ˜¯å¦ä¸ºç®¡ç†å‘˜è´¦å·
                bool isAdmin = user?.UserName?.Equals("admin") == true; //如果当前用户不为空,且用户名是 "admin",就认为这个用户是管理员
                // æ ¹æ®æ˜¯å¦æ˜¯ç®¡ç†å‘˜å†³å®šä½¿ç”¨å“ªä¸ª Deptid
                var parmet = new Dt_Parameters
                {
                    ExtendSpeed = entity.ExtendSpeed,
@@ -405,8 +425,9 @@
                    ManualExtend = entity.ManualExtend,
                    ManualRetraction = entity.ManualRetraction,
                    LeftPosition = entity.LeftPosition,
                    RightPosition = entity.RightPosition,
                    Deptid = isAdmin ? deid : dept.GetValueOrDefault()//如果当前用户是管理员,就用配置文件中的 DepartmentID,否则用传入的 entity å‚数中的 Deptid
                    RightPosition = entity.RightPosition,
                    //Deptid = isAdmin ? deid : dept.GetValueOrDefault()//如果当前用户是管理员,就用配置文件中的 DepartmentID,否则用传入的 entity å‚数中的 Deptid
                    Deptid = deid
                };
                // æ·»åŠ æ•°æ®
                AddData(parmet);
@@ -431,16 +452,24 @@
        ///当自动伸出需要暂停时,暂停按钮
        /// </summary>
        /// <returns></returns>
        public WebResponseContent PauseButton()
        public WebResponseContent PauseButton(string LocalIP)
        {
            try
            {
                //根据int.TryParse(AppSettings.Get("DepartmentID")读取到当前是轨道几,所有人都只能操作当前
                if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
                ////根据int.TryParse(AppSettings.Get("DepartmentID")读取到当前是轨道几,所有人都只能操作当前
                //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
                //{
                //    return new WebResponseContent { Status = false, Message = "配置项 DepartmentID æ— æ³•转换为整数" };
                //};
                //var devices = GetDevicesByDeptId(deid);
                var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
                if (customip == null)
                {
                    return new WebResponseContent { Status = false, Message = "配置项 DepartmentID æ— æ³•转换为整数" };
                };
                    return new WebResponseContent { Status = false, Message = "你还没有配置该轨道站的IP地址,请先配置在操作" };
                }
                var deid = customip.StationID;
                var devices = GetDevicesByDeptId(deid);
                try
                {
                    devices.Value.left.Communicator.Write<bool>("M104", true);
@@ -475,15 +504,21 @@
        /// èŽ·å–å½“å‰ç¨‹åºæœ€æ–°çš„è­¦æƒ•æœºæž„é€Ÿåº¦
        /// </summary>
        /// <returns></returns>
        public WebResponseContent BackfillSpeed()
        public WebResponseContent BackfillSpeed(string LocalIP)
        {
            try
            {
                if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
                {
                    return new WebResponseContent { Status = false, Message = "配置项 DepartmentID æ— æ³•转换为整数" };
                //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
                //{
                //    return new WebResponseContent { Status = false, Message = "配置项 DepartmentID æ— æ³•转换为整数" };
                //}
                var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
                if (customip == null)
                {
                    return new WebResponseContent { Status = false, Message = "你还没有配置该轨道站的IP地址,请先配置在操作" };
                }
                var deid = customip.StationID;
                var para = BaseDal.QueryData().Where(x => x.Deptid == deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
                if (para == null)
                {