using Aitex.Core.Common; using MECF.Framework.Common.CommonData; using MECF.Framework.Common.Equipment; using MECF.Framework.Common.RecipeCenter; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace MECF.Framework.Common.WaferHolder { public enum WaferHolderStatus { Disabled = 0, Empty = 1, Normal = 2, Processing = 3, Completed=4, Failed=5, MisProcessed=6 } [DataContract] public class WaferHolderInfo : NotifiableItem { [DataMember] public string Id { get; set; } /// /// 创建时所在buffer Id /// [DataMember] public Int32 BufferId { get; set; } /// /// 类型 /// [DataMember] public string CrsType { get; set; } /// /// Wafer尺寸 /// [DataMember] public Int32 WaferSize { get; set; } /// /// 可用性 /// [DataMember] public Boolean Enabled { get; set; } /// /// 化学用剂 /// [DataMember] public string Chemistry { get; set; } /// /// CRS-A Id /// [DataMember] public string CrsAId { get; set; } /// /// CRS-A总次数 /// [DataMember] public int CrsATotalUses { get; set; } /// /// CRS-A pad清理后次数 /// [DataMember] public int CrsAUsesSincePadClean { get; set; } /// /// CRS-A seal清理后次数 /// [DataMember] public int CrsAUsesSinceSealClean { get; set; } /// /// CRS-B Id /// [DataMember] public string CrsBId { get; set; } /// /// CRS-A总次数 /// [DataMember] public int CrsBTotalUses { get; set; } /// /// CRS-A pad清理后次数 /// [DataMember] public int CrsBUsesSincePadClean { get; set; } /// /// CRS-A seal清理后次数 /// [DataMember] public int CrsBUsesSinceSealClean { get; set; } /// /// 所有使用次数 /// [DataMember] public int TotalUses { get; set; } /// /// 所有生产片使用次数 /// [DataMember] public int TotalProductWafers { get; set; } /// /// Dummy Wafes数量 /// [DataMember] public int TotalDummyWafers { get; set; } /// /// 当前位置 /// [DataMember] public string CurrentLocation { get; set; } /// /// Wafer A ID /// [DataMember] public string WaferAId { get; set; } /// /// Wafer A类型 /// [DataMember] public int WaferAType { get; set; } /// /// Wafer B ID /// [DataMember] public string WaferBId { get; set; } /// /// Wafer B 类型 /// [DataMember] public int WaferBType { get; set; } /// /// 当前ProcessJob /// [DataMember] public string CurrentProcessJobId { get; set; } /// /// 当前ControlJob /// [DataMember] public string CurrentControlJobId { get; set; } /// /// 当前LotID /// [DataMember] public string LotId { get; set; } /// /// 状态 /// [DataMember] public WaferHolderStatus Status { get; set; } /// /// 创建时间 /// [DataMember] public DateTime CreateTime { get; set; } /// /// 最后一次更新时间 /// [DataMember] public DateTime LastUpdateTime { get; set; } /// /// Sequence Id /// public string SequenceId { get; set; } /// /// Sequence Recipe /// [DataMember] public SequenceRecipe SequenceRecipe { get; set; } /// /// Metal模块名称 /// public ModuleName MetalModuleName { get; set; } /// /// 调度经过所有过程 /// public List SchedulerModules { get; set; } = new List(); /// /// 是否可以去Loader /// public bool IsToLoader { get; set; } = true; /// /// 上一个Metal Recipe完成时间 /// public DateTime LastMetalRecipeCompleteTime { get; set; } /// /// 起始的位置 /// public string OriginalBuffer { get; set; } /// /// 初始化Wafer信息 /// /// /// public void InitWaferInfo(int waferSize) { this.WaferSize = waferSize; } /// /// 克隆 /// /// public void Clone(WaferHolderInfo info) { this.Id= info.Id; this.CrsType = info.CrsType; this.WaferSize = info.WaferSize; this.Enabled = info.Enabled; this.CrsAId = info.CrsAId; this.CrsATotalUses = info.CrsATotalUses; this.CrsAUsesSinceSealClean = info.CrsAUsesSinceSealClean; this.CrsAUsesSincePadClean = info.CrsAUsesSincePadClean; this.CrsBId = info.CrsBId; this.CrsBTotalUses = info.CrsBTotalUses; this.CrsBUsesSinceSealClean = info.CrsBUsesSinceSealClean; this.CrsBUsesSincePadClean = info.CrsBUsesSincePadClean; this.Chemistry = info.Chemistry; this.TotalUses = info.TotalUses; this.TotalProductWafers = info.TotalProductWafers; this.CurrentLocation = info.CurrentLocation; this.CurrentProcessJobId = info.CurrentProcessJobId; this.CurrentControlJobId = info.CurrentControlJobId; this.Status = info.Status; this.WaferAId= info.WaferAId; this.WaferBId= info.WaferBId; this.SequenceId = info.SequenceId; this.SequenceRecipe = info.SequenceRecipe; } /// /// 克隆 /// /// public void CloneBaseInfo(WaferHolderInfo info) { this.Id = info.Id; this.BufferId = info.BufferId; this.CrsType = info.CrsType; this.WaferSize = info.WaferSize; this.Enabled = info.Enabled; this.CrsATotalUses = info.CrsATotalUses; this.CrsAUsesSinceSealClean = info.CrsAUsesSinceSealClean; this.CrsAUsesSincePadClean = info.CrsAUsesSincePadClean; this.CrsBTotalUses = info.CrsBTotalUses; this.CrsBUsesSinceSealClean = info.CrsBUsesSinceSealClean; this.CrsBUsesSincePadClean = info.CrsBUsesSincePadClean; this.TotalUses = info.TotalUses; this.TotalProductWafers = info.TotalProductWafers; this.CurrentLocation = info.CurrentLocation; this.Chemistry=info.Chemistry; this.WaferAId = info.WaferAId; this.WaferBId = info.WaferBId; } } }