From a14309828e2f74176dff2a1b205c4ca4a00f31ed Mon Sep 17 00:00:00 2001 From: wenjy Date: Sat, 14 Sep 2024 08:48:10 +0800 Subject: [PATCH] =?UTF-8?q?Init=20-=20=E5=88=9D=E5=A7=8B=E5=8C=96=E4=BB=93?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SlnMesnac.Business/SlnMesnac.Business.csproj | 5 - SlnMesnac.Business/base/BaseBusiness.cs | 106 ------------ SlnMesnac.Extensions/PlcFactorySetup.cs | 131 -------------- SlnMesnac.Extensions/RfidFactorySetup.cs | 87 ---------- .../SlnMesnac.Extensions.csproj | 3 +- SlnMesnac.Ioc/DependencyConfigurator.cs | 12 -- SlnMesnac.TouchSocket/ApiServer.cs | 109 ------------ SlnMesnac.TouchSocket/TouchSocketSetup.cs | 2 - SlnMesnac.TouchSocket/WebApiServer.cs | 112 ------------ SlnMesnac.WPF/App.xaml.cs | 4 - SlnMesnac.WPF/MainWindow.xaml | 1 - .../Page/Generate/GenerateControl.xaml | 56 ------ .../Page/Generate/GenerateControl.xaml.cs | 30 ---- SlnMesnac.WPF/SlnMesnac.WPF.csproj | 8 +- SlnMesnac.WPF/Startup.cs | 9 - .../Generate/GenerateControlViewModel.cs | 163 ------------------ .../ViewModel/MainWindowViewModel.cs | 6 +- SlnMesnac.sln | 38 +--- 18 files changed, 7 insertions(+), 875 deletions(-) delete mode 100644 SlnMesnac.Business/base/BaseBusiness.cs delete mode 100644 SlnMesnac.Extensions/PlcFactorySetup.cs delete mode 100644 SlnMesnac.Extensions/RfidFactorySetup.cs delete mode 100644 SlnMesnac.TouchSocket/ApiServer.cs delete mode 100644 SlnMesnac.TouchSocket/WebApiServer.cs delete mode 100644 SlnMesnac.WPF/Page/Generate/GenerateControl.xaml delete mode 100644 SlnMesnac.WPF/Page/Generate/GenerateControl.xaml.cs delete mode 100644 SlnMesnac.WPF/ViewModel/Generate/GenerateControlViewModel.cs diff --git a/SlnMesnac.Business/SlnMesnac.Business.csproj b/SlnMesnac.Business/SlnMesnac.Business.csproj index 4e2cf5e..8ef8970 100644 --- a/SlnMesnac.Business/SlnMesnac.Business.csproj +++ b/SlnMesnac.Business/SlnMesnac.Business.csproj @@ -5,9 +5,4 @@ enable - - - - - diff --git a/SlnMesnac.Business/base/BaseBusiness.cs b/SlnMesnac.Business/base/BaseBusiness.cs deleted file mode 100644 index 644ff4d..0000000 --- a/SlnMesnac.Business/base/BaseBusiness.cs +++ /dev/null @@ -1,106 +0,0 @@ -using SlnMesnac.Plc; -using SlnMesnac.Rfid; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -#region << 版 本 注 释 >> -/*-------------------------------------------------------------------- -* 版权所有 (c) 2024 WenJY 保留所有权利。 -* CLR版本:4.0.30319.42000 -* 机器名称:LAPTOP-E0N2L34V -* 命名空间:SlnMesnac.Business.base -* 唯一标识:b00d95c1-a164-43a3-9f34-2a5d2efb3f34 -* -* 创建者:WenJY -* 电子邮箱:wenjy@mesnac.com -* 创建时间:2024-04-12 17:36:19 -* 版本:V1.0.0 -* 描述: -* -*-------------------------------------------------------------------- -* 修改人: -* 时间: -* 修改说明: -* -* 版本:V1.0.0 -*--------------------------------------------------------------------*/ -#endregion << 版 本 注 释 >> -namespace SlnMesnac.Business.@base -{ - internal class BaseBusiness - { - private readonly List _plcFactories; - - private readonly List _rfidFactories; - - public BaseBusiness(List plcFactories, List rfidFactories) - { - _plcFactories = plcFactories; - _rfidFactories = rfidFactories; - } - - /// - /// 根据Key获取PLC连接信息 - /// - /// - /// - /// - /// - public PlcAbsractFactory GetPlcByKey(string key) - { - if(_plcFactories == null) - { - throw new ArgumentNullException($"根据Key获取PLC连接信息异常:PLC 连接信息为空"); - } - - if (string.IsNullOrEmpty(key)) - { - throw new ArgumentNullException("根据Key获取PLC连接信息异常:设备Key参数为空"); - } - - try - { - var info = _plcFactories.Where(x => x.ConfigKey == key).FirstOrDefault(); - - return info; - }catch(Exception ex) - { - throw new InvalidOperationException($"根据Key获取PLC连接信息异常:{ex.Message}"); - } - } - - - /// - /// 根据Key获取Rfid连接信息 - /// - /// - /// - /// - /// - public RfidAbsractFactory GetRfidByKey(string key) - { - if (_rfidFactories == null) - { - throw new ArgumentNullException($"根据Key获取RFID连接信息异常:PLC 连接信息为空"); - } - - if (string.IsNullOrEmpty(key)) - { - throw new ArgumentNullException("根据Key获取RFID连接信息异常:设备Key参数为空"); - } - - try - { - var info = _rfidFactories.Where(x => x.ConfigKey == key).FirstOrDefault(); - - return info; - } - catch (Exception ex) - { - throw new InvalidOperationException($"根据Key获取RFID连接信息异常:{ex.Message}"); - } - } - } -} diff --git a/SlnMesnac.Extensions/PlcFactorySetup.cs b/SlnMesnac.Extensions/PlcFactorySetup.cs deleted file mode 100644 index 3298593..0000000 --- a/SlnMesnac.Extensions/PlcFactorySetup.cs +++ /dev/null @@ -1,131 +0,0 @@ -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.DependencyInjection; -using Serilog; -using SlnMesnac.Config; -using SlnMesnac.Plc; -using SlnMesnac.Plc.Factory; -using System; -using System.Collections.Generic; -using System.Text; - -#region << 版 本 注 释 >> -/*-------------------------------------------------------------------- -* 版权所有 (c) 2024 WenJY 保留所有权利。 -* CLR版本:4.0.30319.42000 -* 机器名称:LAPTOP-E0N2L34V -* 命名空间:SlnMesnac.Extensions -* 唯一标识:9bf604b4-3937-476a-adb0-27adc6fbea28 -* -* 创建者:WenJY -* 电子邮箱:wenjy@mesnac.com -* 创建时间:2024-04-12 15:25:47 -* 版本:V1.0.0 -* 描述: -* -*-------------------------------------------------------------------- -* 修改人: -* 时间: -* 修改说明: -* -* 版本:V1.0.0 -*--------------------------------------------------------------------*/ -#endregion << 版 本 注 释 >> -namespace SlnMesnac.Extensions -{ - /// - /// PLC工厂 - /// - public static class PlcFactorySetup - { - - public static void AddPlcFactorySetup(this IServiceCollection services) - { - services.AddSingleton>(x => - { - AppConfig appConfig = x.GetService(); - - List absractFactories = new List(); - - try - { - do - { - if (!HslCommunication.Authorization.SetAuthorizationCode("1839541f-8fb4-42c4-a13f-733b027fe5af")) - { - Log.Information("HslCommunication激活失败,可用时长为24小时"); - break; - } - else - { - Log.Information("HslCommunication激活成功"); - } - - if (appConfig.plcConfig != null) - { - foreach (var item in appConfig.plcConfig) - { - if (item.isFlage) - { - PlcAbsractFactory _plc = InitPlc(x, item.plcType); - - var connectResult = _plc.Connect(item.plcIp, item.plcPort); - if (connectResult) - { - Log.Information($"PLC:{item.plcIp}:{item.plcPort};连接成功,时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); - _plc.ConfigKey = item.plcKey; - - if (absractFactories.Contains(_plc)) - { - absractFactories.Remove(_plc); - } - - absractFactories.Add(_plc); - } - else - { - Log.Information($"PLC:{item.plcIp}:{item.plcPort};连接失败,时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); - } - } - } - } - }while(false); - } - catch (Exception e) - { - Log.Error($"PLC初始化连接异常:{e.Message}"); - } - - return absractFactories; - }); - } - - private static PlcAbsractFactory InitPlc(IServiceProvider serviceProvider,string plcType) - { - PlcAbsractFactory _plc = null; - var _inovance = serviceProvider.GetRequiredService(); - var _melsecBinary = serviceProvider.GetRequiredService(); - var _omronNj = serviceProvider.GetRequiredService(); - var _siemens = serviceProvider.GetRequiredService(); - - switch (plcType) - { - case "InovancePlc": - _plc = _inovance; - break; - case "MelsecBinaryPlc": - _plc = _melsecBinary; - break; - case "OmronNJPlc": - _plc = _omronNj; - break; - case "SiemensPlc": - _plc = _siemens; - break; - default: - break; - } - - return _plc; - } - } -} diff --git a/SlnMesnac.Extensions/RfidFactorySetup.cs b/SlnMesnac.Extensions/RfidFactorySetup.cs deleted file mode 100644 index ac5e29f..0000000 --- a/SlnMesnac.Extensions/RfidFactorySetup.cs +++ /dev/null @@ -1,87 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Serilog; -using SlnMesnac.Config; -using SlnMesnac.Plc; -using SlnMesnac.Rfid; -using SlnMesnac.Rfid.Factory; -using System; -using System.Collections.Generic; -using System.Text; - -#region << 版 本 注 释 >> -/*-------------------------------------------------------------------- -* 版权所有 (c) 2024 WenJY 保留所有权利。 -* CLR版本:4.0.30319.42000 -* 机器名称:LAPTOP-E0N2L34V -* 命名空间:SlnMesnac.Extensions -* 唯一标识:007aaf92-2adf-42a1-8b64-4e02925e3d5b -* -* 创建者:WenJY -* 电子邮箱:wenjy@mesnac.com -* 创建时间:2024-04-12 17:08:27 -* 版本:V1.0.0 -* 描述: -* -*-------------------------------------------------------------------- -* 修改人: -* 时间: -* 修改说明: -* -* 版本:V1.0.0 -*--------------------------------------------------------------------*/ -#endregion << 版 本 注 释 >> -namespace SlnMesnac.Extensions -{ - public static class RfidFactorySetup - { - public static void AddRfidFactorySetup(this IServiceCollection services) - { - services.AddSingleton>(x => - { - AppConfig appConfig = x.GetService(); - List absractFactories = new List(); - - try - { - if (appConfig.rfidConfig != null) - { - foreach (var item in appConfig.rfidConfig) - { - if (item.isFlage) - { - RfidAbsractFactory _rfid = x.GetService(); - bool connectResult = _rfid.Connect(item.equipIp, item.equipPort); - if (connectResult) - { - Log.Information($"RFID:{item.equipIp}:{item.equipPort};连接成功,时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); - _rfid.ConfigKey = item.equipKey; - - if (absractFactories.Contains(_rfid)) - { - absractFactories.Remove(_rfid); - } - - absractFactories.Add(_rfid); - } - else - { - Log.Information($"RFID:{item.equipIp}:{item.equipPort};连接失败,时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); - } - } - } - } - else - { - Log.Error("RFID配置信息为空"); - } - } - catch (Exception e) - { - Log.Error($"RFID初始化连接异常:{e.Message}"); - } - - return absractFactories; - }); - } - } -} diff --git a/SlnMesnac.Extensions/SlnMesnac.Extensions.csproj b/SlnMesnac.Extensions/SlnMesnac.Extensions.csproj index cd6c9bd..5f586a4 100644 --- a/SlnMesnac.Extensions/SlnMesnac.Extensions.csproj +++ b/SlnMesnac.Extensions/SlnMesnac.Extensions.csproj @@ -7,8 +7,7 @@ - - + diff --git a/SlnMesnac.Ioc/DependencyConfigurator.cs b/SlnMesnac.Ioc/DependencyConfigurator.cs index 6234bb9..d995721 100644 --- a/SlnMesnac.Ioc/DependencyConfigurator.cs +++ b/SlnMesnac.Ioc/DependencyConfigurator.cs @@ -42,27 +42,15 @@ namespace SlnMesnac.Ioc builder.RegisterGeneric(typeof(Repository<>)).As(typeof(Repository<>)); RegisterImplementations(builder, Assembly.LoadFrom("SlnMesnac.Repository.dll")); - //注入Plc - RegisterTypeTransient(builder, Assembly.LoadFrom("SlnMesnac.Plc.dll")); - - //注入Rfid - RegisterTypeTransient(builder, Assembly.LoadFrom("SlnMesnac.Rfid.dll")); - //注入通用类 RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Common.dll")); - //注入MQTT - RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Mqtt.dll")); - //注入TouchSocket builder.RegisterType(typeof(TcpService)); RegisterType(builder, Assembly.LoadFrom("SlnMesnac.TouchSocket.dll")); //注入业务类 RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Business.dll")); - - //注入代码生成 - RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Generate.dll")); } diff --git a/SlnMesnac.TouchSocket/ApiServer.cs b/SlnMesnac.TouchSocket/ApiServer.cs deleted file mode 100644 index d704959..0000000 --- a/SlnMesnac.TouchSocket/ApiServer.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using TouchSocket.Rpc; -using TouchSocket.WebApi; - -#region << 版 本 注 释 >> -/*-------------------------------------------------------------------- -* 版权所有 (c) 2024 WenJY 保留所有权利。 -* CLR版本:4.0.30319.42000 -* 机器名称:T14-GEN3-7895 -* 命名空间:SlnMesnac.TouchSocket -* 唯一标识:649766cc-308e-4bf3-8d69-dea48ec40642 -* -* 创建者:WenJY -* 电子邮箱: -* 创建时间:2024-09-04 10:51:54 -* 版本:V1.0.0 -* 描述: -* -*-------------------------------------------------------------------- -* 修改人: -* 时间: -* 修改说明: -* -* 版本:V1.0.0 -*--------------------------------------------------------------------*/ -#endregion << 版 本 注 释 >> -namespace SlnMesnac.TouchSocket -{ - public class ApiServer: RpcServer - { - - public delegate void RefreshScanInfoInCenterStart(); - /// - /// 入库开始事件刷新 - /// - public event RefreshScanInfoInCenterStart RefreshScanInfoInCenterStartEvent; - - public delegate void RefreshScanInfoInCenterStop(); - /// - /// 入库结束事件刷新 - /// - public event RefreshScanInfoInCenterStop RefreshScanInfoInCenterStopEvent; - - public delegate void RefreshScanInfoOutCenterStart(); - /// - /// 出库开始事件刷新 - /// - public event RefreshScanInfoOutCenterStart RefreshScanInfoOutCenterStartEvent; - - public delegate void RefreshScanInfoOutCenterStop(); - /// - /// 出库结束事件刷新 - /// - public event RefreshScanInfoOutCenterStop RefreshScanInfoOutCenterStopEvent; - - /// - /// 入库开始 - /// - /// - /// - [EnableCors("cors")] - [WebApi(HttpMethodType.POST)] - public object getScanInfoInCenterStart(string messageHeader) - { - RefreshScanInfoInCenterStartEvent?.Invoke(); - return true; - } - - /// - /// 入库结束 - /// - /// - /// - [EnableCors("cors")] - [WebApi(HttpMethodType.POST)] - public object getScanInfoInCenterStop(string messageHeader) - { - RefreshScanInfoInCenterStopEvent?.Invoke(); - return true; - } - - /// - /// 出库开始 - /// - /// - /// - [WebApi(HttpMethodType.POST)] - public object getScanInfoOutCenterStart(string messageHeader) - { - RefreshScanInfoOutCenterStartEvent?.Invoke(); - return true; - } - - /// - /// 出库结束 - /// - /// - /// - [WebApi(HttpMethodType.POST)] - public object getScanInfoOutCenterStop(string messageHeader) - { - RefreshScanInfoOutCenterStopEvent?.Invoke(); - return true; - } - - } -} diff --git a/SlnMesnac.TouchSocket/TouchSocketSetup.cs b/SlnMesnac.TouchSocket/TouchSocketSetup.cs index 637d77f..de34f28 100644 --- a/SlnMesnac.TouchSocket/TouchSocketSetup.cs +++ b/SlnMesnac.TouchSocket/TouchSocketSetup.cs @@ -40,8 +40,6 @@ namespace SlnMesnac.TouchSocket var _server = app.ApplicationServices.GetService(); _server.Init(20108); - var _apiServer = app.ApplicationServices.GetService(); - _apiServer.Init(); return app; } } diff --git a/SlnMesnac.TouchSocket/WebApiServer.cs b/SlnMesnac.TouchSocket/WebApiServer.cs deleted file mode 100644 index 7c85740..0000000 --- a/SlnMesnac.TouchSocket/WebApiServer.cs +++ /dev/null @@ -1,112 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using TouchSocket.Core; -using TouchSocket.Http; -using TouchSocket.Rpc; -using TouchSocket.Sockets; -using TouchSocket.WebApi.Swagger; - -#region << 版 本 注 释 >> -/*-------------------------------------------------------------------- -* 版权所有 (c) 2024 WenJY 保留所有权利。 -* CLR版本:4.0.30319.42000 -* 机器名称:T14-GEN3-7895 -* 命名空间:SlnMesnac.TouchSocket -* 唯一标识:4e47989b-9d43-426e-b67a-529de3b1b0e8 -* -* 创建者:WenJY -* 电子邮箱: -* 创建时间:2024-09-04 10:51:29 -* 版本:V1.0.0 -* 描述: -* -*-------------------------------------------------------------------- -* 修改人: -* 时间: -* 修改说明: -* -* 版本:V1.0.0 -*--------------------------------------------------------------------*/ -#endregion << 版 本 注 释 >> -namespace SlnMesnac.TouchSocket -{ - public class WebApiServer - { - private ApiServer _apiServer; - - public WebApiServer(ApiServer apiServer) - { - _apiServer = apiServer; - } - - public void Init() - { - try - { - var service = new HttpService(); - service.Setup(new TouchSocketConfig() - .SetListenIPHosts(7789) - .ConfigureContainer(a => - { - a.AddRpcStore(store => - { - - store.RegisterServer(_apiServer);//注册服务 - }); - - a.AddCors(corsOption => - { - corsOption.Add("cors", corsBuilder => - { - corsBuilder.AllowAnyMethod() - .AllowAnyOrigin(); - }); - }); - - a.AddLogger(logger => - { - logger.AddConsoleLogger(); - logger.AddFileLogger(); - }); - }) - .ConfigurePlugins(a => - { - a.UseCheckClear(); - - a.Add(); - - a.UseWebApi() - .ConfigureConverter(converter => - { - converter.AddJsonSerializerFormatter(new Newtonsoft.Json.JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.None }); - }); - - a.UseSwagger();//使用Swagger页面 - //.UseLaunchBrowser(); - - a.UseDefaultHttpServicePlugin(); - })); - service.Start(); - - Console.WriteLine("以下连接用于测试webApi"); - Console.WriteLine($"使用:http://127.0.0.1:7789/swagger/index.html"); - } - catch (Exception ex) - { - Console.WriteLine(ex.ToString()); - } - - //Console.ReadLine(); - } - } - - internal class AuthenticationPlugin : PluginBase, IHttpPlugin - { - public async Task OnHttpRequest(IHttpSocketClient client, HttpContextEventArgs e) - { - await e.InvokeNext(); - } - } -} diff --git a/SlnMesnac.WPF/App.xaml.cs b/SlnMesnac.WPF/App.xaml.cs index ec3de3a..2b8b38b 100644 --- a/SlnMesnac.WPF/App.xaml.cs +++ b/SlnMesnac.WPF/App.xaml.cs @@ -7,10 +7,6 @@ using SlnMesnac.Config; using System; using System.Windows; using Autofac.Extensions.DependencyInjection; -using SlnMesnac.Plc; -using System.Collections.Generic; -using SlnMesnac.Rfid; - namespace SlnMesnac.WPF { /// diff --git a/SlnMesnac.WPF/MainWindow.xaml b/SlnMesnac.WPF/MainWindow.xaml index 150870a..6c6a0a4 100644 --- a/SlnMesnac.WPF/MainWindow.xaml +++ b/SlnMesnac.WPF/MainWindow.xaml @@ -62,7 +62,6 @@