From ce6a232b55646e8d39cb0b4861ee363608b6f9aa Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期五, 06 九月 2024 10:48:26 +0800
Subject: [PATCH] 服务状态读数据库;报警复位功能

---
 Admin.NET/WCS.Application/Hub/PlcHub.cs |   59 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 45 insertions(+), 14 deletions(-)

diff --git a/Admin.NET/WCS.Application/Hub/PlcHub.cs b/Admin.NET/WCS.Application/Hub/PlcHub.cs
index 31d652c..2cf316f 100644
--- a/Admin.NET/WCS.Application/Hub/PlcHub.cs
+++ b/Admin.NET/WCS.Application/Hub/PlcHub.cs
@@ -4,26 +4,27 @@
 namespace WCS.Application;
 
 /// <summary>
-/// PLC闆嗙嚎鍣�
+/// 浠诲姟鏃ュ織闆嗙嚎鍣�
 /// </summary>
 [MapHub("/hubs/Plc")]
 public class PlcHub : Hub<IPlcHub>
 {
     private readonly IHubContext<PlcHub, IPlcHub> _plcHubContext;
-
-    public PlcHub(IHubContext<PlcHub, IPlcHub> plcHubContext)
+    private readonly SysConfigService _sysConfigService;
+    public PlcHub(IHubContext<PlcHub, IPlcHub> plcHubContext, SysConfigService sysConfigService)
     {
         _plcHubContext = plcHubContext;
+        _sysConfigService = sysConfigService;
     }
     /// <summary>
     /// 涓嬪彂PLC杩炴帴鐘舵��
     /// </summary>
     /// <param name="context"></param>
     /// <returns></returns>
-    //public async Task PublicPlcConn(WcsPlc context)
-    //{
-    //    await _plcHubContext.Clients.All.PublicPlcConn(context);
-    //}
+    public async Task PublicPlcConn(WcsPlc context)
+    {
+        await _plcHubContext.Clients.All.PublicPlcConn(context);
+    }
 
     /// <summary>
     /// 涓嬪彂宸ヤ綅鐘舵��
@@ -36,12 +37,42 @@
     //}
 
     /// <summary>
-    /// 涓嬪彂鎶ヨ淇℃伅
+    /// 涓嬪彂鏈嶅姟鐘舵��
     /// </summary>
-    /// <param name="context"></param>
-    /// <returns></returns>
-    //public async Task PublicAlarm(WcsAlarmInfoOutput context)
-    //{
-    //    await _plcHubContext.Clients.All.PublicAlarm(context);
-    //}
+    public async Task UpdateService(PLCServiceModel context)
+    {
+        //杩愯鐘舵��
+        if (context.BoRunningState.HasValue)
+        {
+            PLCTaskAction.boRunningState = context.BoRunningState.Value;
+            if (context.BoRunningState.Value)
+                PLCTaskAction.Init();
+            else
+                PLCTaskAction.Stop();
+            await _sysConfigService.UpdateConfigValue("sys_RunningState", context.BoRunningState.Value);
+        }
+        //鑴辨満妯″紡
+        if (context.BoOffline.HasValue)
+        {
+            PLCTaskAction.boOffline = context.BoOffline.Value;
+            await _sysConfigService.UpdateConfigValue("sys_Offline", context.BoOffline.Value);
+        }
+        //鑷埛鏂�
+        if (context.BoRefresh.HasValue)
+        {
+            PLCTaskAction.boRefresh = context.BoRefresh.Value;
+            await _sysConfigService.UpdateConfigValue("sys_Refresh", context.BoRefresh.Value);
+        }
+        await _plcHubContext.Clients.All.UpdateService(new PLCServiceModel() { BoRunningState = PLCTaskAction.boRunningState, BoRefresh = PLCTaskAction.boRefresh, BoOffline = PLCTaskAction.boOffline });
+    }
 }
+public class PLCServiceModel
+{
+    public bool? BoRunningState { get; set; }
+
+
+    public bool? BoOffline { get; set; }
+
+
+    public bool? BoRefresh { get; set; }
+}
\ No newline at end of file

--
Gitblit v1.8.0