ProcessJobInfo.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Runtime.Serialization;
  4. using MECF.Framework.Common.Equipment;
  5. using MECF.Framework.Common.Schedulers;
  6. namespace MECF.Framework.Common.Jobs
  7. {
  8. [Serializable]
  9. [DataContract]
  10. public class ProcessJobInfo
  11. {
  12. [DataMember]
  13. public SequenceInfo Sequence { get; set; }
  14. [DataMember]
  15. public EnumProcessJobState State { get; private set; }
  16. [DataMember]
  17. public string Name { get; set; }
  18. [DataMember]
  19. public string LotName { get; set; }
  20. [DataMember]
  21. public string ControlJobName { get; set; }
  22. [DataMember]
  23. public Guid InnerId { get; set; }
  24. [DataMember]
  25. public List<Tuple<ModuleName, int>> SlotWafers { get; set; }
  26. [DataMember]
  27. public DateTime BeginTime { get; set; }
  28. [DataMember]
  29. public DateTime EndTime { get; set; }
  30. public ProcessJobInfo()
  31. {
  32. State = EnumProcessJobState.Created;
  33. InnerId = Guid.NewGuid();
  34. }
  35. public void SetState(EnumProcessJobState state)
  36. {
  37. State = state;
  38. }
  39. }
  40. public static class EnumProcessJobState_Extension
  41. {
  42. public static bool IsCreated(this EnumProcessJobState state) => state == EnumProcessJobState.Created;
  43. public static bool IsQueued(this EnumProcessJobState state) => state == EnumProcessJobState.Queued;
  44. public static bool IsCanceled(this EnumProcessJobState state) => state == EnumProcessJobState.Canceled;
  45. public static bool IsSetUp(this EnumProcessJobState state) => state == EnumProcessJobState.SetUp;
  46. public static bool IsWaitingForStart(this EnumProcessJobState state) => state == EnumProcessJobState.WaitingForStart;
  47. public static bool IsProcessing(this EnumProcessJobState state) => state == EnumProcessJobState.Processing;
  48. public static bool IsProcessingComplete(this EnumProcessJobState state) => state == EnumProcessJobState.ProcessingComplete;
  49. public static bool IsPausing(this EnumProcessJobState state) => state == EnumProcessJobState.Pausing;
  50. public static bool IsPaused(this EnumProcessJobState state) => state == EnumProcessJobState.Paused;
  51. public static bool IsAborting(this EnumProcessJobState state) => state == EnumProcessJobState.Aborting;
  52. public static bool IsStopping(this EnumProcessJobState state) => state == EnumProcessJobState.Stopping;
  53. public static bool IsComplete(this EnumProcessJobState state) => state == EnumProcessJobState.Complete;
  54. public static bool IsFinished(this EnumProcessJobState state) => state == EnumProcessJobState.Complete || state == EnumProcessJobState.ProcessingComplete;
  55. }
  56. }