using Microsoft.AspNetCore.SignalR; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WCS.Application.Hub; using WCS.Application.Service.WcsDevice.Dto; namespace WCS.Application; public static class HubUtil { private static readonly IHubContext _plcHubContext = App.GetService>(); private static readonly IHubContext _plcDeviceHubContext = App.GetService>(); private static readonly IHubContext _taskLogHubContext = App.GetService>(); private static readonly IHubContext _checkTaskHubContext = App.GetService>(); /// /// 下发PLC连接状态 /// /// /// public static async Task PublicPlcConn(WcsPlc context) { if (PLCTaskAction.boRefresh) await _plcHubContext.Clients.All.PublicPlcConn(context); } /// /// 下发报警信息 /// /// /// public static async Task PublicAlarm(List context) { if (PLCTaskAction.boRefresh) await _plcHubContext.Clients.All.PublicAlarm(context); } /// /// 修改服务状态 /// /// public static async Task UpdateService(PLCServiceModel context) { if (PLCTaskAction.boRefresh) await _plcHubContext.Clients.All.UpdateService(context); } /// /// 下发控制台位置信息 /// /// /// public static async Task PublicPosition(PlcPositionInfo context) { if (PLCTaskAction.boRefresh) await _plcHubContext.Clients.All.PublicPosition(context); } /// /// 下发任务 /// /// public static async Task PublicTask(WcsTaskOutput context) { if (PLCTaskAction.boRefresh) await _taskLogHubContext.Clients.All.PublicTask(context); } /// /// 下发任务明细 /// /// public static async Task PublicTaskMonitor(WcsTaskMonitorOutput context) { if (PLCTaskAction.boRefresh) await _taskLogHubContext.Clients.All.PublicTaskMonitor(context); } /// /// 下发设备信息 /// /// /// public static async Task PublicPlcDevice(WcsDeviceOutput context) { if (PLCTaskAction.boRefresh) await _plcDeviceHubContext.Clients.All.PublicPlcDevice(context); } /// /// 下发分拣任务信息 /// /// /// public static async Task PublicCheckTask(WcsDeviceTaskOrderDto context) { if (PLCTaskAction.boRefresh) await _checkTaskHubContext.Clients.All.PublicCheckTask(context); } }