Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GenerateData (
|
InterfaceDataset interface,
|
MacroPlan macroplan,
|
RecycleBin recycle,
|
const Archive archive
|
)
|
{
|
Description: '生成客户需求存档数据'
|
TextBody:
|
[*
|
// 甄兰鸽 Nov-22-2024 (created)
|
info( '-------------------------Start---------------------');
|
//binaryValue := TemplateManager::GetIDSFullTable( archive, Date::ActualDate().Year() );
|
//source := GeneralExcelImportAndExportDataSource::Upload( recycle, binaryValue, OS::TempPath() + "template.xlsx" );
|
//source.ReadStructure();
|
//Transaction::Transaction().Propagate( attribute( GeneralExcelImportAndExportDataColumn, ColumnIndex ) );
|
//cnv2 := StringToDate::StandardConverter();
|
//cnv2.SetCustomConversion();
|
//cnv2.CustomFormatString( "yyyy/MM/dd" );
|
//
|
//traverse( recycle, GeneralExcelImportAndExportDataSource.GeneralExcelImportAndExportDataTable, table ){
|
// traverse( table, GeneralExcelImportAndExportDataRow, row ){
|
// productcell := selectobject( row, GeneralExcelImportAndExportDataCell, cell, cell.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 2 );
|
// factorycell := selectobject( row, GeneralExcelImportAndExportDataCell, cell, cell.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 0 );
|
// unitname := ifexpr( factorycell.Value().StartsWith( '长春' ), FinancialProductionReport::GetDefaultCCUnit(), FinancialProductionReport::GetDefaultDLUnit() );
|
//// idsrow := idstable.GetRowByUnit( productcell.Value(), unitname );
|
// traverse( row, GeneralExcelImportAndExportDataCell, cell, cell.GeneralExcelImportAndExportDataColumn().ColumnIndex() > 2 ){
|
// period := cnv2.Convert( cell.GeneralExcelImportAndExportDataColumn().Name() );
|
// archivedata := selectobject( interface, CustomerDemandArchive, archivedata, archivedata.Factory() = factorycell.Value()
|
// and archivedata.Product() = productcell.Value()
|
// and archivedata.StartDate() = period
|
// and archivedata.Origin() = 'IDS' );
|
// if( isnull( archivedata ) ){
|
// archivedata := interface.CustomerDemandArchive( relnew, Factory := factorycell.Value(), Product := productcell.Value(), StartDate := period, Origin := 'IDS', FactoryName := unitname );
|
// }
|
// archivedata.Quantity( [Real]cell.Value() );
|
// }
|
// }
|
//}
|
traverse ( macroplan, SalesDemand.astype( Forecast ), forecast, not isnull( forecast.Product_MP() ) and ( forecast.Origin() = 'PPA' or forecast.Origin() = 'IDS' ) ){
|
|
unitname := ifexpr( forecast.StockingPointID().StartsWith( '长春' ) , FinancialProductionReport::GetDefaultCCUnit(), FinancialProductionReport::GetDefaultDLUnit() );/*ifexpr( forecast.SalesSegment_MP().Name().StartsWith( 'Changchun' )
|
or exists( forecast.SalesSegment_MP().GetAllParent(), Elements, psalessegment, psalessegment.Name().StartsWith( 'Changchun' ) )
|
, FinancialProductionReport::GetDefaultCCUnit()
|
, FinancialProductionReport::GetDefaultDLUnit() );*/
|
traverse( forecast, PlanningSalesDemandInPeriod, sdip ){
|
archivedata := selectobject( interface, CustomerDemandArchive, archivedata, archivedata.SalesSegment() = forecast.SalesSegmentName()
|
and archivedata.StockingPointID() =forecast.StockingPointID()
|
and archivedata.Product() = forecast.ProductID()
|
and archivedata.StartDate() = forecast.StartDate()
|
and archivedata.Origin() = forecast.Origin() );
|
if( isnull( archivedata ) ){
|
archivedata := interface.CustomerDemandArchive( relnew, SalesSegment := forecast.SalesSegmentName()
|
, Product := forecast.ProductID()
|
, StockingPointID := forecast.StockingPointID()
|
, StartDate := forecast.StartDate()
|
, Origin := forecast.Origin()
|
, FactoryName := unitname );
|
}
|
archivedata.Quantity( sdip.Quantity() );
|
}
|
}
|
|
//source.Delete();
|
info( '-------------------------End---------------------');
|
*]
|
}
|