using System; using System.Collections.Generic; using System.Runtime.Serialization; using MECF.Framework.Common.Equipment; using MECF.Framework.Common.Schedulers; namespace MECF.Framework.Common.Jobs { public enum EnumProcessingState { WaitingMaterial, WaitingCharge, CoolingBeforeCharge, Charging, WaitingProcess, Processing, Cooling, CoolingBeforeDischarge, WaitingDischarge, Discharging, WaitingWithdrawal, Withdrawal, } [Serializable] [DataContract] public class ProcessJobInfo { [DataMember] public SequenceInfo Sequence { get; set; } [DataMember] public EnumProcessJobState State { get; private set; } [DataMember] public EnumProcessingState ProcessingState { get; set; } [DataMember] public string Name { get; set; } [DataMember] public string LotName { get; set; } [DataMember] public string ControlJobName { get; set; } [DataMember] public string BatchType { get; set; } [DataMember] public Guid InnerId { get; set; } [DataMember] public List> SlotWafers { get; set; } [DataMember] public List>> Stockers { get; set; } [DataMember] public DateTime BeginTime { get; set; } [DataMember] public DateTime EndTime { get; set; } [DataMember] public DateTime CreateTime { get; set; } [DataMember] public string JobRecipe { get; set; } [DataMember] public string ProcessRecipe { get; set; } [DataMember] public string LayoutRecipe { get; set; } public List SideDummySlots { get; set; } public List ExtraDummySlots { get; set; } public List ProductSlots { get; set; } public List Monitor1Slots { get; set; } public List Monitor2Slots { get; set; } public List TSlots { get; set; }//expert mode public List XdSlots { get; set; }//expert mode public int CoolTimeSec { get; set; } public bool IsEmptyLayout { get; set; } public bool RobotHomed { get; set; } public bool IsMapAfterCharge { get; set; } public bool IsMapBeforeDischarge { get; set; } public bool IsNeedChargeDummyWafer { get; set; } public bool IsStandbyStarted { get; set; } public bool IsN2PurgeMode { get; set; } public string N2PurgeModeStr { get; set; } public ProcessJobInfo() { State = EnumProcessJobState.Created; InnerId = Guid.NewGuid(); } public void SetState(EnumProcessJobState state) { State = state; } } }