From 9ca96199d92168fe221dda9aba56f55520a561d8 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期二, 29 十月 2024 17:30:59 +0800 Subject: [PATCH] 1 --- WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/QuartzJobHostedService.cs | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/QuartzJobHostedService.cs b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/QuartzJobHostedService.cs index 887a448..31ef5bb 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/QuartzJobHostedService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzExtensions/QuartzJobHostedService.cs @@ -15,6 +15,7 @@ *----------------------------------------------------------------*/ #endregion << 鐗� 鏈� 娉� 閲� >> +using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using System; @@ -24,6 +25,7 @@ using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core; +using WIDESEAWCS_Core.Helper; using WIDESEAWCS_QuartzJob.DeviceBase; using WIDESEAWCS_QuartzJob.DTO; using WIDESEAWCS_QuartzJob.Models; @@ -62,13 +64,14 @@ deviceInfos.ForEach(x => { - if(dispatches.Exists(d=>d.JobGroup == x.DeviceType)) + if (dispatches.Exists(d => d.JobGroup == x.DeviceType)) { #region 杩炴帴PLC Assembly assembly = Assembly.Load($"WIDESEAWCS_Communicator"); - Type type = assembly.GetType($"WIDESEAWCS_Communicator.{x.DevicePlcType}"); - object obj = Activator.CreateInstance(type, new object[] { x.DeviceIp, x.DevicePort, x.DeviceName }); - type.InvokeMember("Connect", BindingFlags.Default | BindingFlags.InvokeMethod, null, obj, new object[] { }); + Type? type = assembly.GetType($"WIDESEAWCS_Communicator.{x.DevicePlcType}"); + object? obj = Activator.CreateInstance(type, new object[] { x.DeviceIp, x.DevicePort, x.DeviceName }); + bool? connectResult = (bool)type.InvokeMember("Connect", BindingFlags.Default | BindingFlags.InvokeMethod, null, obj, new object[] { }); + if (connectResult ?? false) ConsoleHelper.WriteSuccessLine(x.DeviceCode + "杩炴帴鎴愬姛"); else ConsoleHelper.WriteErrorLine(x.DeviceCode + "杩炴帴澶辫触"); #endregion @@ -86,6 +89,7 @@ DeviceProParamDes = d.DeviceProParamDes, DeviceProParamName = d.DeviceProParamName, DeviceProParamType = d.DeviceProParamType, + DevicePlcType = x.DevicePlcType }).ToList(); List<DeviceProtocolDetailDTO> deviceProtocolDetails = _deviceProtocolDetailService.GetDeviceProtocolDetailsByDeviceType(x.DeviceType); @@ -97,14 +101,15 @@ x.Device = (IDevice)deviceInstance; - DevicesStorage.Devices.Add((IDevice)deviceInstance); + Storage.Devices.Add((IDevice)deviceInstance); } }); for (int i = 0; i < dispatches.Count; i++) { - DeviceInfoDTO? deviceProInfo = deviceInfos.FirstOrDefault(x => x.DeviceType == dispatches[i].JobGroup); + DeviceInfoDTO? deviceProInfo = deviceInfos.FirstOrDefault(x => x.Id == dispatches[i].Id); dispatches[i].JobParams = deviceProInfo?.Device; WebResponseContent responseContent = await _schedulerCenter.AddScheduleJobAsync(dispatches[i]); + if (responseContent.Status) ConsoleHelper.WriteSuccessLine(dispatches[i].JobGroup + "璋冨害鏈嶅姟娣诲姞鎴愬姛"); else ConsoleHelper.WriteErrorLine(dispatches[i].JobGroup + "璋冨害鏈嶅姟娣诲姞澶辫触"); } await _schedulerCenter.StartScheduleAsync(); } -- Gitblit v1.9.3