private void PrePareTarget_Fab(MergedPegPart mpp) { if (InputMart.Instance.GlobalParameters.ApplyCellOutPlan == false) { mpp.Items.Clear(); foreach (var mm in InputMart.Instance.FabMoMaster.Values) { if (BopHelper.IsCellShop(mm.ShopID)) { continue; } FabPegPart pp = new FabPegPart(mm, mm.Product); foreach (FabMoPlan mo in mm.MoPlanList) { FabPegTarget pt = CreateHelper.CreateFabPegTarget(pp, mo); pp.AddPegTarget(pt); if (pp.SampleMs == null) { pp.SampleMs = pt; } } mpp.Merge(pp); } } }
/// <summary> /// </summary> /// <param name="pegPart"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public PegPart PREPARE_TARGET0(PegPart pegPart, ref bool handled, PegPart prevReturnValue) { //초기화 PegMaster.InitPegMaster(); //최초 MergedPegPart 생성. MergedPegPart mpp = pegPart as MergedPegPart; switch (pegPart.CurrentStage.StageID) { case ("InitStage"): PrePareTarget_Fab(mpp); break; case ("CellPreStage"): PrePareTarget_Cell(mpp); break; default: break; } return(mpp); }
/// <summary> /// </summary> /// <param name="pegPart"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public PegPart PREPARE_TARGET0(PegPart pegPart, ref bool handled, PegPart prevReturnValue) { try { MergedPegPart mp = pegPart as MergedPegPart; foreach (MicronBEAssyBEMoMaster moMaster in InputMart.Instance.MicronBEAssyBEMoMaster.Values) { MicronBEAssyBEPegPart pp = new MicronBEAssyBEPegPart(moMaster, moMaster.Product); foreach (MicronBEAssyBEMoPlan moPlan in moMaster.MoPlanList) { MicronBEAssyBEPegTarget target = new MicronBEAssyBEPegTarget(pp, moPlan); pp.AddPegTarget(target); } mp.Merge(pp); } return(mp); } catch (Exception e) { WriteHelper.WriteErrorHistory(ErrorLevel.FATAL, string.Format("ErrorMessage : {0} MethodName : {1}", e.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name)); return(default(PegPart)); } }
internal static void PrePareTargetbyCell_InTarget(MergedPegPart mg) { List <PegPart> list = new List <PegPart>(mg.Items); foreach (FabPegPart pp in list) { string arrayCode = CellCodeMaster.GetArrayCode(pp.Product.ProductID); string cfCode = CellCodeMaster.GetCfCode(pp.Product.ProductID); var arrayProd = BopHelper.FindProduct(Constants.ArrayShop, arrayCode); var cfProd = BopHelper.FindProduct(Constants.CF, cfCode); if (arrayProd == null || cfProd == null) { ErrHist.WriteIf(string.Format("BuildFabOutTarget{0}", pp.Product.ProductID), ErrCategory.PEGGING, ErrLevel.ERROR, pp.Current.Step.FactoryID, pp.Current.Step.ShopID, Constants.NULL_ID, pp.Product.ProductID, Constants.NULL_ID, Constants.NULL_ID, Constants.NULL_ID, pp.Current.ShopID, "NOT FOUND PRODUCT", string.Format("Do not build TFT OutTarget") ); mg.Items.Remove(pp); continue; } FabStep arrayStep = BopHelper.GetSafeDummyStep(pp.Current.FactoryID, Constants.ArrayShop, "0000"); FabStep cfStep = BopHelper.GetSafeDummyStep(pp.Current.FactoryID, Constants.CfShop, "0000"); FabPegPart cfPP = PegMaster.CreateCellBankPegPart(pp, cfProd); cfPP.AddCurrentPlan(cfProd, cfStep); pp.AddCurrentPlan(arrayProd, arrayStep); pp.Product = arrayProd; foreach (FabPegTarget pt in pp.PegTargetList) { pt.TargetKey = PegHelper.CreateTargetKey(pt.TargetKey, arrayProd.ProductID.Substring(0, 2)); } mg.Items.Add(cfPP); } }
public PegPart CELL_BANK_PREPARE(PegPart pegPart) { MergedPegPart mg = pegPart as MergedPegPart; //PREPARE_TARGET PegMaster.PrePareTargetbyCell_InTarget(mg); //PREPARE_WIP PegMaster.PrePareBankWip(); return(pegPart); }
/// <summary> /// </summary> /// <param name="pegPart"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public PegPart PREPARE_TARGET0(PegPart pegPart, ref bool handled, PegPart prevReturnValue) { MergedPegPart mp = new MergedPegPart(); foreach (MicronBETestBEMoMaster moMaster in InputMart.Instance.MicronBETestBEMoMaster.Values) { MicronBETestBEPegPart pp = new MicronBETestBEPegPart(moMaster, moMaster.Product); foreach (MicronBETestBEMoPlan moPlan in moMaster.MoPlanList) { MicronBETestBEPegTarget target = new MicronBETestBEPegTarget(pp, moPlan); pp.AddPegTarget(target); } mp.Merge(pp); } return(mp); }
/// <summary> /// </summary> /// <param name="parts"/> /// <returns/> public IEnumerable <PegPart> MERGEPEGPARTS(IEnumerable <PegPart> parts) { try { MergedPegPart mg = new MergedPegPart(); foreach (var part in parts) { mg.Merge(part); mg.CurrentStep = part.CurrentStep; } List <PegPart> list = new List <PegPart>(); list.Add(mg); return(list); } catch (Exception e) { WriteHelper.WriteErrorHistory(ErrorLevel.FATAL, string.Format("ErrorMessage : {0} MethodName : {1}", e.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name)); return(default(IEnumerable <PegPart>)); } }