ProcessJobInfo.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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 ProcessJobInfo()
  74. {
  75. State = EnumProcessJobState.Created;
  76. InnerId = Guid.NewGuid();
  77. }
  78. public void SetState(EnumProcessJobState state)
  79. {
  80. State = state;
  81. }
  82. }
  83. }