/// <summary> /// </summary> /// <param name="lot"/> /// <param name="loadInfo"/> /// <param name="step"/> /// <param name="now"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public Step GET_NEXT_STEP1(Mozart.SeePlan.Simulation.ILot lot, Mozart.SeePlan.DataModel.LoadInfo loadInfo, Mozart.SeePlan.DataModel.Step step, DateTime now, ref bool handled, Mozart.SeePlan.DataModel.Step prevReturnValue) { FabLot flot = lot as FabLot; var fstep = step as FabStep; FabPlanInfo plan = loadInfo as FabPlanInfo; FabProduct prod = flot.FabProduct; FabProduct nextProd = prod; var nextStep = GetNextStep(fstep, prod, plan, ref nextProd); flot.Product = nextProd; return(nextStep); }
/// <summary> /// </summary> /// <param name="aeqp"/> /// <param name="hb"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public LoadInfo SET_LAST_LOADING_INFO1(Mozart.SeePlan.Simulation.AoEquipment aeqp, Mozart.SeePlan.Simulation.IHandlingBatch hb, ref bool handled, Mozart.SeePlan.DataModel.LoadInfo prevReturnValue) { if (hb == null) { return(null); } var lot = hb.Sample; return(lot.CurrentPlan); }
/// <summary> /// </summary> /// <param name="lot"/> /// <param name="task"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public LoadInfo CREATE_LOAD_INFO0(Mozart.SeePlan.Simulation.ILot lot, Mozart.SeePlan.DataModel.Step task, ref bool handled, Mozart.SeePlan.DataModel.LoadInfo prevReturnValue) { FabLot flot = lot as FabLot; FabStep step = task as FabStep; FabPlanInfo info = new FabPlanInfo(step); info.ShopID = step.ShopID; info.LotID = flot.LotID; info.Product = flot.FabProduct; info.UnitQty = flot.UnitQty; info.ProductID = info.Product.ProductID; info.ProcessID = info.Product.ProcessID; info.OwnerType = flot.OwnerType; info.OwnerID = flot.OwnerID; //Change ProductVersion flot.CurrentProductVersion = step.IsArrayShop ? flot.OrigProductVersion : "00001"; info.ProductVersion = flot.CurrentProductVersion; if (flot.CurrentProcessID != info.ProcessID) { flot.Route = step.Process; } info.WipInfo = flot.Wip; info.Lot = flot; info.LotFilterInfo = new LotFilterInfo(); info.LotFilterInfo.FilterType = DispatchFilter.None; info.LotFilterInfo.Reason = Constants.NULL_ID; info.LotFilterInfo.RecipeTimes = new Dictionary <string, EqpRecipeInfo>(); if (flot.PlanSteps == null) { flot.PlanSteps = new List <string>(); } flot.PlanSteps.Add(step.StepKey); return(info); }