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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Quintiq file version 2.0
#parent: #root
Method GetIsPlannedGreaterThanMinRequired (
  output Strings feedback_o,
  output Strings sanitycheckfeedbacks_o,
  Boolean checkLast
) declarative remote as Boolean
{
  Description: 'Returns true if the planned quantity is greater than the minimum quantity or if the planned duration is greater than the minimum duration depening on the input type. For sanity check.'
  TextBody:
  [*
    gp := this.MacroPlan().GlobalParameters_MP(); 
    isvalid := true;
    if( this.TransitionType_MP().InputType() = GlobalParameters_MP::GetCampaignTransitionsTypeQuantity() )
    {
      isvalid := this.GetIsPlannedGreaterThanMinQuantity( checkLast );
    
      if( not isnull( feedback_o ) and not isvalid )
      {
        instance := Transition_MP::GetInstanceText( this.TransitionType_MP(), this.Start() );
        message := Translations::MP_Transition_ViolatesIsPlannedGreaterThanMinQuantity( this, gp.NumberOfDecimals() ); 
        feedback_o.Add( SanityCheckMessage::GetFormattedMessage( instance, message ) ); 
        sanitycheckfeedbacks_o.Add( SanityCheckCategoryLevel::GetSanityCheckCategoryPlanningIssue() );
      } 
    }
    else if( this.TransitionType_MP().InputType() = GlobalParameters_MP::GetCampaignTransitionsTypeDuration() )
    {
      isvalid := this.GetIsPlannedGreaterThanMinDuration( checkLast );
      
      if( not isnull( feedback_o ) and not isvalid )
      {
        instance := Transition_MP::GetInstanceText( this.TransitionType_MP(), this.Start() );
        message := Translations::MP_Transition_ViolatesIsPlannedGreaterThanMinDuration( this );  
        feedback_o.Add( SanityCheckMessage::GetFormattedMessage( instance, message ) );
        sanitycheckfeedbacks_o.Add( SanityCheckCategoryLevel::GetSanityCheckCategoryPlanningIssue() );
      }
    }
    
    return isvalid;
  *]
}