Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }