/// <summary> /// </summary> /// <param name="entity"/> /// <param name="now"/> /// <param name="target"/> /// <param name="factor"/> /// <param name="ctx"/> /// <returns/> public WeightValue LAST_RUN(Mozart.Simulation.Engine.ISimEntity entity, DateTime now, Mozart.Simulation.Engine.ActiveObject target, Mozart.SeePlan.DataModel.WeightFactor factor, Mozart.SeePlan.Simulation.IDispatchContext ctx) { FabAoEquipment eqp = target as FabAoEquipment; var last = eqp.GetLastPlan(); //eqp.LastPlan; if (last == null) { return(new WeightValue(0)); } FabPlanInfo plan = last as FabPlanInfo; FabLot lot = entity as FabLot; bool isNeedSetup = eqp.IsNeedSetup(lot); float markValue = 0; if (isNeedSetup == false) { markValue = 1; if (lot.CurrentFabPlan.OwnerType != plan.OwnerType) { markValue = 0.5f; } } return(new WeightValue(markValue * factor.Factor)); }