Quintiq file version 2.0
|
#parent: #root
|
Method AutoAdjustPeriodTaskInTransitionQuantities
|
{
|
Description: 'Adjust period task in transition quantity base on ratio in unit period time'
|
TextBody:
|
[*
|
traverse( this, TransitionPeriod_MP, transitionperiod,
|
transitionperiod.UnitPeriod().IsPlanning()
|
and not transitionperiod.UnitPeriod().IsPeriodFrozen() )
|
{
|
if( transitionperiod.UnitPeriod().istype( UnitPeriodTime ) )
|
{
|
unitperiodcapacity := transitionperiod.UnitPeriod().astype( UnitPeriodTime ).TotalAvailableCapacity();
|
transitionperiodcapacity := transitionperiod.AvailableCapacityRatio() * unitperiodcapacity;
|
|
periodtasks := selectset( transitionperiod, PeriodTaskInTransition, ptit, true );
|
|
if( periodtasks.Size() > 0 )
|
{
|
// TMP (todo oceaned) - For now capacity will be equally split among operations on the period
|
pttransitioncapacity := transitionperiodcapacity / periodtasks.Size();
|
traverse( periodtasks, Elements, periodtask )
|
{
|
operation := periodtask.PeriodTaskOperation().Operation();
|
requiredcapacity := operation.Throughput();
|
quantity := pttransitioncapacity.HoursAsReal() * requiredcapacity;
|
|
periodtask.Update( quantity, false, true );
|
}
|
}
|
}
|
}
|
*]
|
}
|