| 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(); | 
|     } | 
|   *] | 
| } |