| | |
| | | localColumns := construct( LocalColumns ); |
| | | localColumnIndexTree := NamedValueTree::Create(); |
| | | traverse( this,NewOfflinePlanColumn,column,column.StartDate() >= macroPlan.StartOfPlanning().Date()){ |
| | | localColumn := table.LocalColumn( relnew,CustomDate := column.StartDate()); |
| | | localColumn := table.LocalColumn( relnew,CustomDate := column.StartDate(),TimeUnit := "Day"); |
| | | localColumnHandle := localColumnIndexTree.GetHandle( column.StartDate().AsQUILL() ); |
| | | localColumns.Add( localColumn ); |
| | | localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 ); |
| | |
| | | } |
| | | } |
| | | |
| | | startDate := minselect( table,LocalColumn,localColumn,localColumn.CustomDate() ).CustomDate(); |
| | | endDate := maxselect( table,LocalColumn,localColumn,localColumn.CustomDate() ).CustomDate(); |
| | | for( i := startDate.StartOfWeek(); i <= endDate.StartOfNextWeek(); i := i.StartOfNextWeek() ){ |
| | | timeUnit := "Week"; |
| | | localColumnHandle := localColumnIndexTree.GetHandle( i.AsQUILL() + timeUnit); |
| | | localColumn := table.LocalColumn( relnew,CustomDate := i,TimeUnit := timeUnit ); |
| | | localColumns.Add( localColumn ); |
| | | localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 ); |
| | | } |
| | | for( i := startDate.StartOfMonth(); i <= endDate.StartOfNextMonth(); i := i.StartOfNextMonth() ){ |
| | | timeUnit := "Month"; |
| | | localColumnHandle := localColumnIndexTree.GetHandle( i.AsQUILL() + timeUnit); |
| | | localColumn := table.LocalColumn( relnew,CustomDate := i,TimeUnit := timeUnit ); |
| | | localColumns.Add( localColumn ); |
| | | localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 ); |
| | | } |
| | | traverse( table,LocalRow,row ){ |
| | | traverse( table,LocalColumn,column,column.TimeUnit() = "Week"){ |
| | | actual := sum( row,LocalCell.astype( LocalCell_ProductionComparison ),cell, |
| | | cell.LocalColumn().TimeUnit() = "Day" and |
| | | cell.LocalColumn().CustomDate() >= column.CustomDate() and |
| | | cell.LocalColumn().CustomDate() < column.CustomDate().StartOfNextWeek(), cell.Actual()); |
| | | plan := sum( row,LocalCell.astype( LocalCell_ProductionComparison ),cell, |
| | | cell.LocalColumn().TimeUnit() = "Day" and |
| | | cell.LocalColumn().CustomDate() >= column.CustomDate() and |
| | | cell.LocalColumn().CustomDate() < column.CustomDate().StartOfNextWeek(), cell.Plan()); |
| | | |
| | | row.LocalCell( relnew,LocalCell_ProductionComparison,LocalColumn := column,Actual := actual,Plan := plan ); |
| | | } |
| | | } |
| | | traverse( table,LocalRow,row ){ |
| | | traverse( table,LocalColumn,column,column.TimeUnit() = "Month"){ |
| | | actual := sum( row,LocalCell.astype( LocalCell_ProductionComparison ),cell, |
| | | cell.LocalColumn().TimeUnit() = "Day" and |
| | | cell.LocalColumn().CustomDate() >= column.CustomDate() and |
| | | cell.LocalColumn().CustomDate() < column.CustomDate().StartOfNextMonth(), cell.Actual()); |
| | | plan := sum( row,LocalCell.astype( LocalCell_ProductionComparison ),cell, |
| | | cell.LocalColumn().TimeUnit() = "Day" and |
| | | cell.LocalColumn().CustomDate() >= column.CustomDate() and |
| | | cell.LocalColumn().CustomDate() < column.CustomDate().StartOfNextMonth(), cell.Plan()); |
| | | |
| | | row.LocalCell( relnew,LocalCell_ProductionComparison,LocalColumn := column,Actual := actual,Plan := plan ); |
| | | } |
| | | } |
| | | |
| | | return table; |
| | | *] |
| | | } |