Quintiq file version 2.0
|
#parent: #root
|
Method GetOperationsForUnitPeriod (
|
const LibOpt_Scope scope,
|
const UnitPeriod unitperiod
|
) const as constcontent owning Operations
|
{
|
Description: 'Returns the operations that should be considered by the optimizer for this unitperiod'
|
TextBody:
|
[*
|
operations := null( Operations, owning, constcontent );
|
|
if( this.GetPeriodsFromPeriodTaskOperation() )
|
{
|
operations := selectset( unitperiod,
|
PeriodTaskOperationInScope.Operation,
|
operation,
|
true,
|
true );
|
}
|
else
|
// if this is a regular optimizer run, select all operations in this algorithm run that could have a valid PT for this period
|
{
|
operations := selectset( unitperiod,
|
Unit.Operation,
|
operation,
|
scope.Contains( operation.OperationInOptimizerRun() )
|
and not operation.IsFrozenInPeriod( unitperiod.Period_MP() )
|
and PeriodTaskOperation::GetIsValidPeriodTask( operation, unitperiod.Period_MP() )
|
);
|
}
|
|
return &operations
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|