From 964b4387b4b3ba025c996b1f04fa75f72ae5da09 Mon Sep 17 00:00:00 2001
From: renhao <renhui.hao@capgemini.com>
Date: 星期五, 22 九月 2023 14:28:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev'
---
_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl | 116 +++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 70 insertions(+), 46 deletions(-)
diff --git a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl b/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl
index 43f414f..2f62201 100644
--- a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl
+++ b/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl
@@ -13,7 +13,11 @@
MacroPlan mappingParent
)
{
- Description: '鎸夊叆鍙傚鐞嗘暟鎹紝浜х敓闇�瑕佺殑CapacityAndSaleBudgeChartElement'
+ Description:
+ [*
+ 鎸夊叆鍙傚鐞嗘暟鎹紝浜х敓闇�瑕佺殑CapacityAndSaleBudgeChartElement
+ 锛侊紒锛侊紒搴熷純锛侊紒锛侊紒
+ *]
TextBody:
[*
// yypsybs Sep-19-2023 (created)
@@ -32,19 +36,21 @@
this.CapacityAndSaleBudgeChartElement( relflush );
// ====鎸夐潰鏉垮熀鍦板拰浜嬩笟閮ㄥ浜у搧杩涜绛涢�夊垎缁�====
- historyData := selectset( otdTable, CapacityAndSaleBudge, item, true );
+ historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
if( placeOfProductionOfArrayChosen <> "" ) {
historyData := selectset( historyData, Elements, item, item.PlaceOfProductionOfArray() = placeOfProductionOfArrayChosen );
}
if( businessTypeChosen <> "" ) {
historyData := selectset( historyData, Elements, item, item.BusinessType() = businessTypeChosen );
}
+ //info( "historyData : " + [String]historyData.Size() );
traverse( historyData, Elements, item ) {
row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, item.BusinessType(), item.PlaceOfProductionOfArray() );
// 璁板綍姣忚鍖呭惈鍝簺product
CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, item.ProductCode() );
}
rows := selectset( this, CapacityAndSaleBudgeChartRow, item, true );
+ //info( "rows : " + [String]rows.Size() );
placeOfProductionOfArrayList := selectuniquevalues( historyData, Elements, item, item.PlaceOfProductionOfArray() );
businessTypeList := selectuniquevalues( historyData, Elements, item, item.BusinessType() );
// 鐢熸垚鍥捐〃鍏冪礌
@@ -54,18 +60,20 @@
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-鐩爣",
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByYear( productCodeList, otdTable, [Number]year ),
- MappingForecast::GetQuantityByYear( productCodeList, mappingParent, [Number]year ) )
+ MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, [Number]year ),
+ // todo QID 23
+ MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, [Number]year ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, [Number]year ),
+ // todo
0.0 )
);
}
@@ -77,16 +85,16 @@
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣",
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, otdTable, [Number]year, halfNo ),
- MappingForecast::GetQuantityByHalfYear( productCodeList, mappingParent, [Number]year, halfNo ) )
+ MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, [Number]year, halfNo ),
+ MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, [Number]year, halfNo ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, [Number]year, halfNo ),
0.0 )
@@ -99,18 +107,22 @@
for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) {
traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
+ // info( "productCodeList : " + [String]productCodeList.Size() );
+ // info( "MappingCapacityAndSaleBudge::GetSheetBySeason : " + [String]MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ) );
+ // info( "seasonNo : " + [String]seasonNo );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣",
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetBySeason( productCodeList, otdTable, [Number]year, seasonNo ),
- MappingForecast::GetQuantityBySeason( productCodeList, mappingParent, [Number]year, seasonNo ) )
+ MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ),
+ MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ) )
);
- // S&OP
+ // info( "productCodeList : " + [String]productCodeList.Size() );
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, [Number]year, seasonNo ),
0.0 )
@@ -121,20 +133,21 @@
}
if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "鏈�" ) {
for( monthNo := 1; monthNo <= 12; monthNo := monthNo + 1 ) {
+ monthNoString := ifexpr( monthNo <= 9, "0" + [String]monthNo, [String]monthNo );
traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]monthNo + "鏈�-鐩爣",
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ TimeStringAndScenarioName := [String]year + "骞�-绗�" + monthNoString + "鏈�-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByMonth( productCodeList, otdTable, [Number]year, monthNo ),
- MappingForecast::GetQuantityByMonth( productCodeList, mappingParent, [Number]year, monthNo ) )
+ MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, [Number]year, monthNo ),
+ MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, [Number]year, monthNo ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]monthNo + "鏈�-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ TimeStringAndScenarioName := [String]year + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, [Number]year, monthNo ),
0.0 )
@@ -149,16 +162,16 @@
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-鐩爣",
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByYear( productCodeList, otdTable, [Number]year ),
- MappingForecast::GetQuantityByYear( productCodeList, mappingParent, [Number]year ) )
+ MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, [Number]year ),
+ MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, [Number]year ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, [Number]year ),
0.0 )
@@ -172,16 +185,16 @@
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣",
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, otdTable, [Number]year, halfNo ),
- MappingForecast::GetQuantityByHalfYear( productCodeList, mappingParent, [Number]year, halfNo ) )
+ MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, [Number]year, halfNo ),
+ MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, [Number]year, halfNo ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, [Number]year, halfNo ),
0.0 )
@@ -196,16 +209,16 @@
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣",
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetBySeason( productCodeList, otdTable, [Number]year, seasonNo ),
- MappingForecast::GetQuantityBySeason( productCodeList, mappingParent, [Number]year, seasonNo ) )
+ MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ),
+ MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, [Number]year, seasonNo ),
0.0 )
@@ -216,20 +229,21 @@
}
if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "鏈�" ) {
for( monthNo := 1; monthNo <= 12; monthNo := monthNo + 1 ) {
+ monthNoString := ifexpr( monthNo <= 9, "0" + [String]monthNo, [String]monthNo );
traverse( businessTypeList, Elements, businessType ) {
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]monthNo + "鏈�-鐩爣",
- BusinessTypeOrOrgCode := businessType,
+ TimeStringAndScenarioName := [String]year + "骞�-绗�" + monthNoString + "鏈�-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByMonth( productCodeList, otdTable, [Number]year, monthNo ),
- MappingForecast::GetQuantityByMonth( productCodeList, mappingParent, [Number]year, monthNo ) )
+ MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, [Number]year, monthNo ),
+ MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, [Number]year, monthNo ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]monthNo + "鏈�-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := businessType,
+ TimeStringAndScenarioName := [String]year + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, [Number]year, monthNo ),
0.0 )
@@ -238,5 +252,15 @@
}
}
}
+ //info( "CapacityAndSaleBudgeChartElement : " + [String]selectset( this, CapacityAndSaleBudgeChartElement, item, true ).Size() );
+ //traverse( this, CapacityAndSaleBudgeChartRow, row ) {
+ // info( "==鈫�==" );
+ // info( row.BusinessType() );
+ // info( row.PlaceOfProductionOfArray() );
+ // elements := selectset( row, CapacityAndSaleBudgeChartRowProduct, cell, true );
+ // info( elements.Size() );
+ // info( row.GetProductCodes().Concatenate( " | " ) );
+ // info( "==鈫�==" );
+ //}
*]
}
--
Gitblit v1.9.3