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
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  StaticMethod Upload ( 
 |    MacroPlan macroPlan, 
 |    GeneralExcelImportAndExportDataTable table 
 |  ) 
 |  { 
 |    TextBody: 
 |    [* 
 |      // 清空原始数据 
 |      macroPlan.SixDigitCode( relflush ); 
 |       
 |      // 校验文件名 
 |      if ( table.GeneralExcelImportAndExportDataSource().Name() <> "发动机匹配-六位码.xlsx" ) { 
 |        error( Translations::A_VWED_GeneralExcelImportAndExportDataSource_UploadError2() ); 
 |      } 
 |       
 |      // 生成数据 
 |      rowSize := table.GeneralExcelImportAndExportDataRow( relsize ); 
 |       
 |      for ( rowIndex := 0; rowIndex < rowSize; rowIndex++ ) { 
 |        row := select( table, GeneralExcelImportAndExportDataRow, tempGEIAEDR, tempGEIAEDR.RowNr() = rowIndex ); 
 |         
 |        codeCell             := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 0 ); 
 |        curveCell            := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 1 ); 
 |        vehicleModelCell     := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 2 ); 
 |        engineCell           := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 4 ); 
 |        powerCell            := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 5 ); 
 |        enginePartNumberCell := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 6 ); 
 |        remarksCell          := select( row, GeneralExcelImportAndExportDataCell, tempGEIAEDC, tempGEIAEDC.GeneralExcelImportAndExportDataColumn().ColumnIndex() = 8 ); 
 |         
 |        macroPlan.SixDigitCode( relnew,  
 |                                Code                := guard( codeCell.Value(), "" ), 
 |                                Curve               := guard( curveCell.Value(), "" ), 
 |                                VehicleModel        := guard( vehicleModelCell.Value(), "" ), 
 |                                ProducingArea       := guard( select( macroPlan, SalesSegment_MP, tempSSMP, tempSSMP.Name() = guard( vehicleModelCell.Value(), "" ) ).Parent().Parent().Name(), "" ), 
 |                                Engine              := guard( engineCell.Value(), "" ), 
 |                                Power               := guard( powerCell.Value(), "" ), 
 |                                EnginePartNumber    := guard( enginePartNumberCell.Value(), "" ), 
 |                                EngineFourDigitCode := guard( select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = guard( enginePartNumberCell.Value(), "" ) ).Notes(), "" ), 
 |                                Remarks             := guard( remarksCell.Value(), "" ) );  
 |      } 
 |       
 |      // 校验数据 
 |      feedback            := ""; 
 |      sanitycheckfeedback := ""; 
 |      flag                := true; 
 |       
 |      traverse ( macroPlan, SixDigitCode, sdc, flag ) { 
 |        SixDigitCode::ValidateInput( feedback, sanitycheckfeedback, macroPlan, sdc.Code(), sdc.Curve(), sdc.VehicleModel(), sdc.ProducingArea(), sdc.Engine(), sdc.Power(), sdc.EnginePartNumber(),  
 |                                     sdc.EngineFourDigitCode(), sdc.Remarks(), sdc ); 
 |        flag := feedback = ""; 
 |      } 
 |       
 |      if ( not flag ) { 
 |        error( feedback ); 
 |      } 
 |    *] 
 |  } 
 |  
  |