Quintiq file version 2.0
|
#parent: #root
|
StaticMethod Import (
|
MacroPlan macroplan,
|
BinaryValue binaryvalue
|
)
|
{
|
TextBody:
|
[*
|
// 甄兰鸽 Aug-22-2024 (created)
|
|
macroplan.ValidateBroker( typeof( MP_ImportChangeLossSettingsBroker ).ShortName(), macroplan.MP_ImportChangeLossSettingsBroker().Source(), binaryvalue );
|
progress( 'Importing lanes', DateTime::ActualTime() );
|
macroplan.MP_ImportChangeLossSettingsBroker().ExecuteFromXLS( binaryvalue.AsBinaryData(), true );
|
|
try{
|
ChangeLossSettingExcel::CheckImport( macroplan );
|
}onerror{
|
//校验失败后删除
|
macroplan.ChangeLossSettingExcel( relflush );
|
error( e.GeneralInformation() );
|
}
|
//遍历处理导入的数据
|
traverse( macroplan, ChangeLossSettingExcel, excel ){
|
cls := selectobject( macroplan, ChangeLossSetting, cls, cls.ProductFirst().ID() = excel.Product1()
|
and cls.ProductSecond().ID() = excel.Product2()
|
and cls.Unit().ID() = excel.Unit() );
|
if( isnull( cls ) ){
|
cls := macroplan.ChangeLossSetting( relnew, ChangeLossNr := [Number]excel.ChangeLossNumber() );
|
product1 := selectobject( macroplan, Product_MP, product, product.ID() = excel.Product1() );
|
product2 := selectobject( macroplan, Product_MP, product, product.ID() = excel.Product2() );
|
unit := selectobject( macroplan, Unit, unit, unit.ID() = excel.Unit() );
|
cls.ProductFirst( relset, product1 );
|
cls.ProductSecond( relset, product2 );
|
cls.Unit( relset, unit );
|
}else {
|
cls.ChangeLossNr( [Number]excel.ChangeLossNumber() );
|
}
|
excel.Delete();
|
}
|
*]
|
}
|