private void CalcWipProfile() { if (_eqpDic.Count == 0) { return; } //AoFactory.Current.Logger.MonitorInfo("Wip Profile을 계산합니다 {0}/{1}", AoFactory.Current.NowDT, DateTime.Now); // -- Wip Profile 계산 foreach (JobState jobState in InFlowMaster.JobStateDic.Values) { EqpState sampleState = _eqpDic.Values.ElementAt(0); List <FabStep> list; _distinctSteps.TryGetValue(jobState.ProductID, out list); if (list == null) { continue; } foreach (FabStep step in list) { jobState.CalcWipProfile(step, sampleState.WPreset, null); } } // AoFactory.Current.Logger.MonitorInfo("Wip Profile을 종료합니다 {0}", DateTime.Now); }
public void AddEqpState(EqpState eqpState) { string eqpID = eqpState.EqpID; EqpState state; if (_eqpDic.TryGetValue(eqpID, out state) == false) { _eqpDic.Add(eqpID, eqpState); } }
private static void BuildEqpStates() { foreach (FabAoEquipment eqp in Factory.Equipments.Values) { if (SimHelper.IsTftRunning) { if (eqp.ShopID == Constants.CellShop) { continue; } } else { if (eqp.ShopID != Constants.CellShop) { continue; } } string eqpID = eqp.EqpID; string dspEqpGroupID = eqp.DspEqpGroupID; Dictionary <string, EqpState> eqpDic; if (_eqpDic.TryGetValue(dspEqpGroupID, out eqpDic) == false) { _eqpDic[dspEqpGroupID] = eqpDic = new Dictionary <string, EqpState>(); } FabManager fabMgr = InFlowMaster.GetManager(dspEqpGroupID); if (fabMgr == null) { continue; } eqpDic[eqpID] = new EqpState(fabMgr, eqp, InFlowMaster.GetInFlowSteps(eqpID)); } }