Quintiq file version 2.0
|
#parent: #root
|
Method MappingSalesSegmentData (
|
Strings businessTypes,
|
GlobalOTDTable globalOTDTable
|
)
|
{
|
Description: 'ETL销售部门'
|
TextBody:
|
[*
|
// yypsybs Aug-15-2023 (created)
|
// 待处理数据
|
listToDeal := construct( Global_MappingSalesSegment_MPs );
|
if( isnull( businessTypes ) or businessTypes.Size() = 0 ) {
|
listToDeal := selectset( globalOTDTable, Global_MappingSalesSegment_MP, item, true );
|
} else {
|
listToDeal := selectset( globalOTDTable,
|
Global_MappingSalesSegment_MP,
|
item,
|
businessTypes.Find( item.BusinessType() ) <> -1 );
|
}
|
//nameList := construct( structured[String] );
|
//nameList := selectvalues( listToDeal, Elements, item, true, item.Name() );
|
//// 检查parent
|
//traverse( listToDeal, Elements, item, item.ParentName() <> "" ) {
|
// if( nameList.Find( item.ParentName() ) = -1 ) {
|
// error( "sales segment parent not found: " + item.Name().AsQUILL() );
|
// }
|
//}
|
//// 逐层遍历,直至处理完成
|
//dealtNameList := construct( structured[String] );
|
//while( listToDeal.Size() <> dealtNameList.Size() ) {
|
// traverse( listToDeal, Elements, item ) {
|
// // 未处理过
|
// if( dealtNameList.Find( item.Name() ) < 0 ){
|
// // 无父部门,直接处理
|
// if( item.ParentName() = "" ) {
|
// SalesSegment_MP::CreateOrUpdate( this, item.Name(), item.DisplayIndex(), item.ParentName() );
|
// dealtNameList.Add( item.Name() );
|
// }
|
// // 有父部门且父部门已处理
|
// else if( item.ParentName() <> "" and dealtNameList.Find(item.ParentName()) >= 0 ) {
|
// SalesSegment_MP::CreateOrUpdate( this, item.Name(), item.DisplayIndex(), item.ParentName() );
|
// dealtNameList.Add( item.Name() );
|
// }
|
// // 有父部门且父部门未处理,下一轮处理
|
// }
|
// }
|
//}
|
traverse( listToDeal,Elements,item ){
|
if( item.ParentName() <> "" and isnull( SalesSegment_MP::FindByName( this, item.ParentName() ) ) ){
|
SalesSegment_MP::CreateOrUpdate( this, item.ParentName(), item.DisplayIndex(), "" );
|
}
|
}
|
|
traverse( listToDeal,Elements,item ){
|
SalesSegment_MP::CreateOrUpdate( this, item.Name(), item.DisplayIndex(), item.ParentName() );
|
}
|
*]
|
}
|