yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Quintiq file version 2.0
#parent: #root
Method GetPISPIPForShelfLifeOptimizer (
  const LibOpt_Scope scope
) const as constcontent owning ProductInStockingPointInPeriodPlannings
{
  TextBody:
  [*
    pispipsinrun := selectset( this, 
                               ProductInStockingPoint_MP.ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), 
                               pispip, 
                               true,
                               scope.Contains( pispip.PISPIPInOptimizerRun() ) ); 
    startfirst := min( pispipsinrun, Elements, p, true, p.Start() ); 
    shelflife := maxvalue(  Duration::Days( this.ProductInStockingPoint_MP().Product_MP().ShelfLife() ), 
                            Duration::Days( this.ProductInStockingPoint_MP().Product_MP().MaturationDays() ) ); 
    extra := selectset( this, ProductInStockingPoint_MP.ProductInStockingPointInPeriodPlanning, p, true, p.Start() < startfirst and p.End() > startfirst - shelflife );
    initpispips := extra.Union( pispipsinrun ); 
    initpispips := initpispips.Unique(); 
    return &initpispips;
  *]
  InterfaceProperties { Accessibility: 'Module' }
}