using Newtonsoft.Json; using ServiceCenter; using ServiceCenter.Helpers; using ServiceCenter.SqlSugars; using System.ComponentModel; using WCS.Core; using WCS.Entity; using WCS.Entity.Protocol.Station; using WCS.Service.Worlds; using WCS.WorkEngineering.Extensions; namespace WCS.Service.Systems { /// /// 数据采集系统 /// [BelongTo(typeof(DataCollectionWorld))] [Description("数据采集系统")] public class DataCollectionSysyem : ServiceSystem { public List> ConvList; public DataCollectionSysyem() { ConvList = World.Devices.Where(v => v.IsConv()).Select(v => new Device(v)).ToList(); } protected override bool Do(bool obj) { SqlSugarHelper.Do(db => { //byte[] bytes = System.Text.Encoding.Default.GetBytes(JsonConvert.SerializeObject(ConvList, null, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore })); var plcData = new WCS_PlcData() { WAREHOUSE = ServiceHub.WarehouseName, CONTENT = JsonConvert.SerializeObject(ConvList, null, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), }; var a = TypeConversionHelper.SerializeRedisValue(ConvList); //对bytes进行数据压缩 //plcData.CONTENT = bytes.Compress(); db.Default.Insertable(plcData).ExecuteCommand(); ; }); return true; } } }