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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Quintiq file version 2.0
#parent: #root
StaticMethod Update (
  Operations operations,
  Unit owner,
  String id,
  String name,
  Boolean isbatcheditleadtime,
  Duration leadtime,
  Boolean isbatcheditstandarddeviationleadtime,
  Duration standarddeviationleadtime,
  Boolean isbatcheditthroughput,
  Real throughput,
  Boolean isbatchedithasuserlotsize,
  Boolean hasuserlotsize,
  Real userminimumquantity,
  Boolean hasusermaximumquantity,
  Real usermaximumquantity,
  Real userlotsize,
  Boolean isbatcheditCo2,
  Real co2Emission
)
{
  Description: 'Batch update operations'
  TextBody:
  [*
    // Batch update the selected set of operations
    traverse( operations, Elements, operation )
    {
      // Use current operation's values if HasUserLotSize is not selected for batch editing
      if( not isbatchedithasuserlotsize )
      {
        hasuserlotsize := operation.HasUserLotSize();
        userminimumquantity := operation.UserMinimumQuantity();
        hasusermaximumquantity := operation.HasUserMaximumQuantity();
        usermaximumquantity := operation.UserMaximumQuantity();
        userlotsize := operation.UserLotSize();
      }
      
      // Update operation
      operation.Update( operation.Unit(),
                        operation.ID(),
                        operation.Name(),
                        operation.RoutingStep(),
                        ifexpr( isbatcheditleadtime, leadtime, operation.UserLeadTime() ),
                        ifexpr( isbatcheditstandarddeviationleadtime, standarddeviationleadtime , operation.StandardDeviationLeadTimeOperation() ),
                        ifexpr( isbatcheditthroughput, throughput, operation.Throughput() ),
                        hasuserlotsize,
                        userminimumquantity,
                        hasusermaximumquantity,
                        usermaximumquantity,
                        userlotsize,
                        ifexpr( isbatcheditCo2, co2Emission, operation.CO2Emission() ),
                        false );
    }
  *]
}