From df6e56c65e758b5a5e7b28bb9192575710a76c47 Mon Sep 17 00:00:00 2001 From: renhao <renhui.hao@capgemini.com> Date: 星期四, 12 十月 2023 15:54:20 +0800 Subject: [PATCH] Merge branch 'dev' --- _Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart#156.qbl | 123 ++++++++++++++++++++-------------------- 1 files changed, 62 insertions(+), 61 deletions(-) diff --git "a/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart\043156.qbl" "b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart\043156.qbl" index 6afbad7..f860d1f 100644 --- "a/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart\043156.qbl" +++ "b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart\043156.qbl" @@ -9,9 +9,7 @@ CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays placeOfProductionOfArrays, CapacityAndSaleBudgeFilterYears years, CapacityAndSaleBudgeFilterMonths months, - MPSync mpSync, - GlobalOTDTable otdTable, - MacroPlan mappingParent + GlobalOTDTable otdTable ) { Description: '鎸夊叆鍙傚鐞嗘暟鎹紝浜х敓闇�瑕佺殑CapacityAndSaleBudgeChartElement' @@ -19,62 +17,68 @@ [* // yypsybs Sep-19-2023 (created) // true, false - info( saleOrCapacity ); + //info( saleOrCapacity ); // 鏈�;瀛e害;鍗婂勾;骞� - info( groupBy ); + //info( groupBy ); // 闈㈡澘鍩哄湴;浜嬩笟閮� - info( byBusinessTypeOrByOrgCode ); - traverse( businessTypes, Elements, businessType ) { - debuginfo( "businessType : " + businessType.BusinessType() ); - } - traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) { - debuginfo( "placeOfProductionOfArray : " + placeOfProductionOfArray.PlaceOfProductionOfArray() ); - } - traverse( macroPlans, Elements, macroPlan ) { - debuginfo( "macroPlan : " + macroPlan.ScenarioName() ); - } + //info( byBusinessTypeOrByOrgCode ); + //traverse( businessTypes, Elements, businessType ) { + // info( "businessType : " + businessType.BusinessType() ); + //} + //traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) { + // info( "placeOfProductionOfArray : " + placeOfProductionOfArray.PlaceOfProductionOfArray() ); + //} + //traverse( macroPlans, Elements, macroPlan ) { + // info( "macroPlan : " + macroPlan.ScenarioName() ); + //} // 骞翠唤涓嶉�夋椂鍏ㄩ�� if( years.Size() = 0 ) { years := selectsortedset( this, CapacityAndSaleBudgeFilterYear, item, true, item.YearNo() ); } - traverse( years, Elements, year ) { - debuginfo( "yearNo : " + [String]year.YearNo() ); - } + //traverse( years, Elements, year ) { + // debuginfo( "yearNo : " + [String]year.YearNo() ); + //} // 鏈堜唤涓嶉�夋椂鍏ㄩ�� if( months.Size() = 0 ) { months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, true, item.MonthNo() ); } - traverse( months, Elements, month ) { - debuginfo( "monthNo : " + [String]month.MonthNo() ); - } + //traverse( months, Elements, month ) { + // debuginfo( "monthNo : " + [String]month.MonthNo() ); + //} // ====娓呯悊鏃ф暟鎹�==== this.CapacityAndSaleBudgeChartRow( relflush ); this.CapacityAndSaleBudgeChartElement( relflush ); // ====鎸夐潰鏉垮熀鍦板拰浜嬩笟閮ㄥ浜у搧杩涜绛涢�夊垎缁�==== - historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true ); + historyData := selectset( otdTable, Global_MappingAnnualBudgetData, item, true ); if( businessTypes.Size() > 0 ) { businessTypeStrings := selectuniquevalues( businessTypes, Elements, item, true, item.BusinessType() ); historyData := selectset( historyData, Elements, item, businessTypeStrings.Find( item.BusinessType() ) > -1 ); } if( placeOfProductionOfArrays.Size() > 0 ) { placeOfProductionOfArrayStrings := selectuniquevalues( placeOfProductionOfArrays, Elements, item, true, item.PlaceOfProductionOfArray() ); - historyData := selectset( historyData, Elements, item, placeOfProductionOfArrayStrings.Find( item.PlaceOfProductionOfArray() ) > -1 ); + historyData := selectset( historyData, Elements, item, placeOfProductionOfArrayStrings.Find( item.OrgCodeFromBom() ) > -1 ); } //info( "historyData : " + [String]historyData.Size() ); traverse( historyData, Elements, item ) { - row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, item.BusinessType(), item.PlaceOfProductionOfArray() ); + row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, item.BusinessType(), item.OrgCodeFromBom() ); // 璁板綍姣忚鍖呭惈鍝簺product - CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, item.ProductCode() ); + CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, item.ProductID() ); } rows := selectset( this, CapacityAndSaleBudgeChartRow, item, true ); //info( "rows : " + [String]rows.Size() ); - placeOfProductionOfArrayList := selectuniquevalues( historyData, Elements, item, item.PlaceOfProductionOfArray() ); + placeOfProductionOfArrayList := selectuniquevalues( historyData, Elements, item, item.OrgCodeFromBom() ); + //traverse( placeOfProductionOfArrayList, Elements, item ) { + // info( "placeOfProduction : " + item ); + //} businessTypeList := selectuniquevalues( historyData, Elements, item, item.BusinessType() ); + //traverse( businessTypeList, Elements, item ) { + // info( "businessType : " + item ); + //} // 鐢熸垚鍥捐〃鍏冪礌 traverse( years, Elements, year ) { - debuginfo( "process year start : " + [String]year.YearNo() ); + // debuginfo( "process year start : " + [String]year.YearNo() ); if( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "骞�" ) { // 鐩爣 traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { @@ -83,8 +87,8 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-鐩爣", BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, year.YearNo() ), - MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, year.YearNo() ) ) + Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ), + Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) ) ); // S&OP traverse( macroPlans, Elements, macroPlan ) { @@ -92,7 +96,7 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName(), BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingCustomerOrder::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ), + Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ), Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) ) ); @@ -107,8 +111,8 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣", BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ), - MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ) ) + Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ), + Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) ) ); // S&OP traverse( macroPlans, Elements, macroPlan ) { @@ -116,7 +120,7 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(), BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingCustomerOrder::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ), + Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ), Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) ) ); @@ -128,15 +132,12 @@ 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.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣", BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ), - MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ) ) + Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ), + Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) ) ); // info( "productCodeList : " + [String]productCodeList.Size() ); // S&OP @@ -145,7 +146,7 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(), BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingCustomerOrder::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) , + Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) , Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) ) ); @@ -155,7 +156,7 @@ } if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "鏈�" ) { traverse( months, Elements, month ) { - info( "process month start : " + [String]month.MonthNo() ); + // info( "process month start : " + [String]month.MonthNo() ); monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() ); traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); @@ -163,8 +164,8 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-鐩爣", BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ), - MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ) ) + Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ), + Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) ) ); // S&OP traverse( macroPlans, Elements, macroPlan ) { @@ -172,13 +173,13 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(), BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingCustomerOrder::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ), + Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ), Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) ) ); } } - info( "process month end : " + [String]month.MonthNo() ); + // info( "process month end : " + [String]month.MonthNo() ); } } if( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "骞�" ) { @@ -189,8 +190,8 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-鐩爣", BusinessTypeOrPlaceOfProductionOfArray := businessType, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, year.YearNo() ), - MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, year.YearNo() ) ) + Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ), + Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) ) ); // S&OP traverse( macroPlans, Elements, macroPlan ) { @@ -198,7 +199,7 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName(), BusinessTypeOrPlaceOfProductionOfArray := businessType, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingCustomerOrder::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) , + Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ) , Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) ) ); @@ -213,8 +214,8 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣", BusinessTypeOrPlaceOfProductionOfArray := businessType, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ), - MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ) ) + Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ), + Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) ) ); // S&OP traverse( macroPlans, Elements, macroPlan ) { @@ -222,7 +223,7 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(), BusinessTypeOrPlaceOfProductionOfArray := businessType, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingCustomerOrder::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) , + Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) , Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) ) ); @@ -232,15 +233,15 @@ } if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "瀛e害" ) { for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) { - debuginfo( "process season start : " + [String]seasonNo ); + // debuginfo( "process season start : " + [String]seasonNo ); traverse( businessTypeList, Elements, businessType ) { productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); this.CapacityAndSaleBudgeChartElement( relnew, TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣", BusinessTypeOrPlaceOfProductionOfArray := businessType, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ), - MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ) ) + Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ), + Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) ) ); // S&OP traverse( macroPlans, Elements, macroPlan ) { @@ -248,18 +249,18 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(), BusinessTypeOrPlaceOfProductionOfArray := businessType, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingCustomerOrder::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ), + Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ), Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) ) ); } } - info( "process season end : " + [String]seasonNo ); + // info( "process season end : " + [String]seasonNo ); } } if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "鏈�" ) { traverse( months, Elements, month ) { - debuginfo( "process month start : " + [String]month.MonthNo() ); + // debuginfo( "process month start : " + [String]month.MonthNo() ); monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() ); traverse( businessTypeList, Elements, businessType ) { productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); @@ -267,8 +268,8 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-鐩爣", BusinessTypeOrPlaceOfProductionOfArray := businessType, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ), - MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ) ) + Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ), + Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) ) ); // S&OP traverse( macroPlans, Elements, macroPlan ) { @@ -276,16 +277,16 @@ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(), BusinessTypeOrPlaceOfProductionOfArray := businessType, Quantity := ifexpr( saleOrCapacity = "閿�鍞", - MappingCustomerOrder::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) , + Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) , Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) ) ); } } - debuginfo( "process month end : " + [String]month.MonthNo() ); + // debuginfo( "process month end : " + [String]month.MonthNo() ); } } - debuginfo( "process year end : " + [String]year.YearNo() ) + // debuginfo( "process year end : " + [String]year.YearNo() ) } //info( "CapacityAndSaleBudgeChartElement : " + [String]selectset( this, CapacityAndSaleBudgeChartElement, item, true ).Size() ); //traverse( this, CapacityAndSaleBudgeChartRow, row ) { -- Gitblit v1.9.3