From dfa7a011f47399b1a083d020d9460f6801c9c98c Mon Sep 17 00:00:00 2001 From: hongji.li <hongji.a.li@capgemini.com> Date: 星期三, 01 十一月 2023 15:25:05 +0800 Subject: [PATCH] pegging结果分析优化 --- _Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 deletions(-) diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl index 9ead81a..cc10732 100644 --- a/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl +++ b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl @@ -4,6 +4,7 @@ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase, Number numberOfPlies, const NewSupply ns, + Real actualFulfillmentQuantity, Real fulfillmentQuantity, PeggingResult parentPeggingResult ) @@ -14,7 +15,16 @@ pisp := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(); - childPeggingResult := PeggingResult::Create( peggingProductInSalesDemandBase, pisp.ProductID(), pisp.StockingPointID(), ns.Start().Date(), ns.Quantity(), fulfillmentQuantity, "", numberOfPlies, pisp.UnitOfMeasureName() ); + childPeggingResult := PeggingResult::Create( peggingProductInSalesDemandBase, + pisp.ProductID(), + pisp.StockingPointID(), + ns.Start().Date(), + ns.Quantity(), + actualFulfillmentQuantity, + fulfillmentQuantity, + "", + numberOfPlies, + pisp.UnitOfMeasureName() ); PeggingResult::SetParentChildRelationship( parentPeggingResult, childPeggingResult ); ontype ( ns.PeriodTask_MP() ) { @@ -24,11 +34,12 @@ // ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() ); traverse ( pto, DependentDemand, dd, dd.Quantity() > 0 ) { traverse ( dd, Fulfillment, f ) { + actualFulfillmentQuantity := f.Quantity(); smp1 := f.Supply_MP(); numberOfPlies++; fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity; // info( "--------------------------------------------------------------" ); - PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, fulfillmentQuantity, childPeggingResult ); + PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, actualFulfillmentQuantity, fulfillmentQuantity, childPeggingResult ); numberOfPlies--; } } @@ -42,10 +53,11 @@ // info( "杞﹂亾鍛ㄦ湡浠诲姟 ", "渚涘簲鏃堕棿锛�", ns.Start().Format( "Y-M2-D2" ), " 鍛ㄦ湡浠诲姟KEY锛�", ptll.Key(), " ", // ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() ); traverse ( targetDependentDemand, Fulfillment, f ) { + actualFulfillmentQuantity := f.Quantity(); smp1 := f.Supply_MP(); numberOfPlies++; // info( "--------------------------------------------------------------" ); - PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, fulfillmentQuantity, childPeggingResult ); + PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, actualFulfillmentQuantity, fulfillmentQuantity, childPeggingResult ); numberOfPlies--; } } -- Gitblit v1.9.3