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
Quintiq file version 2.0
#parent: #root
Method VerifyIncludeExcludeSetupSubset (
  OptimizerPuzzle optPuzzle,
  String scenario
)
{
  TextBody:
  [*
    lines := scenario.Tokenize( String::NewLine() );
    lines := selectset( lines, Elements, line, line.StartsWith( 'Include,' ) or line.StartsWith( 'Exclude,' ) );
    
    traverse( lines, Elements, line )
    {
      tokens := line.Tokenize( ',' );
      isInclude := tokens.Element( 0 ).ToLower() = 'include';
      entityType := ifexpr( tokens.Element( 1 ).TrimBoth().ToLower() = 'sp', typeof( StockingPoint_MP ).Name(), typeof( Unit ).Name() );
      entityID := tokens.Element( 2 ).TrimBoth();
      
      optPuzzle.SubsetEntityInOptimizerPuzzle( relnew, 
                                               OptimizerPuzzleName := optPuzzle.Name(), 
                                               IsIncluded := isInclude, 
                                               IsUserAction := true, 
                                               EntityID := entityID, 
                                               EntityType := entityType );
    }
  *]
  InterfaceProperties { Accessibility: 'Module' }
}