| | |
| | | using WIDESEAWCS_TelescopicService; |
| | | using WIDESEAWCS_ISystemServices; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using Microsoft.AspNetCore.Http; |
| | | using System.Collections.Concurrent; |
| | | using Microsoft.AspNetCore.Hosting.Server; |
| | | using static System.Collections.Specialized.BitVector32; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | |
| | | WebSocketServer _webSocketServer; |
| | | private readonly Idt_ErrormsginfoService _ErrormsginfoService; |
| | | private readonly AlarmResetHsyServer _alarmResetHsy; |
| | | private readonly IIPaddressServer _cunstomipService; |
| | | //private static readonly object _lockObj = new object(); //å é |
| | | |
| | | |
| | |
| | | ["M120"] = false,//éç¢æ¥è¦ |
| | | }; |
| | | |
| | | public AlarmResetJob(Idt_ErrormsginfoService errormsginfoService, WebSocketServer webSocketServer, IAlarmResetHsyServer alarmResetHsyServer, ISys_UserService UserService) |
| | | public AlarmResetJob(Idt_ErrormsginfoService errormsginfoService, WebSocketServer webSocketServer, IAlarmResetHsyServer alarmResetHsyServer, ISys_UserService UserService, IIPaddressServer cunstomipService) |
| | | { |
| | | _webSocketServer = webSocketServer; |
| | | _alarmResetHsyServer = alarmResetHsyServer; |
| | | _UserService = UserService; |
| | | _ErrormsginfoService = errormsginfoService; |
| | | _cunstomipService = cunstomipService; |
| | | } |
| | | |
| | | |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | try |
| | | { |
| | | if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid)) |
| | | WebSocketSession[] webSocketSessions = _webSocketServer.OnlineSessions;//å°ææçè¿æ¥ä¿¡æ¯åå°è¿é |
| | | //string clientIp = webSocketSessions[0].Remote.Address.ToString().Replace("::ffff", ""); //è·åä¸ä¸ªipå°å |
| | | |
| | | foreach (var session in webSocketSessions) |
| | | { |
| | | Console.WriteLine("é
置项 DepartmentID æ æ³è½¬æ¢ä¸ºæ´æ°"); |
| | | } |
| | | string clientIp = session.Remote.Address.ToString().Replace("::ffff:", ""); |
| | | var customip = _cunstomipService.GetStandid(clientIp); |
| | | if (customip.Status && customip.Data != null) |
| | | { |
| | | //var deid = customip.Data.StationID; |
| | | var deid = Convert.ToInt32(customip.Data); |
| | | var devices = GetDevicesByDeptId(deid); |
| | | |
| | | |
| | | |
| | | //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid)) |
| | | //{ |
| | | // Console.WriteLine("é
置项 DepartmentID æ æ³è½¬æ¢ä¸ºæ´æ°"); |
| | | //} |
| | | //var devices = GetDevicesByDeptId(deid); |
| | | |
| | | |
| | | |
| | | if (devices != null) |
| | | { |
| | | // Left PLC processing |
| | |
| | | // Check and record alarms only when state changes from false to true |
| | | if (leftPLcstuck1 && !_leftAlarmStates["M109"]) |
| | | { |
| | | string text = $"æ£8éå·¦ä¾§è¦ææºæï¼ä¼¸ç¼©å¡ä½æ¥è¦"; |
| | | string text = $"æ£{deid}éå·¦ä¾§è¦ææºæï¼ä¼¸ç¼©å¡ä½æ¥è¦"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftPLcstuck1); |
| | | _leftAlarmStates["M109"] = true; |
| | | } |
| | |
| | | |
| | | if (leftPLcOher1 && !_leftAlarmStates["M111"]) |
| | | { |
| | | string text = $"æ£8éå·¦ä¾§è¦ææºæï¼å
¶ä»æ
鿥è¦"; |
| | | string text = $"æ£{deid}éå·¦ä¾§è¦ææºæï¼å
¶ä»æ
鿥è¦"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftPLcOher1); |
| | | _leftAlarmStates["M111"] = true; |
| | | } |
| | |
| | | |
| | | if (leftscram && !_leftAlarmStates["M110"]) |
| | | { |
| | | string text = $"æ£8éå·¦ä¾§è¦ææºæï¼æ¥åæ¥è¦"; |
| | | string text = $"æ£{deid}éå·¦ä¾§è¦ææºæï¼æ¥åæ¥è¦"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftscram); |
| | | _leftAlarmStates["M110"] = true; |
| | | } |
| | |
| | | |
| | | if (leftstop && !_leftAlarmStates["M120"]) |
| | | { |
| | | string text = $"æ£8éå·¦ä¾§è¦ææºæï¼ééç¢åæ¢æ¥è¦"; |
| | | string text = $"æ£{deid}éå·¦ä¾§è¦ææºæï¼ééç¢åæ¢æ¥è¦"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftstop); |
| | | _leftAlarmStates["M120"] = true; |
| | | } |
| | |
| | | // Check and record alarms only when state changes from false to true |
| | | if (rightPLcSuck && !_rightAlarmStates["M109"]) |
| | | { |
| | | string text = $"æ£8éå³ä¾§è¦ææºæï¼æ¥è¦ä¼¸ç¼©å¡ä½æ¥è¦"; |
| | | string text = $"æ£{deid}éå³ä¾§è¦ææºæï¼æ¥è¦ä¼¸ç¼©å¡ä½æ¥è¦"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightPLcSuck); |
| | | _rightAlarmStates["M109"] = true; |
| | | } |
| | |
| | | |
| | | if (rightPLcOher && !_rightAlarmStates["M111"]) |
| | | { |
| | | string text = $"æ£8éå³ä¾§è¦ææºæï¼å
¶ä»æ
鿥è¦"; |
| | | string text = $"æ£{deid}éå³ä¾§è¦ææºæï¼å
¶ä»æ
鿥è¦"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightPLcOher); |
| | | _rightAlarmStates["M111"] = true; |
| | | } |
| | |
| | | |
| | | if (rightscram && !_rightAlarmStates["M110"]) |
| | | { |
| | | string text = $"æ£8éå³ä¾§è¦ææºæï¼æ¥åæ¥è¦"; |
| | | string text = $"æ£{deid}éå³ä¾§è¦ææºæï¼æ¥åæ¥è¦"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightscram); |
| | | _rightAlarmStates["M110"] = true; |
| | | } |
| | |
| | | |
| | | if (rightstop && !_rightAlarmStates["M120"]) |
| | | { |
| | | string text = $"æ£8éå³ä¾§è¦ææºæï¼ééç¢åæ¢æ¥è¦"; |
| | | string text = $"æ£{deid}éå³ä¾§è¦ææºæï¼ééç¢åæ¢æ¥è¦"; |
| | | var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightstop); |
| | | _rightAlarmStates["M120"] = true; |
| | | } |
| | |
| | | _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _ErrormsginfoService.UpdateErrorMsg(ex.Message, 1); |
| | | Console.WriteLine("é误信æ¯ï¼" + ex.Message); |
| | | Console.WriteLine(ex.StackTrace); |
| | | } |
| | | |
| | | return Task.CompletedTask; |
| | | |
| | | } |
| | | |
| | | |
| | | public (OtherDevice left, OtherDevice right)? GetDevicesByDeptId(int deptId) |
| | | { |
| | | int baseCode = 1 + (deptId - 1) * 2; |