lazhen
2025-01-09 8afe90b633046db39042aada36b88193062f8cff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Quintiq file version 2.0
#parent: #root
Method GetUnitForShiftOptimization () const as owning Units
{
  Description: 'Returns the set of units on which shift pattern optimization can be used (if the unit does not have an aggregated capacity, returns the unit itself).'
  TextBody:
  [*
    value := construct( Units );
    
    if( this.GetUseShiftOptimization() )
    {
      if( this.HasCapacityTypeTime() )
      {
        value := value.Merge( this );
      }
      else if( this.HasCapacityTypeTimeAggregation() )
      {
        traverse( this, Child, child )
        {
          value := value.Union( child.GetUnitForShiftOptimization() );
        }
      }
    }
    
    return &value;
  *]
  InterfaceProperties { Accessibility: 'Module' }
}