internal static bool IsMatched(this FabPlanInfo info, string shopID, string stepID, string productID, string productVersion, string ownerType, string ownerID, bool checkProductVersion) { if (info == null) { return(false); } if (info.ShopID != shopID) { return(false); } if (info.StepID != stepID) { return(false); } if (info.ProductID != productID) { return(false); } if (checkProductVersion) { var stdStep = info.FabStep.StdStep; if (EqpArrangeMaster.IsFixedProductVer(stdStep, productVersion)) { if (info.ProductVersion != productVersion) { return(false); } } } if (info.OwnerType != ownerType) { return(false); } //TODO : OwnerID 추가 필요 //if (info.OwnerID != ownerID) // return false; return(true); }
public static int GetContinuousQty(FabLot lot, FabStep baseStep, bool includeFromStep = false) { if (baseStep == null) { return(0); } var jobState = GetJobState(lot); if (jobState == null) { return(0); } string productID = lot.CurrentProductID; string productVersion = lot.CurrentProductVersion; bool isFixedProductVer = EqpArrangeMaster.IsFixedProductVer(baseStep.StdStep, productVersion); if (isFixedProductVer == false) { productVersion = Constants.NULL_ID; } int continuousQty = 0; if (includeFromStep) { //run int runWipQty = jobState.GetStepWips(baseStep, WipType.Run, productVersion); if (runWipQty <= 0) { return(continuousQty); } continuousQty += runWipQty; //wait int waitWipQty = jobState.GetStepWips(baseStep, WipType.Wait, productVersion); if (waitWipQty <= 0) { return(continuousQty); } continuousQty += waitWipQty; } var pevStepList = baseStep.GetPrevSteps(productID); if (pevStepList != null && pevStepList.Count > 0) { //run int runWipQty = 0; foreach (var prevStep in pevStepList) { runWipQty += jobState.GetStepWips(prevStep, WipType.Run, productVersion); } if (runWipQty <= 0) { return(continuousQty); } continuousQty += runWipQty; //wait int waitWipQty = 0; foreach (var prevStep in pevStepList) { waitWipQty += jobState.GetStepWips(prevStep, WipType.Wait, productVersion); } if (waitWipQty <= 0) { return(continuousQty); } continuousQty += waitWipQty; } return(continuousQty); }