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