|
@@ -0,0 +1,698 @@
|
|
|
+using Newtonsoft.Json;
|
|
|
+using PlcSiemens.Core.Extension;
|
|
|
+using ServiceCenter.Extensions;
|
|
|
+using ServiceCenter.Logs;
|
|
|
+using ServiceCenter.Redis;
|
|
|
+using ServiceCenter.SqlSugars;
|
|
|
+using SqlSugar;
|
|
|
+using System.Collections.Concurrent;
|
|
|
+using System.ComponentModel;
|
|
|
+using System.Diagnostics;
|
|
|
+using System.Text;
|
|
|
+using WCS.Core;
|
|
|
+using WCS.Entity.Protocol.BCR;
|
|
|
+using WCS.Entity.Protocol.DataStructure;
|
|
|
+using WCS.Entity.Protocol.RGV;
|
|
|
+using WCS.Entity.Protocol.Robot;
|
|
|
+using WCS.Entity.Protocol.SRM;
|
|
|
+using WCS.Entity.Protocol.Station;
|
|
|
+using WCS.Entity.Protocol.Truss;
|
|
|
+using WCS.WorkEngineering.Extensions;
|
|
|
+using WCS.WorkEngineering.Worlds;
|
|
|
+
|
|
|
+namespace WCS.WorkEngineering.Systems
|
|
|
+{
|
|
|
+ /// <summary>
|
|
|
+ /// 数据处理
|
|
|
+ /// </summary>
|
|
|
+ [BelongTo(typeof(MainWorld))]
|
|
|
+ [Description("数据处理")]
|
|
|
+ public class MainSysyem : SystemBase
|
|
|
+ {
|
|
|
+ public override void Update(List<WorkTimes> list)
|
|
|
+ {
|
|
|
+ var sql = new StringBuilder();
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var sw = new Stopwatch();
|
|
|
+ sw.Start();
|
|
|
+
|
|
|
+ var number = new List<int>();
|
|
|
+ number.AddRange(new[] { 1, 2, 3, 4, 5 });
|
|
|
+ Parallel.ForEach(number, n =>
|
|
|
+ {
|
|
|
+ var db = new SqlSugarHelper().PLC;
|
|
|
+ var pack = RedisHub.Monitor.LPop<DeviceDataPack>("DataCollectionpacks"); ;
|
|
|
+ if (pack == null) return;
|
|
|
+
|
|
|
+ Parallel.ForEach(pack.GetType().GetProperties().OrderBy(x => x.Name), ps =>
|
|
|
+ {
|
|
|
+ var sw10 = new Stopwatch();
|
|
|
+ sw10.Start();
|
|
|
+ var typeName = "";
|
|
|
+ try
|
|
|
+ {
|
|
|
+ //if (ps.PropertyType == typeof(ProtocolData<WCS_BCR80>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.BCR80.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.BCR80.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_BCR80).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_BCR81>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.BCR81.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.BCR81.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_BCR81).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_BCR83>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.BCR83.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.BCR83.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_BCR83).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ if (ps.PropertyType == typeof(ProtocolData<WCS_RGV520>[]))
|
|
|
+ {
|
|
|
+ if (pack.RGV520.Any())
|
|
|
+ {
|
|
|
+ var value = pack.RGV520.Select(x => x.Data).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_RGV520).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_RGV521>[]))
|
|
|
+ {
|
|
|
+ if (pack.RGV521.Any())
|
|
|
+ {
|
|
|
+ var value = pack.RGV521.Select(x => x.Data).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_RGV521).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_RGV523>[]))
|
|
|
+ {
|
|
|
+ if (pack.RGV523.Any())
|
|
|
+ {
|
|
|
+ var value = pack.RGV523.Select(x => new QuestDb_RGV523()
|
|
|
+ {
|
|
|
+ Alarm = Convert.ToString(x.Data.Alarm),
|
|
|
+ Code = x.Data.Code,
|
|
|
+ Frame = x.Data.Frame.ToLocalTime()
|
|
|
+ }).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(GetString(sql));
|
|
|
+ typeName = typeof(WCS_RGV523).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_Robot520>[]))
|
|
|
+ {
|
|
|
+ if (pack.Robot520.Any())
|
|
|
+ {
|
|
|
+ var value = pack.Robot520.Select(x => x.Data).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_Robot520).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_Robot521>[]))
|
|
|
+ {
|
|
|
+ if (pack.Robot521.Any())
|
|
|
+ {
|
|
|
+ var value = pack.Robot521.Select(x => x.Data).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_Robot521).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_Robot522>[]))
|
|
|
+ {
|
|
|
+ if (pack.Robot522.Any())
|
|
|
+ {
|
|
|
+ var value = pack.Robot522.Select(x => new QuestDb_Robot522()
|
|
|
+ {
|
|
|
+ Alarm = Convert.ToString(x.Data.Alarm),
|
|
|
+ Code = x.Data.Code,
|
|
|
+ Frame = x.Data.Frame.ToLocalTime()
|
|
|
+ }).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_Robot522).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_Robot530>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.Robot530.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Robot530.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Robot530).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_Robot531>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.Robot531.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Robot531.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Robot531).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_SRM520>[]))
|
|
|
+ {
|
|
|
+ if (pack.SRM520.Any())
|
|
|
+ {
|
|
|
+ var value = pack.SRM520.Select(x => x.Data).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_SRM520).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_SRM521>[]))
|
|
|
+ {
|
|
|
+ if (pack.SRM521.Any())
|
|
|
+ {
|
|
|
+ var value = pack.SRM521.Select(x => x.Data).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_SRM521).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_SRM523>[]))
|
|
|
+ {
|
|
|
+ if (pack.SRM523.Any())
|
|
|
+ {
|
|
|
+ var value = pack.SRM523.Select(x => new QuestDb_SRM523()
|
|
|
+ {
|
|
|
+ Alarm = $"{Convert.ToString(x.Data.Alarm1)},{Convert.ToString(x.Data.Alarm1)}",
|
|
|
+ Code = x.Data.Code,
|
|
|
+ Frame = x.Data.Frame.ToLocalTime()
|
|
|
+ }).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(GetString(sql));
|
|
|
+ typeName = typeof(WCS_SRM523).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_Station520>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.Station520.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station520.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station520).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_Station521>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.Station521.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station521.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station521).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_Station523>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.Station523.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station523.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station523).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_Station524>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.Station524.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station524.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station524).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_Station525>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.Station525.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station525.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station525).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_Station90>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.Station90.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station90.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station90).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_Station91>[]))
|
|
|
+ {
|
|
|
+ if (pack.Station91.Any())
|
|
|
+ {
|
|
|
+ var value = pack.Station91.Select(x => x.Data).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_Station91).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_Truss520>[]))
|
|
|
+ {
|
|
|
+ if (pack.Truss520.Any())
|
|
|
+ {
|
|
|
+ var value = pack.Truss520.Select(x => x.Data).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_Truss520).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_Truss521>[]))
|
|
|
+ {
|
|
|
+ if (pack.Truss521.Any())
|
|
|
+ {
|
|
|
+ var value = pack.Truss521.Select(x => x.Data).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_Truss521).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (ps.PropertyType == typeof(ProtocolData<WCS_Truss523>[]))
|
|
|
+ {
|
|
|
+ if (pack.Truss523.Any())
|
|
|
+ {
|
|
|
+ var value = pack.Truss523.Select(x => new QuestDb_Truss523()
|
|
|
+ {
|
|
|
+ Alarm = Convert.ToString(x.Data.Alarm),
|
|
|
+ Code = x.Data.Code,
|
|
|
+ Frame = x.Data.Frame.ToLocalTime()
|
|
|
+ }).ToList();
|
|
|
+ var sql = db.Insertable(value).ToSqlString();
|
|
|
+ db.Ado.ExecuteCommand(sql);
|
|
|
+ typeName = typeof(WCS_Truss523).Name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_Truss530>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.Truss530.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Truss530.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Truss530).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else if (ps.PropertyType == typeof(ProtocolData<WCS_Truss531>[]))
|
|
|
+ //{
|
|
|
+ // if (pack.Truss531.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Truss531.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Truss531).Name;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ World.Log($"错误内容:{e.Message}");
|
|
|
+ }
|
|
|
+ finally
|
|
|
+ {
|
|
|
+ sw10.Stop();
|
|
|
+ World.Log($"执行耗时:{typeName}:{sw10.ElapsedMilliseconds}");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ //var db = new SqlSugarHelper().PLC;
|
|
|
+ //var pack = RedisHub.Monitor.LPop<DeviceDataPack>("DataCollectionpacks"); ;
|
|
|
+ //if (pack == null) return;
|
|
|
+
|
|
|
+ //Parallel.ForEach(pack.GetType().GetProperties().OrderBy(x => x.Name), ps =>
|
|
|
+ //{
|
|
|
+ // var sw10 = new Stopwatch();
|
|
|
+ // sw10.Start();
|
|
|
+ // var typeName = "";
|
|
|
+ // try
|
|
|
+ // {
|
|
|
+ // //if (ps.PropertyType == typeof(ProtocolData<WCS_BCR80>[]))
|
|
|
+ // //{
|
|
|
+ // // if (pack.BCR80.Any())
|
|
|
+ // // {
|
|
|
+ // // var value = pack.BCR80.Select(x => x.Data).ToList();
|
|
|
+ // // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // // db.Ado.ExecuteCommand(sql);
|
|
|
+ // // typeName = typeof(WCS_BCR80).Name;
|
|
|
+ // // }
|
|
|
+ // //}
|
|
|
+ // //else if (ps.PropertyType == typeof(ProtocolData<WCS_BCR81>[]))
|
|
|
+ // //{
|
|
|
+ // // if (pack.BCR81.Any())
|
|
|
+ // // {
|
|
|
+ // // var value = pack.BCR81.Select(x => x.Data).ToList();
|
|
|
+ // // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // // db.Ado.ExecuteCommand(sql);
|
|
|
+ // // typeName = typeof(WCS_BCR81).Name;
|
|
|
+ // // }
|
|
|
+ // //}
|
|
|
+ // //else if (ps.PropertyType == typeof(ProtocolData<WCS_BCR83>[]))
|
|
|
+ // //{
|
|
|
+ // // if (pack.BCR83.Any())
|
|
|
+ // // {
|
|
|
+ // // var value = pack.BCR83.Select(x => x.Data).ToList();
|
|
|
+ // // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // // db.Ado.ExecuteCommand(sql);
|
|
|
+ // // typeName = typeof(WCS_BCR83).Name;
|
|
|
+ // // }
|
|
|
+ // //}
|
|
|
+ // if (ps.PropertyType == typeof(ProtocolData<WCS_RGV520>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.RGV520.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.RGV520.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_RGV520).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_RGV521>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.RGV521.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.RGV521.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_RGV521).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_RGV523>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.RGV523.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.RGV523.Select(x => new QuestDb_RGV523()
|
|
|
+ // {
|
|
|
+ // Alarm = Convert.ToString(x.Data.Alarm),
|
|
|
+ // Code = x.Data.Code,
|
|
|
+ // Frame = x.Data.Frame.ToLocalTime()
|
|
|
+ // }).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(GetString(sql));
|
|
|
+ // typeName = typeof(WCS_RGV523).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Robot520>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Robot520.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Robot520.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Robot520).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Robot521>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Robot521.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Robot521.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Robot521).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Robot522>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Robot522.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Robot522.Select(x => new QuestDb_Robot522()
|
|
|
+ // {
|
|
|
+ // Alarm = Convert.ToString(x.Data.Alarm),
|
|
|
+ // Code = x.Data.Code,
|
|
|
+ // Frame = x.Data.Frame.ToLocalTime()
|
|
|
+ // }).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Robot522).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // //else if (ps.PropertyType == typeof(ProtocolData<WCS_Robot530>[]))
|
|
|
+ // //{
|
|
|
+ // // if (pack.Robot530.Any())
|
|
|
+ // // {
|
|
|
+ // // var value = pack.Robot530.Select(x => x.Data).ToList();
|
|
|
+ // // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // // db.Ado.ExecuteCommand(sql);
|
|
|
+ // // typeName = typeof(WCS_Robot530).Name;
|
|
|
+ // // }
|
|
|
+ // //}
|
|
|
+ // //else if (ps.PropertyType == typeof(ProtocolData<WCS_Robot531>[]))
|
|
|
+ // //{
|
|
|
+ // // if (pack.Robot531.Any())
|
|
|
+ // // {
|
|
|
+ // // var value = pack.Robot531.Select(x => x.Data).ToList();
|
|
|
+ // // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // // db.Ado.ExecuteCommand(sql);
|
|
|
+ // // typeName = typeof(WCS_Robot531).Name;
|
|
|
+ // // }
|
|
|
+ // //}
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_SRM520>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.SRM520.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.SRM520.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_SRM520).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_SRM521>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.SRM521.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.SRM521.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_SRM521).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_SRM523>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.SRM523.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.SRM523.Select(x => new QuestDb_SRM523()
|
|
|
+ // {
|
|
|
+ // Alarm = $"{Convert.ToString(x.Data.Alarm1)},{Convert.ToString(x.Data.Alarm1)}",
|
|
|
+ // Code = x.Data.Code,
|
|
|
+ // Frame = x.Data.Frame.ToLocalTime()
|
|
|
+ // }).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(GetString(sql));
|
|
|
+ // typeName = typeof(WCS_SRM523).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Station520>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Station520.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station520.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station520).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Station521>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Station521.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station521.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station521).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Station523>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Station523.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station523.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station523).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Station524>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Station524.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station524.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station524).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // //else if (ps.PropertyType == typeof(ProtocolData<WCS_Station525>[]))
|
|
|
+ // //{
|
|
|
+ // // if (pack.Station525.Any())
|
|
|
+ // // {
|
|
|
+ // // var value = pack.Station525.Select(x => x.Data).ToList();
|
|
|
+ // // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // // db.Ado.ExecuteCommand(sql);
|
|
|
+ // // typeName = typeof(WCS_Station525).Name;
|
|
|
+ // // }
|
|
|
+ // //}
|
|
|
+ // //else if (ps.PropertyType == typeof(ProtocolData<WCS_Station90>[]))
|
|
|
+ // //{
|
|
|
+ // // if (pack.Station90.Any())
|
|
|
+ // // {
|
|
|
+ // // var value = pack.Station90.Select(x => x.Data).ToList();
|
|
|
+ // // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // // db.Ado.ExecuteCommand(sql);
|
|
|
+ // // typeName = typeof(WCS_Station90).Name;
|
|
|
+ // // }
|
|
|
+ // //}
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Station91>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Station91.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Station91.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Station91).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Truss520>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Truss520.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Truss520.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Truss520).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Truss521>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Truss521.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Truss521.Select(x => x.Data).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Truss521).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // else if (ps.PropertyType == typeof(ProtocolData<WCS_Truss523>[]))
|
|
|
+ // {
|
|
|
+ // if (pack.Truss523.Any())
|
|
|
+ // {
|
|
|
+ // var value = pack.Truss523.Select(x => new QuestDb_Truss523()
|
|
|
+ // {
|
|
|
+ // Alarm = Convert.ToString(x.Data.Alarm),
|
|
|
+ // Code = x.Data.Code,
|
|
|
+ // Frame = x.Data.Frame.ToLocalTime()
|
|
|
+ // }).ToList();
|
|
|
+ // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // db.Ado.ExecuteCommand(sql);
|
|
|
+ // typeName = typeof(WCS_Truss523).Name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // //else if (ps.PropertyType == typeof(ProtocolData<WCS_Truss530>[]))
|
|
|
+ // //{
|
|
|
+ // // if (pack.Truss530.Any())
|
|
|
+ // // {
|
|
|
+ // // var value = pack.Truss530.Select(x => x.Data).ToList();
|
|
|
+ // // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // // db.Ado.ExecuteCommand(sql);
|
|
|
+ // // typeName = typeof(WCS_Truss530).Name;
|
|
|
+ // // }
|
|
|
+ // //}
|
|
|
+ // //else if (ps.PropertyType == typeof(ProtocolData<WCS_Truss531>[]))
|
|
|
+ // //{
|
|
|
+ // // if (pack.Truss531.Any())
|
|
|
+ // // {
|
|
|
+ // // var value = pack.Truss531.Select(x => x.Data).ToList();
|
|
|
+ // // var sql = db.Insertable(value).ToSqlString();
|
|
|
+ // // db.Ado.ExecuteCommand(sql);
|
|
|
+ // // typeName = typeof(WCS_Truss531).Name;
|
|
|
+ // // }
|
|
|
+ // //}
|
|
|
+ // }
|
|
|
+ // catch (Exception e)
|
|
|
+ // {
|
|
|
+ // World.Log($"错误内容:{e.Message}");
|
|
|
+ // }
|
|
|
+ // finally
|
|
|
+ // {
|
|
|
+ // sw10.Stop();
|
|
|
+ // World.Log($"执行耗时:{typeName}:{sw10.ElapsedMilliseconds}");
|
|
|
+ // }
|
|
|
+ //});
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ sw.Stop();
|
|
|
+ World.Log($"数据处理耗时:{sw.ElapsedMilliseconds}");
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ World.Log($"错误内容:{e.Message}");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private Type GetProtocolType(Type source)
|
|
|
+ {
|
|
|
+ var t = source.GetInterfaces().FirstOrDefault(v => v.GetInterfaces().Any(d => d.Name == "IProtocol"));
|
|
|
+ var t1 = source.GetInterfaces().FirstOrDefault(v => v.GetInterfaces().Any(d => d.Name == "IProtocol"));
|
|
|
+ return t;
|
|
|
+ }
|
|
|
+
|
|
|
+ private object AppendLock = new object();
|
|
|
+
|
|
|
+ public StringBuilder Append(StringBuilder sql, string value)
|
|
|
+ {
|
|
|
+ lock (AppendLock)
|
|
|
+ {
|
|
|
+ return sql.Append(value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public string GetString(string value)
|
|
|
+ {
|
|
|
+ return value.Replace(",N'", ",'")
|
|
|
+ .Replace("\0", "")
|
|
|
+ .Replace("(N'", "('") + "\r";
|
|
|
+ }
|
|
|
+
|
|
|
+ public override List<object> GetObjects()
|
|
|
+ {
|
|
|
+ return new List<object>();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|