using WCS.Core;
using WCS.Entity.Protocol.Protocol.SRM;
using WCS.WorkEngineering.Extensions;
using WCS.WorkEngineering.Worlds;
namespace WCS.WorkEngineering.Systems
{
///
/// 设备信息写入接口
///
[BelongTo(typeof(MainWorld))]
public class SrmDebugSystem : ServiceSystem
{
private List Srms;
///
/// 构造函数
///
public SrmDebugSystem()
{
Srms = Device.All.Where(v => v.HasProtocol()).Select(v => new SRM(v, this.World)).ToList();
}
protected override void Do(SrmDebugInfo info)
{
var srm = Srms.FirstOrDefault(v => v.Entity.Code == info.SrmCode);
srm.Data.TaskType = info.srmTaskType;
srm.Data.SLine = info.SLine;
srm.Data.SCol = info.SCol;
srm.Data.SLayer = info.SLayer;
srm.Data.ELine = info.ELine;
srm.Data.ECol = info.ECol;
srm.Data.ELayer = info.ELayer;
srm.Data.VoucherNo++;
}
}
///
/// 设备写入信息
///
public class SrmDebugInfo
{
public string SrmCode { get; set; }
public SrmTaskType srmTaskType { get; set; }
public short SLine { get; set; }
public short SCol { get; set; }
public short SLayer { get; set; }
public short ELine { get; set; }
public short ECol { get; set; }
public short ELayer { get; set; }
}
}