ProcessJobInfo.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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. public enum EnumProcessingState
  9. {
  10. WaitingMaterial,
  11. WaitingCharge,
  12. CoolingBeforeCharge,
  13. Charging,
  14. WaitingProcess,
  15. Processing,
  16. Cooling,
  17. CoolingBeforeDischarge,
  18. WaitingDischarge,
  19. Discharging,
  20. WaitingWithdrawal,
  21. Withdrawal,
  22. }
  23. [Serializable]
  24. [DataContract]
  25. public class ProcessJobInfo
  26. {
  27. [DataMember]
  28. public SequenceInfo Sequence { get; set; }
  29. [DataMember]
  30. public EnumProcessJobState State { get; private set; }
  31. [DataMember]
  32. public EnumProcessingState ProcessingState { get; set; }
  33. [DataMember]
  34. public string Name { get; set; }
  35. [DataMember]
  36. public string LotName { get; set; }
  37. [DataMember]
  38. public string ControlJobName { get; set; }
  39. [DataMember]
  40. public string BatchType { get; set; }
  41. [DataMember]
  42. public Guid InnerId { get; set; }
  43. [DataMember]
  44. public List<Tuple<ModuleName, int>> SlotWafers { get; set; }
  45. [DataMember]
  46. public List<Tuple<string, string, List<int>>> Stockers { get; set; }
  47. [DataMember]
  48. public DateTime BeginTime { get; set; }
  49. [DataMember]
  50. public DateTime EndTime { get; set; }
  51. [DataMember]
  52. public DateTime CreateTime { get; set; }
  53. [DataMember]
  54. public string JobRecipe { get; set; }
  55. [DataMember]
  56. public string ProcessRecipe { get; set; }
  57. [DataMember]
  58. public string LayoutRecipe { get; set; }
  59. public List<int> SideDummySlots { get; set; }
  60. public List<int> ExtraDummySlots { get; set; }
  61. public List<int> ProductSlots { get; set; }
  62. public List<int> Monitor1Slots { get; set; }
  63. public List<int> Monitor2Slots { get; set; }
  64. public List<int> TSlots { get; set; }//expert mode
  65. public List<int> XdSlots { get; set; }//expert mode
  66. public int CoolTimeSec { get; set; }
  67. public bool IsEmptyLayout { get; set; }
  68. public bool RobotHomed { get; set; }
  69. public bool IsMapAfterCharge { get; set; }
  70. public bool IsMapBeforeDischarge { get; set; }
  71. public bool IsNeedChargeDummyWafer { get; set; }
  72. public bool IsStandbyStarted { get; set; }
  73. public bool IsN2PurgeMode { get; set; }
  74. public string N2PurgeModeStr { get; set; }
  75. public ProcessJobInfo()
  76. {
  77. State = EnumProcessJobState.Created;
  78. InnerId = Guid.NewGuid();
  79. }
  80. public void SetState(EnumProcessJobState state)
  81. {
  82. State = state;
  83. }
  84. }
  85. }