| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod CheckImport ( | 
|   MacroPlan macroplan | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     // 甄兰鸽 Aug-22-2024 (created) | 
|     if( exists( macroplan, ChangeLossSettingExcel, excel, excel.Product1() = ''  | 
|                 or excel.Product2() = ''  | 
|                 or excel.Unit() = ''  | 
|                 or excel.ChangeLossNumber() = '' | 
|                 or not excel.StartDate().IsFinite() | 
|                 or not excel.EndDate().IsFinite() ) ){ | 
|       error( Translations::MP_ChangeLossSettingExcel_Import_NullInputRequiredField() ); | 
|     } | 
|     //导入的数量小于0 | 
|     if( exists( macroplan, ChangeLossSettingExcel, excel, [Real]excel.ChangeLossNumber() <= 0 ) ){ | 
|       error( Translations::MP_ChangeLossSettingExcel_Import_PositiveInteger() ); | 
|     } | 
|     //导入产品是否存在 | 
|     productfirsts         := selectuniquevalues( macroplan, ChangeLossSettingExcel, excel, excel.Product1() ); | 
|     productseconds        := selectuniquevalues( macroplan, ChangeLossSettingExcel, excel, excel.Product2() ); | 
|     productids            := productfirsts.Union( productseconds ); | 
|     nonproductids         := selectuniquevalues( productids, Elements, e, not exists( macroplan, Product_MP, product, product.ID() = e ), e ); | 
|     if( nonproductids.Size() > 0 ){ | 
|       error( Translations::MP_ChangeLossSettingExcel_Import_ProductNoExist( nonproductids.Concatenate( ";" ) ) ); | 
|     //if( exists( macroplan, ChangeLossSettingExcel, excel, not exists( macroplan, Product_MP, product, product.ID() = excel.Product1() or product.ID() = excel.Product2() ) ) ){ | 
|     //  error( Translations::MP_ChangeLossSettingExcel_Import_ProductNoExist() ); | 
|     } | 
|     //导入产线是否存在 | 
|     if( exists( macroplan, ChangeLossSettingExcel, excel, not exists( macroplan, Unit, unit, unit.ID() = excel.Unit() ) ) ){ | 
|       error( Translations::MP_ChangeLossSettingExcel_Import_UnitNoExist() ); | 
|     } | 
|     //导入的两个产品相等 | 
|     if( exists( macroplan, ChangeLossSettingExcel, excel, excel.Product1() = excel.Product2() ) ){ | 
|       error( Translations::MP_ChangeLossSetting_SameProduct() ); | 
|     } | 
|     //导入的时间区间校验 | 
|     if( exists( macroplan, ChangeLossSettingExcel, excel, excel.StartDate() > excel.EndDate() ) ){ | 
|       error( Translations::MP_LibCal_Event_ValidDatePeriod() ); | 
|     } | 
|     //重复导入校验 | 
|     //if( selectduplicates( owner, LaneExcel, excel, excel.StartFrom(),  | 
|     //                      excel.EndTo(),  | 
|     //                      excel.StartStockingPoint(),  | 
|     //                      excel.EndStockingPoint(),  | 
|     //                      excel.TransporationType(),  | 
|     //                      excel.Product(),  | 
|     //                      excel.TransporationTime() ).Size() > 0 ){ | 
|     //  error( Translations::MP_LaneExcel_Import_RepeatKey() ); | 
|     //} | 
|   *] | 
| } |