From ed91a57aa65eb921ddd96f09cc8b07b14c61823c Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期四, 08 五月 2025 15:57:18 +0800 Subject: [PATCH] 单机和后台 --- project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs | 139 +++++++++++++++++++++++++++------------------- 1 files changed, 81 insertions(+), 58 deletions(-) diff --git a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs index 8aec54b..e1f46ec 100644 --- a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs +++ b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs @@ -14,6 +14,16 @@ using WIDESEAWCS_QuartzJob; using WIDESEAWCS_TelescopicService; using WIDESEAWCS_ISystemServices; +using WIDESEAWCS_Core.Helper; +//<<<<<<< HEAD:project / WCS / WIDESEAWCS_Server / WIDESEAWCS_Tasks / SSG / AlarmResetJob.cs +//using WIDESEAWCS_ISystemServices; +//======= +//<<<<<<< Updated upstream: 椤圭洰浠g爜 / WCS / WIDESEAWCS_Server / WIDESEAWCS_Tasks / SSG / AlarmResetJob.cs +//======= +//using WIDESEAWCS_ISystemServices; +//using WIDESEAWCS_Core.Helper; +//>>>>>>> Stashed changes: project / WCS / WIDESEAWCS_Server / WIDESEAWCS_Tasks / SSG / AlarmResetJob.cs +//>>>>>>> qy0318:椤圭洰浠g爜 / WCS / WIDESEAWCS_Server / WIDESEAWCS_Tasks / SSG / AlarmResetJob.cs namespace WIDESEAWCS_Tasks { @@ -24,9 +34,9 @@ private readonly IAlarmResetHsyServer _alarmResetHsyServer; private readonly ISys_UserService _UserService; WebSocketServer _webSocketServer; - - - + + + public AlarmResetJob(WebSocketServer webSocketServer, IAlarmResetHsyServer alarmResetHsyServer, ISys_UserService UserService) { _webSocketServer = webSocketServer; @@ -34,76 +44,72 @@ _UserService = UserService; } + public Task Execute(IJobExecutionContext context) { try { - + //鑾峰彇璁惧鍙� // 鑾峰彇璁惧閰嶇疆 - OtherDevice serialPortDevice = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams"); - if (serialPortDevice!=null) + //OtherDevice serialPortDevice = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams"); + if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid)) + { + Console.WriteLine("閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�"); + } + var devices = GetDevicesByDeptId(deid); + if (devices != null) { //棣栧厛瑕佷竴鐩磋锛屽鏋滃彂鐢熶簡鏁呴殰瑕佸啓鍒癬alarmResetHsyServer涓褰曚笅鏉ュ苟涓旂粰鍒板墠绔暟鎹� //宸lc - - if (serialPortDevice.DeviceCode == "SSG001") + var leftPLcstuck1 = devices.Value.left.Communicator.Read<bool>("M104"); //鍗′綇鎶ヨ + var leftPLcOher1 = devices.Value.left.Communicator.Read<bool>("M105"); //鍏朵粬鎶ヨ //榛樿鏄痜alse + Console.WriteLine($"{devices.Value.left.DeviceName}:鍗′綇鎶ヨ{leftPLcstuck1}锛屽叾浠栨姤璀leftPLcOher1}"); + if (leftPLcstuck1 == true && leftPLcOher1 == false) + //if (leftPLcOher == false) { - var leftPLcstuck = serialPortDevice.Communicator.Read<bool>("M104"); //鍗′綇鎶ヨ - var leftPLcOher = serialPortDevice.Communicator.Read<bool>("M105"); //鍏朵粬鎶ヨ //榛樿鏄痜alse - Console.WriteLine($"{serialPortDevice.DeviceName}:鍗′綇鎶ヨ{leftPLcstuck}锛屽叾浠栨姤璀leftPLcOher}"); - if (leftPLcstuck == true && leftPLcOher == false) - //if (leftPLcOher == false) - { - string text = "杞ㄩ亾涓�锛氫几缂╁崱浣忔姤璀�"; - //鎶ヨ浜嗗湪杩欒皟鐢ㄦ坊鍔犳柟娉曪紝骞朵紶缁欏墠绔� - var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck); - - } - if (leftPLcOher == true && leftPLcstuck == false) - { - string text = "杞ㄩ亾涓�锛氬叾浠栨晠闅滄姤璀�"; - var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck); - - } - if (leftPLcstuck == true && leftPLcOher == true)//濡傛灉鎶ヨ浜� - { - string text = "杞ㄩ亾涓�锛氭姤璀︿几缂╁崱浣忔姤璀﹀拰鍏朵粬鏁呴殰鎶ヨ"; - var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck); - - } + string text = $"杞ㄩ亾{deid}锛氫几缂╁崱浣忔姤璀�"; + //鎶ヨ浜嗗湪杩欒皟鐢ㄦ坊鍔犳柟娉曪紝骞朵紶缁欏墠绔� + var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1); - var alrt = _alarmResetHsyServer.GetWebSocketInfo(); - _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt));//websocketserver杩欑鍙兘浼犵粰鍓嶇json鏍煎紡 } - else if (serialPortDevice.DeviceCode == "SSG002") + if (leftPLcstuck1 == true && leftPLcOher1 == false) { - //鍙硃lc - var rightPLcSuck = serialPortDevice.Communicator.Read<bool>("M104"); //鍗′綇鎶ヨ - var rightPLcOher = serialPortDevice.Communicator.Read<bool>("M105");//鍏朵粬鎶ヨ - Console.WriteLine($"{serialPortDevice.DeviceName}:鍗′綇鎶ヨ{rightPLcSuck}锛屽叾浠栨姤璀rightPLcOher}"); - if (rightPLcSuck == true && rightPLcOher == false) - { - string text = "杞ㄩ亾涓�锛氭姤璀︿几缂╁崱浣忔姤璀�"; - //鎶ヨ浜嗗湪杩欒皟鐢ㄦ坊鍔犳柟娉曪紝骞朵紶缁欏墠绔� - var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcSuck); - // _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(reslut));//websocketserver杩欑鍙兘浼犵粰鍓嶇json鏍煎紡 - } - if (rightPLcOher == true && rightPLcSuck == false) - { - string text = "杞ㄩ亾涓�锛氬叾浠栨晠闅滄姤璀�"; - var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher); - } - if (rightPLcSuck == true && rightPLcOher == true)//濡傛灉鎶ヨ浜� - { - string text = "杞ㄩ亾涓�锛氭姤璀︿几缂╁崱浣忔姤璀﹀拰鍏朵粬鏁呴殰鎶ヨ"; - var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher);//娣诲姞鏁版嵁 - } - var alrt = _alarmResetHsyServer.GetWebSocketInfo(); - _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt)); + string text = $"杞ㄩ亾{deid}锛氬叾浠栨晠闅滄姤璀�"; + var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1); + } - + if (leftPLcstuck1 == true && leftPLcOher1 == true)//濡傛灉鎶ヨ浜� + { + string text = $"杞ㄩ亾{deid}锛氭姤璀︿几缂╁崱浣忔姤璀﹀拰鍏朵粬鏁呴殰鎶ヨ"; + var reslut = _alarmResetHsyServer.AddAlarmHsy(text, leftPLcstuck1); + } + + //鍙硃lc + var rightPLcSuck = devices.Value.right.Communicator.Read<bool>("M104"); //鍗′綇鎶ヨ + var rightPLcOher = devices.Value.left.Communicator.Read<bool>("M105");//鍏朵粬鎶ヨ + Console.WriteLine($"{devices.Value.right.DeviceName}:鍗′綇鎶ヨ{rightPLcSuck}锛屽叾浠栨姤璀rightPLcOher}"); + if (rightPLcSuck == true && rightPLcOher == false) + { + string text = $"杞ㄩ亾{deid}锛氭姤璀︿几缂╁崱浣忔姤璀�"; + //鎶ヨ浜嗗湪杩欒皟鐢ㄦ坊鍔犳柟娉曪紝骞朵紶缁欏墠绔� + var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcSuck); + // _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(reslut));//websocketserver杩欑鍙兘浼犵粰鍓嶇json鏍煎紡 + } + if (rightPLcOher == true && rightPLcSuck == false) + { + string text = $"杞ㄩ亾{deid}锛氬叾浠栨晠闅滄姤璀�"; + var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher); + } + if (rightPLcSuck == true && rightPLcOher == true)//濡傛灉鎶ヨ浜� + { + string text = $"杞ㄩ亾{deid}锛氭姤璀︿几缂╁崱浣忔姤璀﹀拰鍏朵粬鏁呴殰鎶ヨ"; + var reslut = _alarmResetHsyServer.AddAlarmHsy(text, rightPLcOher);//娣诲姞鏁版嵁 + } + var alrt = _alarmResetHsyServer.GetWebSocketInfo(); + _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt)); } + } catch (Exception ex) { @@ -113,5 +119,22 @@ } return Task.CompletedTask; } + public (OtherDevice left, OtherDevice right)? GetDevicesByDeptId(int deptId) + { + // 宸﹁澶囧彿锛�1 -> 001锛�2 -> 003锛�3 -> 005... + int baseCode = 1 + (deptId - 1) * 2; + string leftCode = $"SSG{baseCode.ToString("D3")}"; + string rightCode = $"SSG{(baseCode + 1).ToString("D3")}"; + + var left = (OtherDevice)Storage.Devices.Find(x => x.DeviceCode == leftCode); + var right = (OtherDevice)Storage.Devices.Find(x => x.DeviceCode == rightCode); + + if (left == null || right == null) + return null; + + return (left, right); + } } } + + -- Gitblit v1.9.3