OutboundSiteInteractionSystems.cs 1.5 KB

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