lazhen
2025-01-09 8afe90b633046db39042aada36b88193062f8cff
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
42
Quintiq file version 2.0
#parent: #root
Method GenerateBenchmarkAddPTOLotsize (
  Real userlotsize,
  Boolean setlotcost
)
{
  TextBody:
  [*
    index := 0; 
    traverse( this, Unit.Operation, operation, operation.ID() ~ 'Hot Mill' ) 
    {
      operation.HasUserLotSize( true ); 
      operation.UserLotSize( 1000.0 )
      debuginfo( 'Set lot size for operation', operation.ID(), ' to ', operation.LotSize() );     
      
      if ( setlotcost ) 
      {
        sop := this.StartOfPlanning().Date();
        account := select( this, Account_MP, acc, acc.Name() ~ 'Operating', true );
        OperationCost::Create( 'mylotcost'+[String] index, operation, account, 'Lot', sop, 'Day', 1, 10.0, false ); 
        index++; 
      }
    }
    
    traverse( this, Unit.Operation, operation, operation.ID() ~ 'Slitter' ) 
    {
      operation.HasUserLotSize( true ); 
      operation.UserLotSize( 50.0 )
      debuginfo( 'Set lot size for operation', operation.ID(), ' to ', operation.LotSize() );     
      
      if ( setlotcost ) 
      {
        sop := this.StartOfPlanning().Date();
        account := select( this, Account_MP, acc, acc.Name() ~ 'Operating', true );
        OperationCost::Create( 'mylotcost'+[String] index, operation, account, 'Lot', sop, 'Day', 1, 10.0, false ); 
        index++; 
      }
    }
  *]
  InterfaceProperties { Accessibility: 'Module' }
}