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
Quintiq file version 2.0
#parent: #root
StaticMethod CreateFromUnits (
  Units units
) as owning Routings
{
  Description: 'Return multiple routings which are createdfrom multiple units'
  TextBody:
  [*
    // Adhi Feb-16-2016 (created)
    routings := construct( Routings );
    
    traverse( units, Elements, u )
    {
      us := construct( Units );
      us.Add( u );
      macroplan := u.MacroPlan();
    
      // Get name, append running numbers in brackets if it exists, only for routing
      name := macroplan.GetUniqueRoutingName( u.Name() );
      routing := Routing::Create( macroplan,
                                  name,
                                  name,
                                  Date::MinDate(),
                                  Date::MaxDate(),
                                  true, // default allow wip intenvtory
                                  false
                                  );
    
      /*
        Since the routing is new, it is safe to create routing step with its name follows that of unit.
        Create operation in the routing step
      */
      routing.CreateRoutingStepAndAddUnits( us );
      routings.Add( routing );
    }
    
    return &routings;
  *]
}