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