OutboundSiteInteractionSystems.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using WCS.Core;
  2. using WCS.WorkEngineering.Extensions;
  3. using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;
  4. namespace WCS.WorkEngineering.Systems
  5. {
  6. /// <summary>
  7. /// 出库站台交互
  8. /// </summary>
  9. //[BelongTo(typeof(MainWorld))]
  10. public class OutboundSiteInteractionSystems : DeviceSystem<Station>
  11. {
  12. protected override bool ParallelDo => true;
  13. protected override bool SaveLogsToFile => true;
  14. public override void Do(Station obj)
  15. {
  16. var IsThereATask = false; //无任务
  17. #region 判断站点是否有任务
  18. //光电有货或有任务有货
  19. if (obj.Data3.Status.HasFlag(Entity.Protocol.Station.StatusEunm.PH_Status) || obj.Data3.Status.HasFlag(Entity.Protocol.Station.StatusEunm.OT_Status))
  20. {
  21. if (!obj.Data3.Status.HasFlag(Entity.Protocol.Station.StatusEunm.PH_Status))
  22. IsThereATask = true;
  23. }
  24. #endregion 判断站点是否有任务
  25. if (IsThereATask)
  26. {
  27. }
  28. else
  29. {
  30. //TODO判断当前站台是否是一楼
  31. if (true) //一楼无任务站台开始呼叫空轮出库任务
  32. {
  33. }
  34. }
  35. }
  36. public override bool Select(Device dev)
  37. {
  38. return dev.HasFlag(DeviceFlags.巷道口) && dev.HasFlag(DeviceFlags.出库);
  39. }
  40. }
  41. }