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