using Shared.Metrology; using System; using System.Collections.Generic; namespace Shared { public class ExtendedParameter { public string DiplayName { get; set; } public string ControlPlanName { get; set; } public bool? CriticalToShip { get; set; } public string Unit { get; set; } public double? LSL { get; set; } public double? TSL { get; set; } public double? USL { get; set; } public string Value { get; set; } public bool? Ignore { get; set; } //public class ExtractorKeys public string Lot { get; set; } //1 public string ToolID { get; set; } //2 public string Process { get; set; } //3 public string WaferID { get; set; } //4 public string Part { get; set; } //5 public string Recipe { get; set; } //6 public string ProcessFlow { get; set; } //7 //public class DataKeys public string Employee { get; set; } //1 public string SID { get; set; } //2 public string WaferRegion { get; set; } //3 public string WaferScribe { get; set; } //4 public string WaferPosition { get; set; } //5 public string X { get; set; } //6 public string Y { get; set; } //7 public string EAFCellInstance { get; set; } //8 public string EAFReference { get; set; } //9 public string IQSReference { get; set; } //10 public ExtendedParameter(Logistics logistics, string diplayName, string controlPlanName) { DiplayName = diplayName; ControlPlanName = controlPlanName; CriticalToShip = null; Unit = string.Empty; LSL = null; TSL = null; USL = null; Ignore = null; Value = string.Empty; //public class ExtractorKeys Lot = string.Empty; //1 ToolID = string.Empty; //2 Process = string.Empty; //3 WaferID = string.Empty; //4 Part = string.Empty; //5 Recipe = string.Empty; //6 ProcessFlow = string.Empty; //7 //public class DataKeys Employee = string.Empty; //1 SID = string.Empty; //2 WaferRegion = string.Empty; //3 WaferScribe = string.Empty; //4 WaferPosition = string.Empty; //5 X = string.Empty; //6 Y = string.Empty; //7 EAFCellInstance = string.Empty; //8 EAFReference = string.Empty; //9 IQSReference = string.Empty; //10 // Lot = "-"; SID = "-"; Part = "-"; if (!(logistics is null)) { ToolID = logistics.MesEntity; EAFCellInstance = logistics.JobID; } } public override string ToString() { return Value; } internal void Set(EquipmentConnection equipmentConnection, string queryFilter, Dictionary allColumnCollection) { Column key; EAFReference = equipmentConnection.ToString(); if (string.IsNullOrEmpty(queryFilter)) IQSReference = null; else IQSReference = queryFilter; // key = Column.SID; if (!allColumnCollection.ContainsKey(key)) SID = "-"; else SID = allColumnCollection[key]; key = Column.Employee; if (!allColumnCollection.ContainsKey(key)) Employee = "AUTO"; else Employee = allColumnCollection[key]; // key = Column.Lot; if (allColumnCollection.ContainsKey(key)) Lot = allColumnCollection[key]; // key = Column.Part; if (allColumnCollection.ContainsKey(key)) Part = allColumnCollection[key]; // key = Column.Process; if (allColumnCollection.ContainsKey(key)) Process = allColumnCollection[key]; // key = Column.Recipe; if (allColumnCollection.ContainsKey(key)) Recipe = allColumnCollection[key]; // key = Column.Wafer_ID; if (allColumnCollection.ContainsKey(key)) WaferID = allColumnCollection[key]; key = Column.Denton_Gun_Pocket; if (allColumnCollection.ContainsKey(key)) WaferID = allColumnCollection[key]; key = Column.WaferPocket_Candela; if (allColumnCollection.ContainsKey(key)) WaferID = allColumnCollection[key]; key = Column.WaferPocket_Warp; if (allColumnCollection.ContainsKey(key)) WaferID = allColumnCollection[key]; // key = Column.Wafer_ID; if (allColumnCollection.ContainsKey(key)) WaferID = allColumnCollection[key]; key = Column.Denton_Gun_Pocket; if (allColumnCollection.ContainsKey(key)) WaferID = allColumnCollection[key]; key = Column.WaferPocket_Candela; if (allColumnCollection.ContainsKey(key)) WaferID = allColumnCollection[key]; key = Column.WaferPocket_Warp; if (allColumnCollection.ContainsKey(key)) WaferID = allColumnCollection[key]; // key = Column.Wafer_Region; if (allColumnCollection.ContainsKey(key)) WaferRegion = allColumnCollection[key]; key = Column.Wafer_Scribe; if (allColumnCollection.ContainsKey(key)) WaferScribe = allColumnCollection[key]; key = Column.WaferPosition_BV; if (allColumnCollection.ContainsKey(key)) WaferPosition = allColumnCollection[key]; key = Column.WaferPosition_CV; if (allColumnCollection.ContainsKey(key)) WaferPosition = allColumnCollection[key]; key = Column.WaferPosition_Hall; if (allColumnCollection.ContainsKey(key)) WaferPosition = allColumnCollection[key]; key = Column.WaferPosition_PR; if (allColumnCollection.ContainsKey(key)) WaferPosition = allColumnCollection[key]; key = Column.X_Coord; if (allColumnCollection.ContainsKey(key)) X = allColumnCollection[key]; key = Column.Y_Coord; if (allColumnCollection.ContainsKey(key)) Y = allColumnCollection[key]; } } }