yypsybs
2023-09-09 3cb5a54def670d97301f07170fcaad213bfc54f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Quintiq file version 2.0
#parent: #root
StaticMethod GetAvailableShiftPatterns (
  MacroPlan macroplan,
  UnitPeriodTimes unitperiods
) as owning ShiftPatterns
{
  Description: 'Gets the shift patterns allowed for all the given unit periods'
  TextBody:
  [*
    // Return the list of shift patterns that are allowed on each one of the given unit periods.
    // If there are no matches, returns an empty list.
    
    shiftpatterns := selectset( macroplan, ShiftPattern, sp,
                                forall( unitperiods, Elements.Unit, unit,
                                        exists( unit, UnitShiftPattern, usp, usp.ShiftPattern() = sp and usp.IsAllowed() ) ) );
    
    return &shiftpatterns;
  *]
}