hongji.li
2023-11-06 b6e625253aef34494a2e6e0ba70f02281b50302f
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
@@ -2,13 +2,13 @@
#parent: #root
Method CapacityAndSaleBudgeCompare (
  MacroPlans macroPlans,
  owning CapacityAndSaleBudgeFilterItems items,
  owning CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas,
  owning CapacityAndSaleBudgeFilterBusinessTypes casbfbts,
  owning CapacityAndSaleBudgeFilterYears years,
  owning CapacityAndSaleBudgeFilterMonths months,
  CapacityAndSaleBudgeFilterItems items,
  CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas,
  CapacityAndSaleBudgeFilterBusinessTypes casbfbts,
  CapacityAndSaleBudgeFilterYears years,
  CapacityAndSaleBudgeFilterMonths months,
  const GlobalOTDTable globalOTDTable
)
) as stream[GlobalOTDSOP]
{
  Description: 'todo : mappingParent改为mpSync, random删了'
  TextBody:
@@ -16,12 +16,39 @@
    this.CapacityAndSaleBudgeCompareItemRow( relflush );
    this.CapacityAndSaleBudgeCompareItemColumn( relflush );
    
    CapacityAndSaleBudgeCompareItemCell::SetFilterCriteria( this, &items, &casbfpopoas, &casbfbts, &years, &months );
    //CapacityAndSaleBudgeCompareItemCell::SetFilterCriteria( this, &items, &casbfpopoas, &casbfbts, &years, &months );
    //---------------------------------------------------------------------------
    if ( items.Size() = 0 ) {
      items := selectset( this, CapacityAndSaleBudgeFilterItem, tempCASBFI, tempCASBFI.ItemName() = "销售额" );
    }
    if ( casbfpopoas.Size() = 0 ) {
      casbfpopoas := selectset( this, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, tempCASBFPOPOA, true );
    }
    if ( casbfbts.Size() = 0 ) {
      casbfbts := selectset( this, CapacityAndSaleBudgeFilterBusinessType, tempCASBFBT, true );
    }
    if ( years.Size() = 0 ) {
      years := selectset( this, CapacityAndSaleBudgeFilterYear, tempCASBFY, tempCASBFY.YearNo() = Date::ActualDate().Year() );
    } else {
      years := selectsortedset( years, Elements, tempCASBFY, true, tempCASBFY.YearNo() );
    }
    if ( months.Size() = 0 ) {
      months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, tempCASBFM, true, tempCASBFM.MonthNo() );
    } else {
      months := selectsortedset( months, Elements, tempCASBFM, true, tempCASBFM.MonthNo() );
    }
    //---------------------------------------------------------------------------
    
    CapacityAndSaleBudgeCompareItemCell::GenerateBasicDataBasedOnFilteringCriteria( this, globalOTDTable, items, casbfpopoas, casbfbts );
    
    CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeData( macroPlans, globalOTDTable, this, items, years, months );
    
    CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocation( macroPlans, globalOTDTable, this, items, years, months );
    return emit( this );
  *]
}