hongji.li
2023-09-27 ee6759c54c0ec9ffe92de80268cf3a1d6ecb05a6
_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompare.qbl
ÎļþÃû´Ó _Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompare.qbl ÐÞ¸Ä
@@ -22,23 +22,23 @@
      months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, item.MonthNo() );
    }
    traverse( macroPlans, Elements, item ) {
      info( "scenario : " + item.ScenarioName() );
      debuginfo( "scenario : " + item.ScenarioName() );
    }
    traverse( items, Elements, item ) {
      info( "item : " + item.ItemName() );
      debuginfo( "item : " + item.ItemName() );
    }
    traverse( years, Elements, item ) {
      info( "year : " + [String]item.YearNo() );
      debuginfo( "year : " + [String]item.YearNo() );
    }
    traverse( months, Elements, item ) {
      info( "month : " + [String]item.MonthNo() );
      debuginfo( "month : " + [String]item.MonthNo() );
    }
    // ====清理旧数据====
    this.CapacityAndSaleBudgeCompareItemRow( relflush );
    this.CapacityAndSaleBudgeCompareItemColumn( relflush );
    // ====汇总所有出现的产品====
    historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
    info( "historyData : " + [String]historyData.Size() )
    debuginfo( "historyData : " + [String]historyData.Size() )
    traverse( historyData, Elements, one ) {
      productCode := one.ProductCode();
      MappingBOM::CreateTestData( mappingParent, "事业部" + [String](productCode.Length() mod 3), [String](productCode.Length() mod 4), productCode );
@@ -52,13 +52,13 @@
        // è®°å½•每行包含哪些product
        CapacityAndSaleBudgeCompareItemRowProduct::CreateIfNotExist( row, productCode );
      } else {
        info( "no boms for product : " + productCode );
        debuginfo( "no boms for product : " + productCode );
      }
    }
    info( "CapacityAndSaleBudgeCompareItemRow : " + [String]selectset( this, CapacityAndSaleBudgeCompareItemRow, item, true ).Size() );
    debuginfo( "CapacityAndSaleBudgeCompareItemRow : " + [String]selectset( this, CapacityAndSaleBudgeCompareItemRow, item, true ).Size() );
    // ====从左向右生成列头与内容====
    // äº‹ä¸šéƒ¨ï¼Œç»„织
    info( "dealing businessType and placeOfProductionOfArray" )
    debuginfo( "dealing businessType and placeOfProductionOfArray" )
    columnBusinessType := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "事业部" );
    columnPlaceOfProductionOfArray := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "面板基地" );
    traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
@@ -72,9 +72,9 @@
    info( "dealing é¢æ¿åˆ†é…é‡" )
    if( CapacityAndSaleBudgeFilterItem::Contains( items, "面板分配量" ) ) {
      traverse( years, Elements, year ) {
        info( "面板分配量" + [String]year.YearNo() + "å¹´" );
        debuginfo( "面板分配量" + [String]year.YearNo() + "å¹´" );
        // åŽ†å²æ•°æ®
        info( "面板分配量" + [String]year.YearNo() + "年历史数据" );
        debuginfo( "面板分配量" + [String]year.YearNo() + "年历史数据" );
        traverse( months, Elements, month ) {
          columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "面板分配量-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "月-年度预算" );
          traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
@@ -89,7 +89,7 @@
          cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
          cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
        }
        info( "面板分配量" + [String]year.YearNo() + "å¹´S&OP数据" );
        debuginfo( "面板分配量" + [String]year.YearNo() + "å¹´S&OP数据" );
        // S&OP数据
        traverse( macroPlans, Elements, macroPlan ) {
          traverse( months, Elements, month ) {
@@ -112,12 +112,12 @@
      }
    }
    // å¹´åº¦é”€å”®é¢
    info( "dealing é”€å”®é¢" )
    debuginfo( "dealing é”€å”®é¢" )
    if( CapacityAndSaleBudgeFilterItem::Contains( items, "销售额" ) ) {
      traverse( years, Elements, year ) {
        info( "销售额" + [String]year.YearNo() + "å¹´" );
        debuginfo( "销售额" + [String]year.YearNo() + "å¹´" );
        // åŽ†å²æ•°æ®
        info( "销售额" + [String]year.YearNo() + "年历史数据" );
        debuginfo( "销售额" + [String]year.YearNo() + "年历史数据" );
        traverse( months, Elements, month ) {
          columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对外销售额-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "月-年度预算" );
          traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
@@ -132,7 +132,7 @@
          cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
          cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
        }
        info( "销售额" + [String]year.YearNo() + "年历史数据S&OP数据" );
        debuginfo( "销售额" + [String]year.YearNo() + "年历史数据S&OP数据" );
        // S&OP数据
        traverse( macroPlans, Elements, macroPlan ) {
          traverse( months, Elements, month ) {
@@ -154,7 +154,7 @@
      }
    }
    // å¤§å¼ ç›ˆåˆ©é¢
    info( "dealing å¤§å¼ ç›ˆåˆ©é¢" )
    debuginfo( "dealing å¤§å¼ ç›ˆåˆ©é¢" )
    traverse( years, Elements, year ) {
      // åŽ†å²æ•°æ®
      columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "大张盈利额-" + [String]year.YearNo() + "å¹´-年度预算" );
@@ -174,7 +174,7 @@
      }
    }
    // äº§å“ç›ˆåˆ©é¢
    info( "dealing äº§å“ç›ˆåˆ©é¢" )
    debuginfo( "dealing äº§å“ç›ˆåˆ©é¢" )
    traverse( years, Elements, year ) {
      // åŽ†å²æ•°æ®
      columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "产品盈利额-" + [String]year.YearNo() + "å¹´-年度预算" );
@@ -195,7 +195,7 @@
    }
    
    // è®¾ç½®rowNo和columnNo
    info( "set rowNo and columnNo" );
    debuginfo( "set rowNo and columnNo" );
    rowNo := 1;
    rowSorted := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, item, item.PlaceOfProductionOfArray() + "_" + item.BusinessType() );
    traverse( rowSorted, Elements, item ) {
@@ -207,6 +207,6 @@
      item.ColumnNo( columnNo );
      columnNo := columnNo + 1;
    }
    info( "done" );
    debuginfo( "done" );
  *]
}