internal static bool IsNeedChangeAcid(FabAoEquipment eqp, string stepID, string productID) { if (eqp == null) { return(false); } if (eqp.IsAcidConst == false) { return(false); } AcidDensity acid = eqp.AcidDensity; //설비의 최대 농도 초과시 Setup필요 if (acid.CurrentAcid > acid.ChangeDensity) { return(true); } AcidLimit limit = AcidMaster.GetAcidLimit(eqp.ShopID, eqp.TargetEqp.EqpGroup, productID, stepID); if (limit == null) { return(false); } bool isLast = IsLastPlan(eqp, productID, stepID); float limitDensity = isLast ? limit.DENSITY_LIMIT : limit.DENSITY_JC; //제품별 농도 초과시 Setup필요 if (acid.CurrentAcid > limitDensity) { return(true); } return(false); }
internal static void InitAcidDensity(this FabAoEquipment eqp) { AcidDensity acid = CreateHelper.CreateAcidDensity(eqp); acid.InitAcid = eqp.TargetEqp.StatusInfo == null ? 0 : eqp.TargetEqp.StatusInfo.LastAcidDensity; acid.CurrentAcid = acid.InitAcid; var chgInfos = InputMart.Instance.AcidChgInfoView.FindRows(eqp.ShopID, eqp.TargetEqp.EqpGroup); if (chgInfos == null || chgInfos.Count() == 0) { //등록된 설비 그룹만 농도체크 eqp.AcidDensity = null; return; } else { AcidChgInfo info = chgInfos.First(); acid.ChangeDensity = info.DENSITY; acid.ChangeTime = info.CHG_TIME; eqp.AcidDensity = acid; } }