Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GenerateData (
|
const MacroPlan macroplan,
|
const Archive archive,
|
InterfaceDataset interfaceDataset,
|
String executor,
|
Boolean versionflag
|
)
|
{
|
Description: '生成可以下发的客户需求(PPA+IDS)数据'
|
TextBody:
|
[*
|
// 甄兰鸽 Aug-20-2024 (created)
|
loginfo := maxobject( interfaceDataset, InterfaceLoginfo, loginfo, loginfo.Name() = Translations::InterfaceDataset_CustomerDemandPPAIDS_Name(), loginfo.InterfaceDateTime() );
|
if( not isnull( loginfo ) ){
|
if( not loginfo.IsShow() ){
|
loginfo.Delete();
|
}else{
|
loginfo.Last( false );
|
}
|
interfaceDataset.CustomerDemandPPAIDS( relflush );
|
}
|
nowdate := DateTime::ActualTime();
|
loginfo := interfaceDataset.InterfaceLoginfo( relnew, ExecuteUser := executor
|
, Name := Translations::InterfaceDataset_CustomerDemandPPAIDS_Name()
|
, InterfaceDateTime := nowdate
|
, Message := '客户需求(PPA+IDS)数据推送'
|
, Last := true
|
, IsShow := false
|
, ReturnSuccess := true
|
, ReturnMsg := 'Success'
|
, Success := true
|
);
|
traverse( macroplan, SalesDemand.astype( Forecast ), forecast, forecast.Origin() = 'PPA' ){
|
cd :=interfaceDataset.CustomerDemandPPAIDS( relnew, Product := forecast.ProductID()
|
, DemandDate := forecast.StartDate()
|
, DemandQty := [Number]forecast.Quantity()
|
, VersionName := macroplan.ScenarioName()
|
, InterfaceTime := nowdate
|
, VersionFlag := versionflag
|
);
|
loginfo.CustomerDemandPPAIDS( relinsert, cd );
|
}
|
binaryValue := TemplateManager::GetIDSFullTable( archive, Date::ActualDate().Year() );
|
CustomerDemandIDS::ReadStructure( binaryValue, interfaceDataset );
|
productcolumn := select( interfaceDataset, CustomerDemandIDS.Column, column, column.Index() = 1 );
|
cnv2 := StringToDate::StandardConverter();
|
cnv2.SetCustomConversion();
|
cnv2.CustomFormatString( "dd/MM/yyyy" );
|
traverse( interfaceDataset, CustomerDemandIDS.Row, row ){
|
product := selectobject( row, Cell, cell, cell.Column() = productcolumn );
|
traverse( row, Cell, cell, cell.Column().Index() > 3 ){
|
period := cnv2.Convert( cell.Column().Name() );
|
cd :=interfaceDataset.CustomerDemandPPAIDS( relnew, Product := product.Value()
|
, DemandDate := period
|
, DemandQty := [Number]cell.Value()
|
, VersionName := macroplan.ScenarioName()
|
, InterfaceTime := nowdate
|
, VersionFlag := versionflag
|
);
|
loginfo.CustomerDemandPPAIDS( relinsert, cd );
|
}
|
}
|
loginfo.TotalRow( loginfo.CustomerDemandPPAIDS( relsize ) );
|
*]
|
}
|