haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Quintiq file version 2.0
#parent: #root
Method SetDefaultValue (
  UnitPeriodTransportTime unitperiodtransport
) id:Method_DialogCreateEditTransportAvailability_SetDefaultValue
{
  #keys: '[135040.0.3056409]'
  Body:
  [*
    // Set the default value for the fields in the dialog
    
    data := Dialog.Data();
    
    start := MacroPlan.Start();
    timeunit := MacroPlan.StartOfPlanningPeriod().TimeUnit(); 
    maintenance := Duration::Zero();
    lotsize := 0.0;
    minperlot := 0.0;
    minquantity := MacroPlan.GlobalParameters_MP().DefaultMinCapacityPerDayForUnit();
    maxquantity := MacroPlan.GlobalParameters_MP().DefaultMaxCapacityPerDayForUnit();
    shiftpattern := data.Unit().MacroPlan().DefaultShiftPattern();
    numberofunit := 1;
    
    if( not isnull( unitperiodtransport ) )
    {
      // To inherit the value from the last transport capacity while creating a new one.
      transportcapacity := unitperiodtransport.TransportAvailability();
      start := unitperiodtransport.Start();
    
      if( not isnull( transportcapacity ) )
      {
        timeunit := transportcapacity.TimeUnit();
        maintenance := transportcapacity.Maintenance();
        lotsize := transportcapacity.LotSize();
        minperlot := transportcapacity.MinimumPerLot();
        minquantity := transportcapacity.MinimumQuantity();
        maxquantity := transportcapacity.MaximumQuantity();
        shiftpattern := transportcapacity.ShiftPattern();
        numberofunit := transportcapacity.NumberOfUnit();
      }
      else
      {
        timeunit := unitperiodtransport.Period_MP().TimeUnit();
        maintenance := unitperiodtransport.Maintenance();
        lotsize := unitperiodtransport.LotSize();
        minperlot := unitperiodtransport.MinimumPerLot();
        minquantity := unitperiodtransport.MinimumQuantity();
        maxquantity := unitperiodtransport.MaximumQuantity();
        shiftpattern := unitperiodtransport.ShiftPattern();
        numberofunit := unitperiodtransport.NrOfOpen();
      }
    }
    
    // Assigning value to Read-Only attribute will result in runtime error.
    if( isnull( data.WrappedInstance() ) )
    {
      data.Start( start );
    }
    
    data.TimeUnit( timeunit );
    data.NrOfTimeUnit( 1 );
    data.Maintenance( maintenance );
    data.LotSize( lotsize );
    data.MinimumPerLot( minperlot );
    data.MinimumQuantity( minquantity );
    data.MaximumQuantity( maxquantity );
    data.ShiftPattern( relset, shiftpattern );
    data.NumberOfUnit( numberofunit);
  *]
}