private void GetProdRouteQty(WIPItemNeed wipItemNeed) { string key = String.Format("{0}_{1}", wipItemNeed.Item.ItemNo, wipItemNeed.RouteLine.WorkOper.Name); if (dictProdRoute.ContainsKey(key)) { XPCollection<WIPProdRoute> wipProdRoutes = dictProdRoute[key]; for (int i = 0; i < wipProdRoutes.Count; i++) { WIPProdRoute wipProdRoute = wipProdRoutes[i]; if (wipProdRoute.BalQty > 0 && wipItemNeed.LackQty > 0) { float tmpQty; if (wipProdRoute.BalQty > wipItemNeed.LackQty) tmpQty = wipItemNeed.LackQty; else tmpQty = wipProdRoute.BalQty; WIPItemNeedDetail needDetail = new WIPItemNeedDetail(uow, wipItemNeed); needDetail.WIPProdRoute = wipProdRoute; needDetail.UsedQty = tmpQty; needDetail.NeedDetailType = WIPItemNeedDetail.DetailType.Production; wipItemNeed.WIPQty = wipItemNeed.WIPQty + tmpQty; wipItemNeed.calcSubItemNeedQty(); wipItemNeed.Save(); wipProdRoute.UsedQty = wipProdRoute.UsedQty + tmpQty; wipProdRoute.Save(); } } } }
private void GetPoQty(WIPItemNeed wipItemNeed) { string key = wipItemNeed.Item.ItemNo; if (dictPoLine.ContainsKey(key)) { XPCollection<WIPPurchOrderLine> wipPoLines = dictPoLine[key]; #region // Get WHQAQty - PurchLine QA Qty foreach (WIPPurchOrderLine wipPoLine in wipPoLines) { if (wipPoLine.QABalQty > 0 && wipItemNeed.LackQty > 0) { float tmpQty; if (wipPoLine.QABalQty > wipItemNeed.LackQty) tmpQty = wipItemNeed.LackQty; else tmpQty = wipPoLine.QABalQty; WIPItemNeedDetail needDetail = new WIPItemNeedDetail(uow, wipItemNeed); needDetail.WIPPurchOrderLine = wipPoLine; needDetail.UsedQty = tmpQty; needDetail.NeedDetailType = WIPItemNeedDetail.DetailType.QA; wipItemNeed.WHQAQty = wipItemNeed.WHQAQty + tmpQty; wipItemNeed.calcSubItemNeedQty(); wipItemNeed.Save(); wipPoLine.QAUsedQty = wipPoLine.QAUsedQty + tmpQty; wipPoLine.Save(); } } #endregion #region // Get WIPQty - PurchLine ordered qty foreach (WIPPurchOrderLine wipPoLine in wipPoLines) { if (wipPoLine.BalQty > 0 && wipItemNeed.LackQty > 0) { float tmpQty; if (wipPoLine.BalQty > wipItemNeed.LackQty) tmpQty = wipItemNeed.LackQty; else tmpQty = wipPoLine.BalQty; WIPItemNeedDetail needDetail = new WIPItemNeedDetail(uow, wipItemNeed); needDetail.WIPPurchOrderLine = wipPoLine; needDetail.Projection = wipPoLine.GetProjection(tmpQty); needDetail.UsedQty = tmpQty; needDetail.NeedDetailType = WIPItemNeedDetail.DetailType.Purch; wipItemNeed.WIPQty = wipItemNeed.WIPQty + tmpQty; wipItemNeed.calcSubItemNeedQty(); wipItemNeed.Save(); wipPoLine.UsedQty = wipPoLine.UsedQty + tmpQty; wipPoLine.Save(); } } #endregion } }
private void GetProdBomQty(WIPItemNeed wipItemNeed) { string key = ""; if (wipItemNeed.ParentItemNeed != null) key = String.Format("{0}_{1}", wipItemNeed.ParentItemNeed.Item.ItemNo, wipItemNeed.Item.ItemNo); else key = wipItemNeed.Item.ItemNo; if (dictProdBom.ContainsKey(key)) { XPCollection<WIPProdBom> wipProdBoms = dictProdBom[key]; for (int i = 0; i < wipProdBoms.Count; i++) { WIPProdBom wipProdBom = wipProdBoms[i]; if (wipProdBom.BalQty > 0 && wipItemNeed.LackQty > 0) { float tmpQty; if (wipProdBom.BalQty > wipItemNeed.LackQty) tmpQty = wipItemNeed.LackQty; else tmpQty = wipProdBom.BalQty; WIPItemNeedDetail needDetail = new WIPItemNeedDetail(uow, wipItemNeed); needDetail.WIPProdBom = wipProdBom; needDetail.UsedQty = tmpQty; needDetail.NeedDetailType = WIPItemNeedDetail.DetailType.Production; wipItemNeed.WIPProdBomQty = wipItemNeed.WIPProdBomQty + tmpQty; wipItemNeed.calcSubItemNeedQty(); wipItemNeed.Save(); wipProdBom.UsedQty = wipProdBom.UsedQty + tmpQty; wipProdBom.Save(); } } } }
public void calcWipItemNeed(WIPItemNeed wipItemNeed) { if (BalQty > 0 && wipItemNeed.LackQty > 0) { float tmpQty = BalQty; wipItemNeed.WIPWHTotal = this; if (tmpQty > wipItemNeed.LackQty) { tmpQty = wipItemNeed.LackQty; } wipItemNeed.WHQty = wipItemNeed.WHQty + tmpQty; wipItemNeed.calcSubItemNeedQty(); wipItemNeed.Save(); UsedQty = UsedQty + tmpQty; } if (QABalQty > 0 && wipItemNeed.LackQty > 0) { float tmpQty = QABalQty; wipItemNeed.WIPWHTotal = this; if (tmpQty > wipItemNeed.LackQty) { tmpQty = wipItemNeed.LackQty; } wipItemNeed.WHQAQty = wipItemNeed.WHQAQty + tmpQty; wipItemNeed.calcSubItemNeedQty(); wipItemNeed.Save(); QAUsedQty = QAUsedQty + tmpQty; } }