hongji.li
2023-09-21 5cbda986bdf5af9eef9c4d52f48fb6ad41362bab
_Main/BL/Type_MPSync/StaticMethod_TestData.qbl
@@ -12,32 +12,53 @@
    info( "MPSync::TestData" );
    
    productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() );
    info( "productCodeList : " + [String]productCodeList.Size() );
    
    mpSync.MappingCapacityAndSaleBudge( relflush );
    for( i := 1; i <= productCodeList.Size(); i := i + 1 ) {
      productCode := productCodeList.Element( i - 1 );
      mappingCapacityAndSaleBudge := mpSync.MappingCapacityAndSaleBudge( relnew,
                                                                         ProductCode := productCode,
                                                                         BusinessType := "事业部" + [String](productCode.Length() mod 3 + 1),
                                                                         PlaceOfProductionOfArray := "面板基地" + [String](productCode.Length() mod 4 + 1)
                                                                          );
      for( month := 1; month <= 12; month := month + 1 ) {
        field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInPCSInMonth" + [String]month );
        field.Set( mappingCapacityAndSaleBudge, Real::Random( 20.0, 30.0 ) );
        field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInSheetInMonth" + [String]month );
        field.Set( mappingCapacityAndSaleBudge, Real::Random( 20.0, 30.0 ) );
        field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "SaleAmountInMonth" + [String]month );
        field.Set( mappingCapacityAndSaleBudge, Real::Random( 20.0, 30.0 ) );
    for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year(); year := year + 1 ) {
      for( i := 1; i <= productCodeList.Size(); i := i + 1 ) {
        productCode := productCodeList.Element( i - 1 );
        mappingCapacityAndSaleBudge := mpSync.MappingCapacityAndSaleBudge( relnew,
                                                                           YearNo := year,
                                                                           ProductCode := productCode,
                                                                           BusinessType := "事业部" + [String](productCode.Length() mod 3 + 1),
                                                                           PlaceOfProductionOfArray := "面板基地" + [String](productCode.Length() mod 4 + 1)
                                                                            );
        for( month := 1; month <= 12; month := month + 1 ) {
          field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInPCSInMonth" + [String]month );
          field.Set( mappingCapacityAndSaleBudge, Real::Random( 20000.0, 30000.0 ) );
          field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInSheetInMonth" + [String]month );
          field.Set( mappingCapacityAndSaleBudge, Real::Random( 20000.0, 30000.0 ) );
          field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "SaleAmountInMonth" + [String]month );
          field.Set( mappingCapacityAndSaleBudge, Real::Random( 20000.0, 30000.0 ) );
        }
        mappingCapacityAndSaleBudge.CapacityInPCSTotal( mappingCapacityAndSaleBudge.GetCapacityInPCSInYear() );
        mappingCapacityAndSaleBudge.CapacityInSheetTotal( mappingCapacityAndSaleBudge.GetCapacityInSheetInYear() );
        mappingCapacityAndSaleBudge.SaleAmountTotal( mappingCapacityAndSaleBudge.GetSaleAmountInYear() );
      }
      mappingCapacityAndSaleBudge.CapacityInPCSTotal( mappingCapacityAndSaleBudge.GetCapacityInPCSInYear() );
      mappingCapacityAndSaleBudge.CapacityInSheetTotal( mappingCapacityAndSaleBudge.GetCapacityInSheetInYear() );
      mappingCapacityAndSaleBudge.SaleAmountTotal( mappingCapacityAndSaleBudge.GetSaleAmountInYear() );
    }
    result1 := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
    info( "test MappingCapacityAndSaleBudge size : " + [String]result1.Size() );
    
    result := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
    info( "MappingCapacityAndSaleBudge size : " + [String]result.Size() );
    mpSync.MappingAnnualBudget( relflush );
    for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year(); year := year + 1 ) {
      for( i := 1; i <= productCodeList.Size(); i := i + 1 ) {
        productCode := productCodeList.Element( i - 1 );
        mappingAnnualBudget := mpSync.MappingAnnualBudget( relnew,
                                                           YearNo := year,
                                                           ProductId := productCode
                                                            );
        for( month := 1; month <= 12; month := month + 1 ) {
          field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlyModCapacity" + [String]month );
          field.Set( mappingAnnualBudget, Real::Random( 20000.0, 30000.0 ) );
          field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySheetCapacity" + [String]month );
          field.Set( mappingAnnualBudget, Real::Random( 20000.0, 30000.0 ) );
          field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySales" + [String]month );
          field.Set( mappingAnnualBudget, Real::Random( 20000.0, 30000.0 ) );
        }
      }
    }
    result2 := selectset( mpSync, MappingAnnualBudget, item, true );
    info( "test MappingAnnualBudget size : " + [String]result2.Size() );
  *]
}