From f264274b13f4371ea205c0c0219db3358bd55af0 Mon Sep 17 00:00:00 2001
From: yanyuan <yuan.yan@capgemini.com>
Date: 星期三, 01 十一月 2023 17:51:52 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev

---
 _Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl |  243 ++++++++----------------------------------------
 1 files changed, 40 insertions(+), 203 deletions(-)

diff --git a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
index 0ba67ec..8b53f33 100644
--- a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
+++ b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
@@ -5,13 +5,12 @@
   CapacityAndSaleBudgeFilterItems items,
   CapacityAndSaleBudgeFilterYears years,
   CapacityAndSaleBudgeFilterMonths months,
-  const GlobalOTDTable otdTable
+  const GlobalOTDTable globalOTDTable
 )
 {
   Description: 'todo : mappingParent鏀逛负mpSync, random鍒犱簡'
   TextBody:
   [*
-    // ====涓嶉�夋椂榛樿鍏ㄩ��====
     if ( years.Size() = 0 ) {
       years := selectset( this, CapacityAndSaleBudgeFilterYear, tempCASBFY, tempCASBFY.YearNo() = Date::ActualDate().Year() );
     }
@@ -22,219 +21,57 @@
     this.CapacityAndSaleBudgeCompareItemRow( relflush );
     this.CapacityAndSaleBudgeCompareItemColumn( relflush );
     
-    // ====姹囨�绘墍鏈夊嚭鐜扮殑浜у搧====
-    targetglobal_MappingAnnualBudgetData := selectset( otdTable, Global_MappingAnnualBudgetData, item, true );
+    CapacityAndSaleBudgeCompareItemCell::CreateData( globalOTDTable, this );
     
-    traverse ( targetglobal_MappingAnnualBudgetData, Elements, gmabd ) {
-      productCode := gmabd.ProductID();
-    //  Global_MappingOperationBOM::CreateTestData( otdTable, "浜嬩笟閮�" + [String](productCode.Length() mod 3), "闈㈡澘鍩哄湴" + [String](productCode.Length() mod 4), productCode );
-    //  boms := selectset( otdTable, Global_MappingOperationBOM, bom, bom.ProductCode() = productCode );
-    //  if( boms.Size() > 0 ) {
-    //    bom := boms.First();
-    //    businessType := bom.BusinessType();
-    //    placeOfProductionOfArray := bom.OrganCode();
-        // 鐩稿悓闈㈡澘鍩哄湴鍜屼簨涓氶儴鐨勬斁涓�琛�
-        row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, gmabd.BusinessType(), gmabd.OrganCode() );
-        // 璁板綍姣忚鍖呭惈鍝簺product
-        CapacityAndSaleBudgeCompareItemRowProduct::CreateIfNotExist( row, productCode );
-    //  } else {
-    //    debuginfo( "no boms for product : " + productCode );
-    //  }
-    }
-    
-    // ====浠庡乏鍚戝彸鐢熸垚鍒楀ご涓庡唴瀹�====
-    // 浜嬩笟閮紝闈㈡澘鍩哄湴
-    columnBusinessType := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜嬩笟閮�" );
-    columnPlaceOfProductionOfArray := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍩哄湴" );
-    traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-      cell := columnBusinessType.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.BusinessType() );
-      cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-      cell := columnPlaceOfProductionOfArray.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.PlaceOfProductionOfArray() );
-      cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-    }
-    
-    // 闈㈡澘鍒嗛厤閲� - 骞村害棰勭畻 (sheets)
-    // 鏍煎紡锛� 闈㈡澘鍒嗛厤閲� - 骞� - 鏈堬紙1-12 & total锛� - 骞村害棰勭畻/scenarioName
     if ( CapacityAndSaleBudgeFilterItem::Contains( items, "闈㈡澘鍒嗛厤閲�" ) ) {
       traverse ( years, Elements, year ) {
-        // 鍘嗗彶鏁版嵁
-    //    traverse ( months, Elements, month ) {
-    //      columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" );
-    //      traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-    //        cellReal := Global_MappingForecast::GetQuantityByMonth( row.GetProductCodes(), otdTable, DateTime::Now().Year(), month.MonthNo() );
-    //        cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-    //        cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-    //      }
-    //    }
-    //    columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
-    //    traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-    //      cellReal := Global_MappingForecast::GetQuantityByYear( row.GetProductCodes(), otdTable, year.YearNo() );
-    //      cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-    //      cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-    //    }
-        
-        traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
-          total := 0.0;
-          traverse ( months, Elements, m ) {
-            columnName  := "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-骞村害棰勭畻";
-            columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
-            cellReal    := Global_MappingForecast::GetQuantityByMonth( casbcir.GetProductCodes(), otdTable, DateTime::Now().Year(), m.MonthNo() );
-            cell        := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-            total       := total + cellReal;
-            cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
-          }
-          columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
-          cell       := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
-          columnYear.TotalIdentification( year.YearNo() );
-          cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
-        }
-        
-        // S&OP鏁版嵁
-    //    traverse ( macroPlans, Elements, macroPlan ) {
-    //      traverse ( months, Elements, month ) {
-    //        columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, 
-    //                                                                                "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-" + macroPlan.ScenarioName() );
-    //        traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-    //          cellReal := Product_MP::GetNewSupplyByMonth( row.GetProductCodes(), macroPlan, year.YearNo(), month.MonthNo() );
-    //          cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-    //          cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-    //        }
-    //      }
-    //      columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, 
-    //                                                                             "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-" + macroPlan.ScenarioName() );
-    //      traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-    //        cellReal := Product_MP::GetNewSupplyByYear( row.GetProductCodes(), macroPlan, year.YearNo() );
-    //        cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-    //        cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-    //      }
-    //    }
-        traverse ( macroPlans, Elements, mp ) {
-          traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
-            total := 0.0;
-            traverse ( months, Elements, m ) {
-              columnName  := "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-" + mp.ScenarioName();
-              columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
-              cellReal    := Product_MP::GetNewSupplyByMonth( casbcir.GetProductCodes(), mp, year.YearNo(), m.MonthNo() );
-              cell        := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-              total       := total + cellReal;
-              cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
-            }
-            columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-" + mp.ScenarioName() );
-            cell       := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
-            columnYear.TotalIdentification( year.YearNo() );
-            cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
-          }
-        }
+        CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationBudget( this, months, year, globalOTDTable );
+        CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationByScenario( macroPlans, this, months, year );
       }
     }
     
-    // 骞村害閿�鍞
     if ( CapacityAndSaleBudgeFilterItem::Contains( items, "閿�鍞" ) ) {
       traverse ( years, Elements, year ) {
-        // 鍘嗗彶鏁版嵁
-    //    traverse ( months, Elements, month ) {
-    //      columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" );
-    //      traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-    //        cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( row.GetProductCodes(), otdTable, year.YearNo(), month.MonthNo() );
-    //        cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-    //        cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-    //      }
-    //    }
-    //    columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
-    //    traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-    //      cellReal := Global_MappingAnnualBudgetData::GetSaleByYear( row.GetProductCodes(), otdTable, year.YearNo() );
-    //      cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-    //      cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-    //    }
-        traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
-          total := 0.0;
-          traverse ( months, Elements, m ) {
-            columnName  := "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-骞村害棰勭畻";
-            columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
-            cellReal    := Global_MappingAnnualBudgetData::GetSaleByMonth( casbcir.GetProductCodes(), otdTable, year.YearNo(), m.MonthNo() );
-            cell        := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-            total       := total + cellReal;
-            cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
-          }
-          columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
-          cell       := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
-          columnYear.TotalIdentification( year.YearNo() );
-          cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
-        }
-        
-        // S&OP鏁版嵁
-    //    traverse ( macroPlans, Elements, macroPlan ) {
-    //      traverse ( months, Elements, month ) {
-    //        columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-" + macroPlan.ScenarioName() );
-    //        traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-    //          cellReal := Forecast::GetFulfilledBalanceByMonth( row.GetProductCodes(), macroPlan, year.YearNo(), month.MonthNo() );
-    //          cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-    //          cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-    //        }
-    //      }
-    //      columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-" + macroPlan.ScenarioName() );
-    //      traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-    //        // QID 23
-    //        cellReal := Forecast::GetFulfilledBalanceByYear( row.GetProductCodes(), macroPlan, year.YearNo() );
-    //        cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-    //        cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-    //      }
-    //    }
-        traverse ( macroPlans, Elements, mp ) {
-          traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
-            total := 0.0;
-            traverse ( months, Elements, m ) {
-              columnName  := "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-" + mp.ScenarioName();
-              columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
-              cellReal    := Forecast::GetFulfilledBalanceByMonth( casbcir.GetProductCodes(), mp, year.YearNo(), m.MonthNo() );
-              cell        := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
-              total       := total + cellReal;
-              cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
-            }
-            columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-" + mp.ScenarioName() );
-            cell       := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
-            columnYear.TotalIdentification( year.YearNo() );
-            cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
-          }
-        }
+        CapacityAndSaleBudgeCompareItemCell::CreateSalesVolume( this, months, year, globalOTDTable );
+        CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeByScenario( macroPlans, this, months, year );
       }
     }
     
     // 澶у紶鐩堝埄棰�
-    traverse ( years, Elements, year ) {
-      // 鍘嗗彶鏁版嵁
-      columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
-      traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-        cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
-        cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-      }
-      // S&OP鏁版嵁
-      traverse( macroPlans, Elements, macroPlan ) {
-        columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName() );
-        traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-          cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
-          cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-        }
-      }
-    }
-    // 浜у搧鐩堝埄棰�
-    traverse ( years, Elements, year ) {
-      // 鍘嗗彶鏁版嵁
-      columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
-      traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-        cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
-        cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-      }
-      // S&OP鏁版嵁
-      traverse ( macroPlans, Elements, macroPlan ) {
-        columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName() );
-        traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
-          // todo
-          cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
-          cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
-        }
-      }
-    }
+    //traverse ( years, Elements, year ) {
+    //  // 鍘嗗彶鏁版嵁
+    //  columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
+    //  traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+    //    cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
+    //    cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+    //  }
+    //  // S&OP鏁版嵁
+    //  traverse( macroPlans, Elements, macroPlan ) {
+    //    columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName() );
+    //    traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+    //      cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
+    //      cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+    //    }
+    //  }
+    //}
+    //// 浜у搧鐩堝埄棰�
+    //traverse ( years, Elements, year ) {
+    //  // 鍘嗗彶鏁版嵁
+    //  columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
+    //  traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+    //    cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
+    //    cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+    //  }
+    //  // S&OP鏁版嵁
+    //  traverse ( macroPlans, Elements, macroPlan ) {
+    //    columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName() );
+    //    traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+    //      // todo
+    //      cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
+    //      cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+    //    }
+    //  }
+    //}
     
     // 璁剧疆rowNo鍜宑olumnNo
     rowNo := 1;

--
Gitblit v1.9.3