admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Quintiq file version 2.0
#parent: #root
Method ImportExcels (
  LibSOPImpExp_UserInputs userInput_i,
  ScenarioManager scenarioManager_i,
  MPSync mpsync,
  BinaryValues mpBinaryValues_i,
  Strings mpBrokers_i
)
{
  Description: 'Import from Excel, used by web app.'
  TextBody:
  [*
    // @userInput_i - Array of data group that user imports
    // @mpBinaryValues_i - Array of uploaded Excels in binary value. Binary at position x matches @mpBrokers_i at same position
    // @mpBrokers_i - Array of uploaded Excels' broker name
    
    is3DDrive := false;
    
    // Check if each data group has files uploaded by user for import
    this.Synchronize( LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_SupplyChainParameters() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_GlobalParameters() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Periods() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MP_Functionality_InventorySpecifications() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MP_Functionality_InventorySupplies() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Products() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Forecasts() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_ServiceLevels() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Campaigns() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Entities() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Costs() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Lanes() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Routings() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Capacities() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MP_Functionality_SupplySpecifications() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Recipes() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MP_Designer_Actuals() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MP_GlobalParameters_KPIFeedbackName() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_OptimizerPuzzles() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_PostponementSpecAndFulfillmentRestriction() ),
                      LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_CustomerOrder() ),
                      false, /* isImportBinary */
                      mpBinaryValues_i.Copy(),
                      mpBrokers_i,
                      is3DDrive,
                      construct( FileItems ), /* 3ddrive, ignore */
                      construct( Strings ) /* 3ddrive, ignore */ );
    
    scenarioManager_i.Import( LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Strategies() ),
                              LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Accounts() ),
                              LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_Bookmarks() ),
                              LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_KPISetting() ),
                              mpBinaryValues_i.Copy(), 
                              mpBrokers_i, 
                              is3DDrive, 
                              construct( FileItems ), /* 3ddrive, ignore */ 
                              construct( Strings ) /* 3ddrive, ignore */ );
    
    mpsync.Import( LibSOPImpExp_ExportExcel::IsDataSourceIncluded( userInput_i, Translations::MPSync_ObjectGroup_ImportProfiles() ),
                   mpBinaryValues_i.Copy(), mpBrokers_i, is3DDrive, construct( FileItems), construct( Strings ) );
  *]
}