Преглед на файлове

修改结果类型
优化细节

Shun преди 2 години
родител
ревизия
601135ab08
променени са 24 файла, в които са добавени 140 реда и са изтрити 165 реда
  1. 2 2
      src/YSAI.DAQ/YSAI.Core/YSAI.Core.csproj
  2. 5 5
      src/YSAI.DAQ/YSAI.Core/communication/net/tcp/client/TcpClientOperate.cs
  3. 9 9
      src/YSAI.DAQ/YSAI.Core/communication/net/tcp/service/TcpServiceOperate.cs
  4. 7 7
      src/YSAI.DAQ/YSAI.Core/communication/net/udp/UdpOperate.cs
  5. 5 5
      src/YSAI.DAQ/YSAI.Core/communication/net/ws/client/WsClientOperate.cs
  6. 9 9
      src/YSAI.DAQ/YSAI.Core/communication/net/ws/service/WsServiceOperate.cs
  7. 5 5
      src/YSAI.DAQ/YSAI.Core/communication/serial/SerialOperate.cs
  8. 4 2
      src/YSAI.DAQ/YSAI.Core/data/AddressValue.cs
  9. 1 1
      src/YSAI.DAQ/YSAI.Core/data/EventResult.cs
  10. 1 1
      src/YSAI.DAQ/YSAI.Core/data/OperateResult.cs
  11. 2 2
      src/YSAI.DAQ/YSAI.Core/data/Result.cs
  12. 12 8
      src/YSAI.DAQ/YSAI.Core/enum/Enums.cs
  13. 6 6
      src/YSAI.DAQ/YSAI.Core/interface/IOrAbstract.cs
  14. 1 1
      src/YSAI.DAQ/YSAI.Core/redis/RedisOperate.cs
  15. 3 3
      src/YSAI.DAQ/YSAI.Core/reflection/RIOperate.cs
  16. 1 1
      src/YSAI.DAQ/YSAI.Core/reflection/ReflectionOperate.cs
  17. 1 1
      src/YSAI.DAQ/YSAI.Core/script/ScriptOperate.cs
  18. 4 4
      src/YSAI.DAQ/YSAI.Core/subscribe/SubscribeOperate.cs
  19. 1 1
      src/YSAI.DAQ/YSAI.Opc/YSAI.Opc.csproj
  20. 8 19
      src/YSAI.DAQ/YSAI.Opc/ua/client/OpcUaClientOperate.cs
  21. 8 15
      src/YSAI.DAQ/YSAI.Test.All/Program.cs
  22. 43 28
      src/YSAI.DAQ/YSAI.Unility/ExtensionTool.cs
  23. 1 29
      src/YSAI.DAQ/YSAI.Unility/JsonTool.cs
  24. 1 1
      src/YSAI.DAQ/YSAI.Unility/YSAI.Unility.csproj

+ 2 - 2
src/YSAI.DAQ/YSAI.Core/YSAI.Core.csproj

@@ -5,7 +5,7 @@
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-    <Version>1.0.0.40</Version>
+    <Version>1.0.0.41</Version>
     <Authors>Shun</Authors>
     <Company>YSAI</Company>
     <Product>SCADA</Product>
@@ -17,7 +17,7 @@
 		<PackageReference Include="Microsoft.ClearScript" Version="7.4.3" />
 		<PackageReference Include="System.IO.Ports" Version="7.0.0" />
 		<PackageReference Include="YSAI.Log" Version="1.0.0.9" />
-		<PackageReference Include="YSAI.Unility" Version="1.0.0.13" />
+		<PackageReference Include="YSAI.Unility" Version="1.0.0.14" />
 	</ItemGroup>
 
 </Project>

+ 5 - 5
src/YSAI.DAQ/YSAI.Core/communication/net/tcp/client/TcpClientOperate.cs

@@ -222,7 +222,7 @@ namespace YSAI.Core.communication.net.tcp.client
             }
             catch (Exception ex)
             {
-                return Break("On", false, ex.Message, Exc: ex);
+                return Break("On", false, ex.Message, Exception: ex);
             }
         }
 
@@ -270,7 +270,7 @@ namespace YSAI.Core.communication.net.tcp.client
             }
             catch (Exception ex)
             {
-                return Break("Off", false, ex.Message, Exc: ex);
+                return Break("Off", false, ex.Message, Exception: ex);
             }
         }
 
@@ -296,7 +296,7 @@ namespace YSAI.Core.communication.net.tcp.client
             }
             catch (Exception ex)
             {
-                return Break("Send", false, ex.Message, Exc: ex);
+                return Break("Send", false, ex.Message, Exception: ex);
             }
         }
 
@@ -362,7 +362,7 @@ namespace YSAI.Core.communication.net.tcp.client
             }
             catch (Exception ex)
             {
-                return Break("SendWait", false, ex.Message, Exc: ex);
+                return Break("SendWait", false, ex.Message, Exception: ex);
             }
         }
 
@@ -376,7 +376,7 @@ namespace YSAI.Core.communication.net.tcp.client
             Depart("GetObject");
             if (Communication != null && Communication.Connected)
             {
-                return Break("GetObject", true, RData: Communication, RType: @enum.ResultType.All);
+                return Break("GetObject", true, RData: Communication, RType: @enum.ResultType.Object);
             }
             return Break("GetObject", false, "未连接");
         }

+ 9 - 9
src/YSAI.DAQ/YSAI.Core/communication/net/tcp/service/TcpServiceOperate.cs

@@ -157,7 +157,7 @@ namespace YSAI.Core.communication.net.tcp.service
                         }
                         else
                         {
-                            OnEventHandler(this, new EventResult(false, $"[{IpPort}]发来的数据长度错误(小于等于零),已强制关闭连接", new TcpServiceData.ClientMessage { Step = TcpServiceData.Steps.客户端断开, IpPort = IpPort }, @enum.ResultType.All));
+                            OnEventHandler(this, new EventResult(false, $"[{IpPort}]发来的数据长度错误(小于等于零),已强制关闭连接", new TcpServiceData.ClientMessage { Step = TcpServiceData.Steps.客户端断开, IpPort = IpPort }, @enum.ResultType.Object));
                             //移除此客户端
                             RemoveAsync(IpPort);
                             return;
@@ -165,7 +165,7 @@ namespace YSAI.Core.communication.net.tcp.service
                     }
                     catch (Exception ex)
                     {
-                        OnEventHandler(this, new EventResult(false, $"监控[{IpPort}]消息异常:{ex.Message}", new TcpServiceData.ClientMessage { Step = TcpServiceData.Steps.客户端断开, IpPort = IpPort }, @enum.ResultType.All));
+                        OnEventHandler(this, new EventResult(false, $"监控[{IpPort}]消息异常:{ex.Message}", new TcpServiceData.ClientMessage { Step = TcpServiceData.Steps.客户端断开, IpPort = IpPort }, @enum.ResultType.Object));
                         //移除此客户端
                         RemoveAsync(IpPort);
                         return;
@@ -200,7 +200,7 @@ namespace YSAI.Core.communication.net.tcp.service
             }
             catch (Exception ex)
             {
-                return Break("On", false, ex.Message, Exc: ex);
+                return Break("On", false, ex.Message, Exception: ex);
             }
         }
 
@@ -251,7 +251,7 @@ namespace YSAI.Core.communication.net.tcp.service
             }
             catch (Exception ex)
             {
-                return Break("Off", false, ex.Message, Exc: ex);
+                return Break("Off", false, ex.Message, Exception: ex);
             }
         }
 
@@ -283,7 +283,7 @@ namespace YSAI.Core.communication.net.tcp.service
             }
             catch (Exception ex)
             {
-                return Break("Remove", false, ex.Message, Exc: ex);
+                return Break("Remove", false, ex.Message, Exception: ex);
             }
         }
         /// <summary>
@@ -325,7 +325,7 @@ namespace YSAI.Core.communication.net.tcp.service
 
                         if (Message.Count > 0)
                         {
-                            return Break("Send", false, "存在失败数据", Message, @enum.ResultType.All);
+                            return Break("Send", false, "存在失败数据", Message, @enum.ResultType.Object);
                         }
                     }
                     else
@@ -335,12 +335,12 @@ namespace YSAI.Core.communication.net.tcp.service
                         {
                             if (ClientIoc[IpPort].SocketObj.Send(Data) <= 0)
                             {
-                                return Break("Send", false, $"数据发送[{IpPort}]失败", Message, @enum.ResultType.All);
+                                return Break("Send", false, $"数据发送[{IpPort}]失败", Message, @enum.ResultType.Object);
                             }
                         }
                         else
                         {
-                            return Break("Send", false, $"数据发送失败,[{IpPort}]不存在", Message, @enum.ResultType.All);
+                            return Break("Send", false, $"数据发送失败,[{IpPort}]不存在", Message, @enum.ResultType.Object);
                         }
                     }
                     return Break("Send", true);
@@ -352,7 +352,7 @@ namespace YSAI.Core.communication.net.tcp.service
             }
             catch (Exception ex)
             {
-                return Break("Send", false, ex.Message, Exc: ex);
+                return Break("Send", false, ex.Message, Exception: ex);
             }
         }
 

+ 7 - 7
src/YSAI.DAQ/YSAI.Core/communication/net/udp/UdpOperate.cs

@@ -162,7 +162,7 @@ namespace YSAI.Core.communication.net.udp
             }
             catch (Exception ex)
             {
-                return Break("On", false, ex.Message, Exc: ex);
+                return Break("On", false, ex.Message, Exception: ex);
             }
         }
 
@@ -200,7 +200,7 @@ namespace YSAI.Core.communication.net.udp
             }
             catch (Exception ex)
             {
-                return Break("Off", false, ex.Message, Exc: ex);
+                return Break("Off", false, ex.Message, Exception: ex);
             }
         }
 
@@ -235,7 +235,7 @@ namespace YSAI.Core.communication.net.udp
             }
             catch (Exception ex)
             {
-                return Break("Send", false, ex.Message, Exc: ex);
+                return Break("Send", false, ex.Message, Exception: ex);
             }
         }
         public Task<OperateResult> SendAsync(byte[] Data)
@@ -271,7 +271,7 @@ namespace YSAI.Core.communication.net.udp
             }
             catch (Exception ex)
             {
-                return Break("Send", false, ex.Message, Exc: ex);
+                return Break("Send", false, ex.Message, Exception: ex);
             }
         }
         public Task<OperateResult> SendAsync(byte[] Data, IPEndPoint iPEndPoint)
@@ -338,7 +338,7 @@ namespace YSAI.Core.communication.net.udp
             }
             catch (Exception ex)
             {
-                return Break("SendWait", false, ex.Message, Exc: ex);
+                return Break("SendWait", false, ex.Message, Exception: ex);
             }
         }
 
@@ -405,7 +405,7 @@ namespace YSAI.Core.communication.net.udp
             }
             catch (Exception ex)
             {
-                return Break("SendWait", false, ex.Message, Exc: ex);
+                return Break("SendWait", false, ex.Message, Exception: ex);
             }
         }
 
@@ -421,7 +421,7 @@ namespace YSAI.Core.communication.net.udp
             Depart("GetObject");
             if (Communication != null)
             {
-                return Break("GetObject", true, RData: Communication, RType: @enum.ResultType.All);
+                return Break("GetObject", true, RData: Communication, RType: @enum.ResultType.Object);
             }
             return Break("GetObject", false, "未连接");
         }

+ 5 - 5
src/YSAI.DAQ/YSAI.Core/communication/net/ws/client/WsClientOperate.cs

@@ -211,7 +211,7 @@ namespace YSAI.Core.communication.net.ws.client
             }
             catch (Exception ex)
             {
-                return Break("On", false, ex.Message, Exc: ex);
+                return Break("On", false, ex.Message, Exception: ex);
             }
         }
 
@@ -278,7 +278,7 @@ namespace YSAI.Core.communication.net.ws.client
             }
             catch (Exception ex)
             {
-                return Break("Off", false, ex.Message, Exc: ex);
+                return Break("Off", false, ex.Message, Exception: ex);
             }
         }
 
@@ -305,7 +305,7 @@ namespace YSAI.Core.communication.net.ws.client
             }
             catch (Exception ex)
             {
-                return Break("Send", false, ex.Message, Exc: ex);
+                return Break("Send", false, ex.Message, Exception: ex);
             }
         }
 
@@ -365,7 +365,7 @@ namespace YSAI.Core.communication.net.ws.client
             }
             catch (Exception ex)
             {
-                return Break("SendWait", false, ex.Message, Exc: ex);
+                return Break("SendWait", false, ex.Message, Exception: ex);
             }
         }
 
@@ -379,7 +379,7 @@ namespace YSAI.Core.communication.net.ws.client
             Depart("GetObject");
             if (Communication != null && Communication.State.Equals(WebSocketState.Open))
             {
-                return Break("GetObject", true, RData: Communication, RType: @enum.ResultType.All);
+                return Break("GetObject", true, RData: Communication, RType: @enum.ResultType.Object);
             }
             return Break("GetObject", false, "未连接");
         }

+ 9 - 9
src/YSAI.DAQ/YSAI.Core/communication/net/ws/service/WsServiceOperate.cs

@@ -172,7 +172,7 @@ namespace YSAI.Core.communication.net.ws.service
                         }
                         else
                         {
-                            OnEventHandler(this, new EventResult(false, $"[{IpPort}]发来的数据长度错误(小于等于零),已强制关闭连接", new WsServiceData.ClientMessage { Step = WsServiceData.Steps.客户端断开, IpPort = IpPort }, @enum.ResultType.All));
+                            OnEventHandler(this, new EventResult(false, $"[{IpPort}]发来的数据长度错误(小于等于零),已强制关闭连接", new WsServiceData.ClientMessage { Step = WsServiceData.Steps.客户端断开, IpPort = IpPort }, @enum.ResultType.Object));
                             //移除此客户端
                             RemoveAsync(IpPort);
                             //强制退出此线程
@@ -181,7 +181,7 @@ namespace YSAI.Core.communication.net.ws.service
                     }
                     catch (Exception ex)
                     {
-                        OnEventHandler(this, new EventResult(false, $"监控[{IpPort}]消息异常:{ex.Message}", new WsServiceData.ClientMessage { Step = WsServiceData.Steps.客户端断开, IpPort = IpPort }, @enum.ResultType.All));
+                        OnEventHandler(this, new EventResult(false, $"监控[{IpPort}]消息异常:{ex.Message}", new WsServiceData.ClientMessage { Step = WsServiceData.Steps.客户端断开, IpPort = IpPort }, @enum.ResultType.Object));
                         //移除此客户端
                         RemoveAsync(IpPort);
                         return;
@@ -218,7 +218,7 @@ namespace YSAI.Core.communication.net.ws.service
             }
             catch (Exception ex)
             {
-                return Break("On", false, ex.Message, Exc: ex);
+                return Break("On", false, ex.Message, Exception: ex);
             }
         }
 
@@ -270,7 +270,7 @@ namespace YSAI.Core.communication.net.ws.service
             }
             catch (Exception ex)
             {
-                return Break("Off", false, ex.Message, Exc: ex);
+                return Break("Off", false, ex.Message, Exception: ex);
             }
         }
 
@@ -303,7 +303,7 @@ namespace YSAI.Core.communication.net.ws.service
             }
             catch (Exception ex)
             {
-                return Break("Remove", false, ex.Message, Exc: ex);
+                return Break("Remove", false, ex.Message, Exception: ex);
             }
         }
         /// <summary>
@@ -350,7 +350,7 @@ namespace YSAI.Core.communication.net.ws.service
 
                         if (Message.Count > 0)
                         {
-                            return Break("Send", false, "存在失败数据", Message, @enum.ResultType.All);
+                            return Break("Send", false, "存在失败数据", Message, @enum.ResultType.Object);
                         }
                     }
                     else
@@ -364,12 +364,12 @@ namespace YSAI.Core.communication.net.ws.service
                             }
                             catch (Exception ex)
                             {
-                                return Break("Send", false, $"数据发送[{IpPort}]异常:{ex.Message}", Message, @enum.ResultType.All);
+                                return Break("Send", false, $"数据发送[{IpPort}]异常:{ex.Message}", Message, @enum.ResultType.Object);
                             }
                         }
                         else
                         {
-                            return Break("Send", false, $"数据发送失败,[{IpPort}]不存在", Message, @enum.ResultType.All);
+                            return Break("Send", false, $"数据发送失败,[{IpPort}]不存在", Message, @enum.ResultType.Object);
                         }
                     }
                     return Break("Send", true);
@@ -381,7 +381,7 @@ namespace YSAI.Core.communication.net.ws.service
             }
             catch (Exception ex)
             {
-                return Break("Send", false, ex.Message, Exc: ex);
+                return Break("Send", false, ex.Message, Exception: ex);
             }
         }
 

+ 5 - 5
src/YSAI.DAQ/YSAI.Core/communication/serial/SerialOperate.cs

@@ -171,7 +171,7 @@ namespace YSAI.Core.communication.serial
             }
             catch (Exception ex)
             {
-                return Break("On", false, ex.Message, Exc: ex);
+                return Break("On", false, ex.Message, Exception: ex);
             }
         }
 
@@ -208,7 +208,7 @@ namespace YSAI.Core.communication.serial
             }
             catch (Exception ex)
             {
-                return Break("Off", false, ex.Message, Exc: ex);
+                return Break("Off", false, ex.Message, Exception: ex);
             }
         }
 
@@ -231,7 +231,7 @@ namespace YSAI.Core.communication.serial
             }
             catch (Exception ex)
             {
-                return Break("Send", false, ex.Message, Exc: ex);
+                return Break("Send", false, ex.Message, Exception: ex);
             }
         }
 
@@ -293,7 +293,7 @@ namespace YSAI.Core.communication.serial
             }
             catch (Exception ex)
             {
-                return Break("SendWait", false, ex.Message, Exc: ex);
+                return Break("SendWait", false, ex.Message, Exception: ex);
             }
         }
 
@@ -307,7 +307,7 @@ namespace YSAI.Core.communication.serial
             Depart("GetObject");
             if (Communication != null && Communication.IsOpen)
             {
-                return Break("GetObject", true, RData: Communication, RType: @enum.ResultType.All);
+                return Break("GetObject", true, RData: Communication, RType: @enum.ResultType.Object);
             }
             return Break("GetObject", false, "未连接");
         }

+ 4 - 2
src/YSAI.DAQ/YSAI.Core/data/AddressValue.cs

@@ -1,4 +1,6 @@
-namespace YSAI.Core.data
+using YSAI.Unility;
+
+namespace YSAI.Core.data
 {
     /// <summary>
     /// 地址获取到的值
@@ -20,7 +22,7 @@
         /// <summary>
         /// 获取或更新的时间
         /// </summary>
-        public DateTime Time { get; set; } = DateTime.Now.ToLocalTime();
+        public DateTime Time { get; set; } = DateTime.Now.GetDateDetails();
 
         /// <summary>
         /// 设置父类的参数

+ 1 - 1
src/YSAI.DAQ/YSAI.Core/data/EventResult.cs

@@ -10,7 +10,7 @@ namespace YSAI.Core.data
         public EventResult()
         {
         }
-        public EventResult(bool State, string Message, object? RData = null, ResultType RType = ResultType.NULL) : base(State, Message, RData, RType)
+        public EventResult(bool State, string Message, object? RData = null, ResultType RType = ResultType.Null) : base(State, Message, RData, RType)
         {
             this.State = State;
             this.Message = Message;

+ 1 - 1
src/YSAI.DAQ/YSAI.Core/data/OperateResult.cs

@@ -11,7 +11,7 @@ namespace YSAI.Core.data
         public OperateResult()
         {
         }
-        public OperateResult(bool State, string Message, double RunTime, object? RData = null, ResultType RType = ResultType.NULL) : base(State, Message, RData, RType)
+        public OperateResult(bool State, string Message, double RunTime, object? RData = null, ResultType RType = ResultType.Null) : base(State, Message, RData, RType)
         {
             this.State = State;
             this.Message = Message;

+ 2 - 2
src/YSAI.DAQ/YSAI.Core/data/Result.cs

@@ -9,7 +9,7 @@ namespace YSAI.Core.data
         public Result()
         {
         }
-        public Result(bool State, string Message, object? RData = null, ResultType RType = ResultType.NULL)
+        public Result(bool State, string Message, object? RData = null, ResultType RType = ResultType.Null)
         {
             this.State = State;
             this.Message = Message;
@@ -36,7 +36,7 @@ namespace YSAI.Core.data
         /// 结果数据类型
         /// </summary>
         [JsonConverter(typeof(StringEnumConverter))]
-        public ResultType RType { get; set; } = ResultType.NULL;
+        public ResultType RType { get; set; } = ResultType.Null;
 
         /// <summary>
         /// 获取对应类型的数据

+ 12 - 8
src/YSAI.DAQ/YSAI.Core/enum/Enums.cs

@@ -130,7 +130,7 @@ namespace YSAI.Core.@enum
         /// </summary>
         KeyValueArray,
         /// <summary>
-        /// Josn结构体对象
+        /// Josn字符串
         /// </summary>
         Json,
         /// <summary>
@@ -146,21 +146,25 @@ namespace YSAI.Core.@enum
         /// </summary>
         Dynamic,
         /// <summary>
-        /// 操作结果
+        /// 对象数据
         /// </summary>
-        OperateResult,
+        Object,
         /// <summary>
-        /// 返回枚举
+        /// 枚举对象
         /// </summary>
         Enum,
         /// <summary>
-        /// 包罗万象
+        /// 操作结果
+        /// </summary>
+        OR,
+        /// <summary>
+        /// 事件结果
         /// </summary>
-        All,
+        ER,
         /// <summary>
-        /// 无返回参数
+        /// 无返回参数,或无关紧要的参数(特殊情况下使用)
         /// </summary>
-        NULL
+        Null
     }
 
 }

+ 6 - 6
src/YSAI.DAQ/YSAI.Core/interface/IOrAbstract.cs

@@ -54,13 +54,13 @@ namespace YSAI.Core.@interface
         /// <param name="State">状态</param>
         /// <param name="Message">消息</param>
         /// <param name="RData">结果值</param>
-        /// <param name="Exc">异常对象</param>
+        /// <param name="exception">异常对象</param>
         /// <returns>统一结果</returns>
-        protected Task<OperateResult> BreakAsync(string MethodName, bool State, string? Message = null, object? RData = null, ResultType RType = ResultType.NULL, Exception? Exc = null)
+        protected Task<OperateResult> BreakAsync(string MethodName, bool State, string? Message = null, object? RData = null, ResultType RType = ResultType.Null, Exception? Exception = null)
         {
             return Task.Run(() =>
             {
-                return Break(MethodName, State, Message, RData, RType, Exc);
+                return Break(MethodName, State, Message, RData, RType, Exception);
             });
         }
         /// <summary>
@@ -70,16 +70,16 @@ namespace YSAI.Core.@interface
         /// <param name="State">状态</param>
         /// <param name="Message">消息</param>
         /// <param name="RData">结果值</param>
-        /// <param name="Exc">异常对象</param>
+        /// <param name="Exception">异常对象</param>
         /// <returns>统一结果</returns>
-        protected OperateResult Break(string MethodName, bool State, string? Message = null, object? RData = null, ResultType RType = ResultType.NULL, Exception? Exc = null)
+        protected OperateResult Break(string MethodName, bool State, string? Message = null, object? RData = null, ResultType RType = ResultType.Null, Exception? Exception = null)
         {
             //返回运行时间(毫秒)
             double runTime = RunTimeTool.Instance($"{ClassName}.{MethodName}").StopRecord().milliseconds;
             //消息数据组织
             string message = $"{LogHead} ( {MethodName} {(State ? "成功" : "异常")} ){(string.IsNullOrEmpty(Message) ? "" : $" : {Message}")}";
             //异常则输出日志
-            if (!State) { LogHelper.Error(message, $"{ClassName}{MethodName}.log", Exc); }
+            if (!State) { LogHelper.Error(message, $"{ClassName}{MethodName}.log", Exception); }
             //返回状态
             return new OperateResult(State, message, runTime, RData, RType);
         }

+ 1 - 1
src/YSAI.DAQ/YSAI.Core/redis/RedisOperate.cs

@@ -1898,7 +1898,7 @@ namespace YSAI.Core.redis
         /// <param name="e"></param>
         private static void ConnMultiplexer_ConfigurationChangedBroadcast(object sender, EndPointEventArgs e)
         {
-            LogHelper.Info($"{nameof(ConnMultiplexer_ConfigurationChangedBroadcast)}: {e.EndPoint}","Redis.log");
+            LogHelper.Info($"{nameof(ConnMultiplexer_ConfigurationChangedBroadcast)}: {e.EndPoint}", "Redis.log");
         }
 
         /// <summary>

+ 3 - 3
src/YSAI.DAQ/YSAI.Core/reflection/RIOperate.cs

@@ -56,7 +56,7 @@ namespace YSAI.Core.reflection
             }
             catch (Exception ex)
             {
-                LogHelper.Error($"获取配置异常:{ex.Message}",$"{ClassName}.log",ex);
+                LogHelper.Error($"获取配置异常:{ex.Message}", $"{ClassName}.log", ex);
             }
             return null;
         }
@@ -71,7 +71,7 @@ namespace YSAI.Core.reflection
                 //实体转JSON字符串
                 string json = JsonTool.JsonEntityToString(basics);
                 //写入文件
-                File.WriteAllText(ConfigFile, JsonTool.JsonFormatting(json));
+                File.WriteAllText(ConfigFile, json.JsonFormatting());
                 return true;
             }
             catch (Exception ex)
@@ -272,7 +272,7 @@ namespace YSAI.Core.reflection
             }
             catch (Exception ex)
             {
-                return Break("Init", false, ex.Message, Exc: ex);
+                return Break("Init", false, ex.Message, Exception: ex);
             }
         }
 

+ 1 - 1
src/YSAI.DAQ/YSAI.Core/reflection/ReflectionOperate.cs

@@ -224,7 +224,7 @@ namespace YSAI.Core.reflection
             }
             catch (Exception ex)
             {
-                return Break("Init", false, ex.Message, Exc: ex);
+                return Break("Init", false, ex.Message, Exception: ex);
             }
         }
 

+ 1 - 1
src/YSAI.DAQ/YSAI.Core/script/ScriptOperate.cs

@@ -110,7 +110,7 @@ namespace YSAI.Core.script
             }
             catch (Exception ex)
             {
-                return Break("Execute", false, ex.Message, Exc: ex);
+                return Break("Execute", false, ex.Message, Exception: ex);
             }
         }
         /// <summary>

+ 4 - 4
src/YSAI.DAQ/YSAI.Core/subscribe/SubscribeOperate.cs

@@ -206,7 +206,7 @@ namespace YSAI.Core.subscription
             }
             catch (Exception ex)
             {
-                return Break("Subscribe", false, ex.Message, Exc: ex);
+                return Break("Subscribe", false, ex.Message, Exception: ex);
             }
         }
 
@@ -244,7 +244,7 @@ namespace YSAI.Core.subscription
             }
             catch (Exception ex)
             {
-                return Break("UnSubscribe", false, ex.Message, Exc: ex);
+                return Break("UnSubscribe", false, ex.Message, Exception: ex);
             }
         }
 
@@ -297,7 +297,7 @@ namespace YSAI.Core.subscription
             }
             catch (Exception ex)
             {
-                return Break("On", false, ex.Message, Exc: ex);
+                return Break("On", false, ex.Message, Exception: ex);
             }
         }
 
@@ -353,7 +353,7 @@ namespace YSAI.Core.subscription
             }
             catch (Exception ex)
             {
-                return Break("Off", false, ex.Message, Exc: ex);
+                return Break("Off", false, ex.Message, Exception: ex);
             }
         }
 

+ 1 - 1
src/YSAI.DAQ/YSAI.Opc/YSAI.Opc.csproj

@@ -5,7 +5,7 @@
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
 	  <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-	  <Version>1.0.0.25</Version>
+	  <Version>1.0.0.26</Version>
 	  <Authors>Shun</Authors>
 	  <Company>YSAI</Company>
 	  <Product>SCADA</Product>

+ 8 - 19
src/YSAI.DAQ/YSAI.Opc/ua/client/OpcUaClientOperate.cs

@@ -107,11 +107,6 @@ namespace YSAI.Opc.ua.client
         /// token
         /// </summary>
         private CancellationToken token = new CancellationToken();
-        /// <summary>
-        /// 定时读取的节点信息
-        /// </summary>
-        private ConcurrentDictionary<string, Subscription> allTimingRead;
-
         /// <summary>
         /// 虚拟地址
         /// </summary>
@@ -873,19 +868,16 @@ namespace YSAI.Opc.ua.client
                                 }
 
                                 //在服务器上创建订阅并添加所有监视项
-                                if (!allSubscriptions[Tag].CreateAsync().Wait(basics.Timeout))
-                                {
-                                    return Break("AddSubscribe", false, "在服务器上创建订阅并添加所有监视项超时");
-                                }
+                                allSubscriptions[Tag].Create();
 
                                 //添加监控项
                                 allSubscriptions[Tag].AddItems(monitoredItems);
 
+                                // 将任何更改应用于订阅项
+                                allSubscriptions[Tag].ApplyChanges();
+
                                 //把此订阅添加到集合,方便后续移除订阅(当存在此键则更新值,不存在则添加)
                                 allSubscriptions?.AddOrUpdate(Tag, allSubscriptions[Tag], (k, v) => allSubscriptions[Tag]);
-
-                                // 将任何更改应用于订阅项
-                                allSubscriptions[Tag].ApplyChangesAsync();
                             }
                         }
                         else
@@ -911,10 +903,7 @@ namespace YSAI.Opc.ua.client
                             }
 
                             //在服务器上创建订阅并添加所有监视项
-                            if (!subscription.CreateAsync().Wait(basics.Timeout))
-                            {
-                                return Break("AddSubscribe", false, "在服务器上创建订阅并添加所有监视项超时");
-                            }
+                            subscription.Create();
 
                             //监控项集合                                                                                                                                                    
                             List<MonitoredItem> monitoredItems = new List<MonitoredItem>();
@@ -939,12 +928,12 @@ namespace YSAI.Opc.ua.client
                             //添加监控项
                             subscription.AddItems(monitoredItems);
 
+                            // 将任何更改应用于订阅项
+                            subscription.ApplyChanges();
+
                             //把此订阅添加到集合,方便后续移除订阅(当存在此键则更新值,不存在则添加)
                             allSubscriptions?.AddOrUpdate(Tag, subscription, (k, v) => subscription);
 
-                            // 将任何更改应用于订阅项
-                            subscription.ApplyChangesAsync();
-
                         }
                         return Break("AddSubscribe", true);
                     }

+ 8 - 15
src/YSAI.DAQ/YSAI.Test.All/Program.cs

@@ -1,5 +1,4 @@
-
-using System.Collections.Concurrent;
+using System.Collections.Concurrent;
 using YSAI.Core.data;
 using YSAI.Log;
 using YSAI.Opc.ua.client;
@@ -12,8 +11,8 @@ Address address = JsonTool.StringToJsonEntity<Address>(FileTool.FileToString("C:
 OpcUaClientOperate opcUaClientOperate = OpcUaClientOperate.Instance(new OpcUaClientData.Basics
 {
     ServerUrl = "opc.tcp://127.0.0.1:8866/Opc.Ua.Service",
-    Password="ysai",
-    UserName="ysai",
+    Password = "ysai",
+    UserName = "ysai",
     CustomName = "YSAI 性能测试",
 });
 Console.WriteLine(opcUaClientOperate.On().ToJson().JsonFormatting());
@@ -31,35 +30,29 @@ void OpcUaClientOperate_OnEvent(object? sender, EventResult e)
     switch (e.RType)
     {
         case YSAI.Core.@enum.ResultType.KeyValue:
-            ConcurrentDictionary<string,AddressValue> pairs=e.RData as ConcurrentDictionary<string,AddressValue>;
+            ConcurrentDictionary<string, AddressValue> pairs = e.RData as ConcurrentDictionary<string, AddressValue>;
             foreach (var item in pairs)
             {
                 String str = String.Format("{0,-100}{1,-100}", item.Key, item.Value.Value);
-
-                LogHelper.Verbose(str);
+                
+               LogHelper.Verbose(str);
             }
             break;
         case YSAI.Core.@enum.ResultType.KeyValueArray:
-            break;
         case YSAI.Core.@enum.ResultType.Json:
-            break;
         case YSAI.Core.@enum.ResultType.Bytes:
-            break;
         case YSAI.Core.@enum.ResultType.String:
-            break;
         case YSAI.Core.@enum.ResultType.Dynamic:
-            break;
         case YSAI.Core.@enum.ResultType.OperateResult:
-            break;
         case YSAI.Core.@enum.ResultType.Enum:
-            break;
         case YSAI.Core.@enum.ResultType.All:
-            break;
         case YSAI.Core.@enum.ResultType.NULL:
+            Console.WriteLine(e.Message);
             break;
         default:
             break;
     }
+   
     //if (e.RData != null)
     //{
     //    Console.ForegroundColor = ConsoleColor.Green;

+ 43 - 28
src/YSAI.DAQ/YSAI.Unility/ExtensionTool.cs

@@ -187,12 +187,12 @@ namespace YSAI.Unility
         }
 
         /// <summary>
-        /// 格式化为日期时间格式(yyyy-MM-dd HH:mm:ss)
+        /// 格式化为日期时间格式(yyyy-MM-dd HH:mm:ss:fff)
         /// </summary>
         /// <param name="date"></param>
         public static string ToDateTimeString(this DateTime date)
         {
-            return date.ToString("yyyy-MM-dd HH:mm:ss");
+            return date.ToString("yyyy-MM-dd HH:mm:ss:fff");
         }
 
         /// <summary>
@@ -214,7 +214,7 @@ namespace YSAI.Unility
         }
 
         /// <summary>
-        /// 取日期时间的日期部分
+        /// 取日期时间的日期部分 yyyy-MM-dd
         /// </summary>
         /// <param name="date"></param>
         /// <returns></returns>
@@ -223,6 +223,16 @@ namespace YSAI.Unility
             return date.ToString("yyyy-MM-dd").ToDateTime();
         }
 
+        /// <summary>
+        /// 取日期时间的 yyyy-MM-dd HH:mm:ss:fff
+        /// </summary>
+        /// <param name="date"></param>
+        /// <returns></returns>
+        public static DateTime GetDateDetails(this DateTime date)
+        {
+            return date.ToString("yyyy-MM-dd HH:mm:ss:fff").ToDateTime();
+        }
+
         /// <summary>
         /// 判断字符串是否为null或""
         /// </summary>
@@ -449,31 +459,6 @@ namespace YSAI.Unility
             return str.IsNullOrWhiteSpace() ? false : !str.StartsWith("-") && str.Replace("-", "").IsDigital();
         }
 
-        /// <summary>
-        /// 去掉组织机构人员前缀
-        /// </summary>
-        /// <returns></returns>
-        public static string RemoveUserPrefix(this string str)
-        {
-            return str.IsNullOrWhiteSpace() ? "" : str.StartsWith("u_") ? str.TrimStart('u', '_') : str;
-        }
-        /// <summary>
-        /// 去掉组织机构工作组前缀
-        /// </summary>
-        /// <returns></returns>
-        public static string RemoveWorkGroupPrefix(this string str)
-        {
-            return str.IsNullOrWhiteSpace() ? "" : str.StartsWith("w_") ? str.TrimStart('w', '_') : str;
-        }
-        /// <summary>
-        /// 去掉组织机构人员兼职前缀
-        /// </summary>
-        /// <returns></returns>
-        public static string RemoveUserRelationPrefix(this string str)
-        {
-            return str.IsNullOrWhiteSpace() ? "" : str.StartsWith("r_") ? str.TrimStart('r', '_') : str;
-        }
-
         /// <summary>
         /// 移出所有空格
         /// </summary>
@@ -1346,5 +1331,35 @@ namespace YSAI.Unility
             value = head.Concat(value).ToArray();
             return value;
         }
+
+        /// <summary>
+        /// JSON格式化
+        /// </summary>
+        /// <param name="str">Json 数据</param>
+        /// <returns></returns>
+        public static string JsonFormatting(this string str)
+        {
+            //格式化json字符串
+            JsonSerializer serializer = new JsonSerializer();
+            TextReader tr = new StringReader(str);
+            JsonTextReader jtr = new JsonTextReader(tr);
+            object obj = serializer.Deserialize(jtr);
+            if (obj != null)
+            {
+                StringWriter textWriter = new StringWriter();
+                JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)
+                {
+                    Formatting = Formatting.Indented,
+                    Indentation = 4,
+                    IndentChar = ' '
+                };
+                serializer.Serialize(jsonWriter, obj);
+                return textWriter.ToString();
+            }
+            else
+            {
+                return str;
+            }
+        }
     }
 }

+ 1 - 29
src/YSAI.DAQ/YSAI.Unility/JsonTool.cs

@@ -69,35 +69,7 @@ namespace YSAI.Unility
             return JsonConvert.DeserializeObject<ObservableCollection<T>>(Data);
         }
 
-        /// <summary>
-        /// JSON格式化
-        /// </summary>
-        /// <param name="str">Json 数据</param>
-        /// <returns></returns>
-        public static string JsonFormatting(this string str)
-        {
-            //格式化json字符串
-            JsonSerializer serializer = new JsonSerializer();
-            TextReader tr = new StringReader(str);
-            JsonTextReader jtr = new JsonTextReader(tr);
-            object obj = serializer.Deserialize(jtr);
-            if (obj != null)
-            {
-                StringWriter textWriter = new StringWriter();
-                JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)
-                {
-                    Formatting = Formatting.Indented,
-                    Indentation = 4,
-                    IndentChar = ' '
-                };
-                serializer.Serialize(jsonWriter, obj);
-                return textWriter.ToString();
-            }
-            else
-            {
-                return str;
-            }
-        }
+        
         /// <summary>
         /// 字符串转标准json
         /// </summary>

+ 1 - 1
src/YSAI.DAQ/YSAI.Unility/YSAI.Unility.csproj

@@ -5,7 +5,7 @@
 		<ImplicitUsings>enable</ImplicitUsings>
 		<Nullable>enable</Nullable>
 		<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-		<Version>1.0.0.13</Version>
+		<Version>1.0.0.14</Version>
 		<Authors>Shun</Authors>
 		<Company>YSAI</Company>
 		<Product>SCADA</Product>