123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698 |
- 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>();
- }
- }
- }
|