| | |
| | | #parent: #root |
| | | StaticMethod RefreshData ( |
| | | InterfaceDataset interface, |
| | | const MacroPlan macroPlan |
| | | const MacroPlan macroPlan, |
| | | const Archive archive |
| | | ) |
| | | { |
| | | TextBody: |
| | |
| | | } |
| | | nopcolumns := selectuniquevalues( macroPlan, NewOfflinePlanTable.NewOfflinePlanColumn, nopcolumn, not exists( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = nopcolumn.StartDate() ), nopcolumn.StartDate() ); |
| | | table.GenerateColumn( nopcolumns, search.TimeUnit(), search.StartDate(), search.EndDate() ); |
| | | traverse( macroPlan, NewOfflinePlanTable, noptable ){ |
| | | |
| | | traverse( noptable, NewOfflinePlanRow, noprow ){ |
| | | row := table.GetRow( noprow ); |
| | | traverse( noprow, NewOfflinePlanCell, nopcell ){ |
| | | column := selectobject( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = nopcell.NewOfflinePlanColumn().StartDate() ); |
| | | cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | | cell.InventoryWeight( nopcell.InventoryWeight() ); |
| | | noptable := maxobject( macroPlan, NewOfflinePlanTable, noptable, noptable.SaveDateTime() ); |
| | | actproductiondatas := selectset( archive,ActualDailyProductionData,data,true ); |
| | | actproductiontree := NamedValueTree::Create(); |
| | | for( i := 0; i< actproductiondatas.Size(); i++ ){ |
| | | actproduction := actproductiondatas.Element( i ); |
| | | actproductionKey := actproduction.ProductNo() + actproduction.ProductionDate().AsQUILL(); |
| | | actproductionhandle := actproductiontree.GetHandle( actproductionKey ); |
| | | actproductiontree.Root().AddChild( actproductionhandle,i ); |
| | | } |
| | | traverse( noptable, NewOfflinePlanRow, noprow ){ |
| | | row := table.GetRow( noprow ); |
| | | traverse( noprow, NewOfflinePlanCell, nopcell ){ |
| | | column := selectobject( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = nopcell.NewOfflinePlanColumn().StartDate() ); |
| | | cell := selectobject( row, Cell, cell, cell.Column() = column ); |
| | | actproductionKey := noprow.ProductID() + column.StartDate().AsQUILL(); |
| | | actproductionhandle:= actproductiontree.GetHandle( actproductionKey ); |
| | | actproductionindex := guard( actproductiontree.Root().Child( actproductionhandle ),null( NamedValue )); |
| | | |
| | | actproductionqty := 0.0; |
| | | if( not isnull( actproductionindex )){ |
| | | actproduction := actproductiondatas.Element( actproductionindex.GetValueAsNumber() ); |
| | | actproductionqty := actproduction.ActualOut(); |
| | | } |
| | | cell.ActualProductionQty( actproductionqty ); |
| | | cell.InventoryWeight( nopcell.InventoryWeight() ); |
| | | // cell.ProductionSerialNumber( nopcell.ProductionSerialNumber() ); |
| | | cell.Quantity( nopcell.Quantity() ); |
| | | cell.Quantity( nopcell.Quantity() ); |
| | | // cell.Shift( nopcell.Shift() ); |
| | | // cell.Value( nopcell.Value() ); |
| | | } |
| | | } |
| | | } |
| | | //showtable.Generate( search, products ); |