renhao
2023-09-21 1aa9f2bb83dd9e4b7517f1cbf06b0db53979bb31
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
MethodOverride GetSnapshots (
  DateTime startDateTime,
  DateTime endDateTime,
  String timeType,
  Number top
) as owning KpiSnapshotSetData
{
  TextBody:
  [*
    set    := construct( KpiSnapshotSetData );
    source := null( structured[ DssKpiSnapshot ], owning );
    
    if ( timeType = KpiSnapshotRetrieval::TimeType_Server() )
    {
      source := selectset( this, Storage.Snapshot, snapshot, 
                           snapshot.ServerDateTime() >= startDateTime
                       and snapshot.ServerDateTime() <= endDateTime );
    }
    else
    {
      source := selectset( this, Storage.Snapshot, snapshot, 
                           snapshot.PlanDateTime() >= startDateTime
                       and snapshot.PlanDateTime() <= endDateTime );
    }
    
    items := 0;
    
    // The element is start at 0 until i-1
    nrOfSnapshots := source.Size();
    for ( index := nrOfSnapshots - 1; index  >= maxvalue( nrOfSnapshots - top, 0 ); index -- )
    {
      set.SnapshotData( relinsert, DssKpiSnapshotRetrieval::ConvertSnapshotToTransportType( source.Element( index ) ) );
      items++;
    }
    
    return &set;
  *]
}