|  | @@ -0,0 +1,361 @@
 | 
	
		
			
				|  |  | +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 : DeviceSystem<Device<IStation520>>
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        public MainSysyem()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        protected override bool ParallelDo => true;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        protected override bool SaveLogsToFile => true;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        public override bool Select(Device dev)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            return dev.Code == "1";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        public override void Do(Device<IStation520> objDev)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            var sql = new StringBuilder();
 | 
	
		
			
				|  |  | +            try
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                var sw = new Stopwatch();
 | 
	
		
			
				|  |  | +                sw.Start();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                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;
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        else 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_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 => x.Data).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_SRM537>[]))
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            if (pack.SRM537.Any())
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +                                var value = pack.SRM537.Select(x => x.Data).ToList();
 | 
	
		
			
				|  |  | +                                var sql = db.Insertable(value).ToSqlString();
 | 
	
		
			
				|  |  | +                                db.Ado.ExecuteCommand(sql);
 | 
	
		
			
				|  |  | +                                typeName = typeof(WCS_SRM537).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 => x.Data).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("INSERT INTO ", "")
 | 
	
		
			
				|  |  | +                .Replace(",N'", ",'")
 | 
	
		
			
				|  |  | +                .Replace("\0", "")
 | 
	
		
			
				|  |  | +                .Replace("wcs_", "")
 | 
	
		
			
				|  |  | +                .Replace("(N'", "('") + "\r";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |