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