From d723d5c1413bb38ceb7d7404f4817e6540c3c2a0 Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期四, 12 六月 2025 16:18:33 +0800 Subject: [PATCH] 人脸识别 --- project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs | 171 +++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 112 insertions(+), 59 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..1d08638 100644 --- a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs +++ b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/SSG/AlarmResetJob.cs @@ -14,6 +14,8 @@ using WIDESEAWCS_QuartzJob; using WIDESEAWCS_TelescopicService; using WIDESEAWCS_ISystemServices; +using WIDESEAWCS_Core.Helper; + namespace WIDESEAWCS_Tasks { @@ -24,94 +26,145 @@ private readonly IAlarmResetHsyServer _alarmResetHsyServer; private readonly ISys_UserService _UserService; WebSocketServer _webSocketServer; - - - - public AlarmResetJob(WebSocketServer webSocketServer, IAlarmResetHsyServer alarmResetHsyServer, ISys_UserService UserService) + private readonly Idt_ErrormsginfoService _ErrormsginfoService; + + + public AlarmResetJob(Idt_ErrormsginfoService errormsginfoService, WebSocketServer webSocketServer, IAlarmResetHsyServer alarmResetHsyServer, ISys_UserService UserService) { _webSocketServer = webSocketServer; _alarmResetHsyServer = alarmResetHsyServer; _UserService = UserService; + _ErrormsginfoService = errormsginfoService; } + 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") + try { - 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) + if (devices.Value.left.IsConnected) + { + var leftPLcstuck1 = devices.Value.left.Communicator.Read<bool>("M109"); //鍗′綇鎶ヨ + var leftPLcOher1 = devices.Value.left.Communicator.Read<bool>("M111"); //鍏朵粬鎶ヨ //榛樿鏄痜alse + var leftPLcNowAdd = devices.Value.left.Communicator.Read<float>("D80"); + Console.WriteLine($"{devices.Value.left.DeviceName}:鍗′綇鎶ヨ{leftPLcstuck1}锛屽叾浠栨姤璀leftPLcOher1}"); + if (leftPLcstuck1 == true && leftPLcOher1 == 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(deid,text, leftPLcstuck1); - var alrt = _alarmResetHsyServer.GetWebSocketInfo(); - _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(alrt));//websocketserver杩欑鍙兘浼犵粰鍓嶇json鏍煎紡 + + } + if (leftPLcstuck1 == false && leftPLcOher1 == true) + { + string text = $"杞ㄩ亾{deid}锛氬叾浠栨晠闅滄姤璀�"; + var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftPLcstuck1); + + } + if (leftPLcstuck1 == true && leftPLcOher1 == true)//濡傛灉鎶ヨ浜� + { + string text = $"杞ㄩ亾{deid}锛氭姤璀︿几缂╁崱浣忔姤璀﹀拰鍏朵粬鏁呴殰鎶ヨ"; + var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, leftPLcstuck1); + } + _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(new + { + device = "宸lc", + Liftvalue = leftPLcNowAdd + }));//鎶奃80缁欏墠绔� + } } - else if (serialPortDevice.DeviceCode == "SSG002") + catch (Exception) { - //鍙硃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}锛氬乏PLC鏈繛鎺�"; + //var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, false);//娣诲姞鏁版嵁 } - + + try + { + if (devices.Value.right.IsConnected)//鏄惁杩炴帴涓� + { + //鍙硃lc + var rightPLcSuck = devices.Value.right.Communicator.Read<bool>("M109"); //鍗′綇鎶ヨ + var rightPLcOher = devices.Value.right.Communicator.Read<bool>("M111");//鍏朵粬鎶ヨ + var rightPLcNowAdd = devices.Value.right.Communicator.Read<float>("D80"); + Console.WriteLine($"{devices.Value.right.DeviceName}:鍗′綇鎶ヨ{rightPLcSuck}锛屽叾浠栨姤璀rightPLcOher}"); + if (rightPLcSuck == true && rightPLcOher == false) + { + string text = $"杞ㄩ亾{deid}锛氭姤璀︿几缂╁崱浣忔姤璀�"; + //鎶ヨ浜嗗湪杩欒皟鐢ㄦ坊鍔犳柟娉曪紝骞朵紶缁欏墠绔� + var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightPLcSuck); + // _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(reslut));//websocketserver杩欑鍙兘浼犵粰鍓嶇json鏍煎紡 + } + if (rightPLcOher == false && rightPLcSuck == true) + { + string text = $"杞ㄩ亾{deid}锛氬叾浠栨晠闅滄姤璀�"; + var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightPLcOher); + } + if (rightPLcSuck == true && rightPLcOher == true)//濡傛灉鎶ヨ浜� + { + string text = $"杞ㄩ亾{deid}锛氭姤璀︿几缂╁崱浣忔姤璀﹀拰鍏朵粬鏁呴殰鎶ヨ"; + var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, rightPLcOher);//娣诲姞鏁版嵁 + } + _webSocketServer.PublishAllClientPayload(JsonConvert.SerializeObject(new { + device="鍙砅lc", + Rightvalue= rightPLcNowAdd + }));//鎶奃80缁欏墠绔� + + } + } + catch (Exception) + { + string text = $"杞ㄩ亾{deid}锛氬彸PLC鏈繛鎺�"; + //var reslut = _alarmResetHsyServer.AddAlarmHsy(deid, text, false);//娣诲姞鏁版嵁 + } + var alrt = _alarmResetHsyServer.GetWebSocketInfo(deid); + _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) + { + // 宸﹁澶囧彿锛�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