hongji.li
2023-11-05 2713c338a98325cad21ebec2085802a5e49a98ef
_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl
@@ -11,7 +11,7 @@
{
  TextBody:
  [*
    info( "供应类型(NewSupply)", "    供应量:", ns.Quantity(), "    满足:", fulfillmentQuantity );
    //info( "供应类型(NewSupply)", "    供应量:", ns.Quantity(), "    满足:", fulfillmentQuantity );
    
    pisp := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
    
@@ -30,8 +30,8 @@
    ontype ( ns.PeriodTask_MP() ) {
      PeriodTaskOperation as pto : {
        childPeggingResult.SupplyType( "产线供应" );
        info( "操作周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    周期任务KEY:", pto.Key(), "    ",
              ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
    //    info( "操作周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    周期任务KEY:", pto.Key(), "    ",
    //          ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
        traverse ( pto, DependentDemand, dd, dd.Quantity() > 0 ) {
          traverse ( dd, Fulfillment, f ) {
            fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity;
@@ -40,7 +40,7 @@
            actualFulfillmentQuantity := f.Quantity();
            smp1 := f.Supply_MP();
            numberOfPlies++;
            info( "--------------------------------------------------------------" );
    //        info( "--------------------------------------------------------------" );
            PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, actualFulfillmentQuantity, orderFulfillmentQuantity, childPeggingResult );
            numberOfPlies--;
          }
@@ -52,15 +52,15 @@
        targetDependentDemand := select( ptll, DependentDemand, dd, 
                                         dd.ProcessInput().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() and
                                         dd.Quantity() = ns.Quantity() );
        info( "车道周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    周期任务KEY:", ptll.Key(), "    ",
              ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
    //    info( "车道周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    周期任务KEY:", ptll.Key(), "    ",
    //          ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
        traverse ( targetDependentDemand, Fulfillment, f ) {
          totalSupply := sum( targetDependentDemand, Fulfillment, tempF, tempF.Quantity() );
          orderFulfillmentQuantity := ( f.Quantity() / totalSupply ) * fulfillmentQuantity;
          actualFulfillmentQuantity := f.Quantity();
          smp1 := f.Supply_MP();
          numberOfPlies++;
          info( "--------------------------------------------------------------" );
    //      info( "--------------------------------------------------------------" );
          PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, actualFulfillmentQuantity, orderFulfillmentQuantity, childPeggingResult );
          numberOfPlies--;
        }