using WCS.Core; using WCS.WorkEngineering.Extensions; using WCS.WorkEngineering.Protocol.BCR; using WCS.WorkEngineering.Protocol.SRM; using WCS.WorkEngineering.Protocol.Station; using WCS.WorkEngineering.Worlds; namespace WCS.WorkEngineering.Systems { /// /// 设备信息读取接口 /// [BelongTo(typeof(MainWorld))] public class GetDeviceSystem : ServiceSystem, object> { /// /// 所有的站台 /// private List Convs; private List Srms; private List Bcrs; private List> Device91; /// /// 构造函数 /// public GetDeviceSystem() { //Convs = Device.All.Where(v => v.HasProtocol()).Select(v => new Station(v, this.World)).ToList(); Srms = Device.All.Where(v => v.HasProtocol()).Select(v => new SRM(v, this.World)).ToList(); Bcrs = Device.All.Where(v => v.HasProtocol()).Select(v => new BCR(v, this.World)).ToList(); Device91 = Device.All.Where(v => v.HasProtocol()).Select(v => new Device(v, this.World)).ToList(); } protected override object Do(Tuple tuple) { switch (tuple.Item1) { case "堆垛机": return Srms; case "输送机": return Convs; case "读码器": var b = Bcrs.FirstOrDefault(v => v.Entity.Code == tuple.Item2).Data.Content; var a = Bcrs.FirstOrDefault(v => v.Entity.Code == tuple.Item2).GetBCRCode(); return Bcrs.FirstOrDefault(v => v.Entity.Code == tuple.Item2).GetBCRCode(); case "外检": return Device91; default: return "未知设备类型"; } //if (code.Contains("SRM")) return Device.All.Where(v => v.Code == code).Select(v => new SRM(v, this.World)).ToList(); //else if (code.Contains("BCR")) return Device.All.Where(v => v.Code == code).Select(v => new BCR(v, this.World)).ToList(); //else if (code.Contains("D91")) return Device.All.Where(v => v.Code == code).Select(v => new Device(v, this.World)).ToList(); //return Device.All.Where(v => v.Code == code).Select(v => new Station(v, this.World)).ToList(); } } }