From d6bd7a69bc31efa79b21c7be12ba9547a921c251 Mon Sep 17 00:00:00 2001 From: hongji.li <hongji.a.li@capgemini.com> Date: 星期五, 03 十一月 2023 16:28:41 +0800 Subject: [PATCH] 年度产销预算BUG修改 --- _Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForBudget.qbl | 49 ++ _Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Year.qbl | 7 _Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl | 497 ++++++++++---------- _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_pFilterCriteria_ButtonCapacityAndSaleBudgeChartTest_OnClick#603.def | 27 _Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByYear.qbl | 38 + _Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetAnnualSalesQuantity.qbl | 62 ++ _Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_InitializedData.qbl | 2 _Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeData.qbl | 18 _Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByHalfAYear.qbl | 42 + _Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ColumnType.qbl | 7 _Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByMonth.qbl | 42 + _Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByQuarter.qbl | 45 + _Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl | 18 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonCreateData_OnClick.def | 18 _Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateData.qbl | 28 + _Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForScenario.qbl | 11 _Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForBudget.qbl | 48 ++ _Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ScenarioName.qbl | 7 _Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_GetQuantity.qbl | 25 + _Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_SetFilterCriteria.qbl | 38 + _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def | 1 _Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl | 69 +- _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick#19.def | 2 /dev/null | 20 _Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantityForBudget.qbl | 62 ++ _var/_Main/ProjSettings/MacroPlanner/Views/X_分析视图_[414702.1.50321581].vw | 2 _Main/BL/Type_GlobalDTOTable/Method_CreateCapacityAndSaleBudgeTestData#500.qbl | 27 _Main/UI/MacroPlannerWebApp/Views/Pegging分析.vw | 4 _Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_InitializedData.qbl | 2 _Main/UI/MacroPlannerWebApp/Views/年度产销复盘.vw | 6 _Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_SelectGenerateChartRows.qbl | 25 + _Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Month.qbl | 7 _Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocation.qbl | 18 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick#231.def | 24 _Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_FilterCalculationRows.qbl | 21 _Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GenerateBasicDataBasedOnFilteringCriteria.qbl | 41 + _Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForScenario.qbl | 47 + 37 files changed, 1,058 insertions(+), 349 deletions(-) diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl new file mode 100644 index 0000000..ee9147b --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Create ( + GlobalOTDSOP this, + String businessTypeOrPlaceOfProductionOfArray, + String timeStringAndScenarioName, + Real quantity +) +{ + TextBody: + [* + this.CapacityAndSaleBudgeChartElement( relnew, + BusinessTypeOrPlaceOfProductionOfArray := businessTypeOrPlaceOfProductionOfArray, + TimeStringAndScenarioName := timeStringAndScenarioName, + Quantity := quantity + ); + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateData.qbl new file mode 100644 index 0000000..b5c063f --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateData.qbl @@ -0,0 +1,28 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateData ( + GlobalOTDSOP this, + MacroPlans macroPlans, + CapacityAndSaleBudgeCompareItemRows casbcirs, + String popoa, + String groupBy, + String saleOrCapacity, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + //info( "浜ц兘/閿�鍞锛�", saleOrCapacity, " 鏃堕棿鍒嗙粍锛�", groupBy, " 鍩哄湴/浜嬩笟閮細", popoa ); + + if ( groupBy = "骞�" ) { + CapacityAndSaleBudgeChartElement::CreateDataByYear( this, macroPlans, casbcirs, popoa, saleOrCapacity, years, months ); + } else if ( groupBy = "鏈�" ) { + CapacityAndSaleBudgeChartElement::CreateDataByMonth( this, macroPlans, casbcirs, popoa, saleOrCapacity, years, months ); + } else if ( groupBy = "瀛e害" ) { + CapacityAndSaleBudgeChartElement::CreateDataByQuarter( this, macroPlans, casbcirs, popoa, saleOrCapacity, years, months ); + } else if ( groupBy = "鍗婂勾" ) { + CapacityAndSaleBudgeChartElement::CreateDataByHalfAYear( this, macroPlans, casbcirs, popoa, saleOrCapacity, years, months ); + } + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByHalfAYear.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByHalfAYear.qbl new file mode 100644 index 0000000..ca7db25 --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByHalfAYear.qbl @@ -0,0 +1,42 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateDataByHalfAYear ( + GlobalOTDSOP this, + MacroPlans macroPlans, + CapacityAndSaleBudgeCompareItemRows casbcirs, + String popoa, + String saleOrCapacity, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + calculationConditions := ifexpr( saleOrCapacity = "浜ц兘", "PanelAllocation", "SalesVolume" ); + categories := construct( Strings ); + if ( popoa = "闈㈡澘鍩哄湴" ) { + categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.PlaceOfProductionOfArray() ); + } else if ( popoa = "浜嬩笟閮�" ) { + categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.BusinessType() ); + } + + traverse ( years, Elements, y ) { + traverse ( categories, Elements, c ) { + for ( i := 0; i < 2; i ++ ) { + timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + ifexpr( i = 0, "涓婂崐骞�", "涓嬪崐骞�" ) + "-" + "鐩爣"; + targetMonth := selectset( months, Elements, tempM, tempM.MonthNo() >= ( ( i * 6 ) + 1 ) and + tempM.MonthNo() <= ( ( i + 1 ) * 6 ) ); + filterCASBCIR := CapacityAndSaleBudgeChartElement::FilterCalculationRows( casbcirs, c, popoa ); + quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, "", y.YearNo(), targetMonth ); + CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity ); + + traverse ( macroPlans, Elements, mp ) { + timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + ifexpr( i = 0, "涓婂崐骞�", "涓嬪崐骞�" ) + "-" + mp.ScenarioName(); + quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, mp.ScenarioName(), y.YearNo(), targetMonth ); + CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity ); + } + } + } + } + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByMonth.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByMonth.qbl new file mode 100644 index 0000000..ab7379c --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByMonth.qbl @@ -0,0 +1,42 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateDataByMonth ( + GlobalOTDSOP this, + MacroPlans macroPlans, + CapacityAndSaleBudgeCompareItemRows casbcirs, + String popoa, + String saleOrCapacity, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + calculationConditions := ifexpr( saleOrCapacity = "浜ц兘", "PanelAllocation", "SalesVolume" ); + categories := construct( Strings ); + if ( popoa = "闈㈡澘鍩哄湴" ) { + categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.PlaceOfProductionOfArray() ); + } else if ( popoa = "浜嬩笟閮�" ) { + categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.BusinessType() ); + } + + traverse ( years, Elements, y ) { + traverse ( categories, Elements, c ) { + traverse ( months, Elements, m ) { + filterCASBCIR := CapacityAndSaleBudgeChartElement::FilterCalculationRows( casbcirs, c, popoa ); + timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + "鐩爣"; + targetMonths := construct( CapacityAndSaleBudgeFilterMonths ); + targetMonths.Add( m ); + quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, "", y.YearNo(), targetMonths ); + CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity ); + + traverse ( macroPlans, Elements, mp ) { + timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + mp.ScenarioName(); + quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, mp.ScenarioName(), y.YearNo(), targetMonths ); + CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity ); + } + } + } + } + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByQuarter.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByQuarter.qbl new file mode 100644 index 0000000..889033f --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByQuarter.qbl @@ -0,0 +1,45 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateDataByQuarter ( + GlobalOTDSOP this, + MacroPlans macroPlans, + CapacityAndSaleBudgeCompareItemRows casbcirs, + String popoa, + String saleOrCapacity, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + calculationConditions := ifexpr( saleOrCapacity = "浜ц兘", "PanelAllocation", "SalesVolume" ); + categories := construct( Strings ); + if ( popoa = "闈㈡澘鍩哄湴" ) { + categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.PlaceOfProductionOfArray() ); + } else if ( popoa = "浜嬩笟閮�" ) { + categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.BusinessType() ); + } + + traverse ( years, Elements, y ) { + traverse ( categories, Elements, c ) { + for ( i := 1; i < 5; i ++ ) { + targetMonth := selectset( months, Elements, tempM, tempM.MonthNo() >= ( ( i - 1 ) * 3 + 1 ) and + tempM.MonthNo() <= ( i * 3 ) ); + if ( targetMonth.Size() > 0 ) { + timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + "绗�" + [String]i + "瀛e害" + "-" + "鐩爣"; + info( targetMonth.Size() ); + filterCASBCIR := CapacityAndSaleBudgeChartElement::FilterCalculationRows( casbcirs, c, popoa ); + quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, "", y.YearNo(), targetMonth ); + CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity ); + + traverse ( macroPlans, Elements, mp ) { + timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + "绗�" + [String]i + "瀛e害" + "-" + mp.ScenarioName(); + quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, mp.ScenarioName(), y.YearNo(), targetMonth ); + CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity ); + } + } + } + } + } + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByYear.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByYear.qbl new file mode 100644 index 0000000..d7c9acd --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByYear.qbl @@ -0,0 +1,38 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateDataByYear ( + GlobalOTDSOP this, + MacroPlans macroPlans, + CapacityAndSaleBudgeCompareItemRows casbcirs, + String popoa, + String saleOrCapacity, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + calculationConditions := ifexpr( saleOrCapacity = "浜ц兘", "PanelAllocation", "SalesVolume" ); + categories := construct( Strings ); + if ( popoa = "闈㈡澘鍩哄湴" ) { + categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.PlaceOfProductionOfArray() ); + } else if ( popoa = "浜嬩笟閮�" ) { + categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.BusinessType() ); + } + + traverse ( years, Elements, y ) { + traverse ( categories, Elements, c ) { + timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + "鐩爣"; + filterCASBCIR := CapacityAndSaleBudgeChartElement::FilterCalculationRows( casbcirs, c, popoa ); + quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, "", y.YearNo(), months ); + CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity ); + + traverse ( macroPlans, Elements, mp ) { + timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + mp.ScenarioName(); + quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, mp.ScenarioName(), y.YearNo(), months ); + CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity ); + } + } + } + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_FilterCalculationRows.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_FilterCalculationRows.qbl new file mode 100644 index 0000000..42c90f3 --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_FilterCalculationRows.qbl @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod FilterCalculationRows ( + CapacityAndSaleBudgeCompareItemRows casbcirs, + String category, + String popoa +) as owning CapacityAndSaleBudgeCompareItemRows +{ + TextBody: + [* + resultCASBCIR := construct( CapacityAndSaleBudgeCompareItemRows ); + + if ( popoa = "闈㈡澘鍩哄湴" ) { + resultCASBCIR := selectset( casbcirs, Elements, tempCASBCIR, tempCASBCIR.PlaceOfProductionOfArray() = category ); + } else if ( popoa = "浜嬩笟閮�" ) { + resultCASBCIR := selectset( casbcirs, Elements, tempCASBCIR, tempCASBCIR.BusinessType() = category ); + } + + return &resultCASBCIR; + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_GetQuantity.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_GetQuantity.qbl new file mode 100644 index 0000000..ae1ad4d --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_GetQuantity.qbl @@ -0,0 +1,25 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetQuantity ( + CapacityAndSaleBudgeCompareItemRows casbcirs, + String calculationConditions, + String scenarioName, + Number year, + CapacityAndSaleBudgeFilterMonths months +) as Real +{ + TextBody: + [* + total := 0.0; + + total := sum( casbcirs, Elements.CapacityAndSaleBudgeCompareItemCell, tempCASBCIC, + tempCASBCIC.CapacityAndSaleBudgeCompareItemColumn().ColumnType() = calculationConditions and + tempCASBCIC.CapacityAndSaleBudgeCompareItemColumn().ScenarioName() = scenarioName and + tempCASBCIC.CapacityAndSaleBudgeCompareItemColumn().Year() = year and + exists( months, Elements, tempM, tempM.MonthNo() = tempCASBCIC.CapacityAndSaleBudgeCompareItemColumn().Month() ), + [Real]tempCASBCIC.CellContent() + ); + + return total; + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_SelectGenerateChartRows.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_SelectGenerateChartRows.qbl new file mode 100644 index 0000000..c01c3ad --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_SelectGenerateChartRows.qbl @@ -0,0 +1,25 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod SelectGenerateChartRows ( + GlobalOTDSOP this, + owning CapacityAndSaleBudgeFilterItems items, + owning CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas, + owning CapacityAndSaleBudgeFilterBusinessTypes casbfbts, + owning CapacityAndSaleBudgeFilterYears years, + owning CapacityAndSaleBudgeFilterMonths months +) as owning CapacityAndSaleBudgeCompareItemRows +{ + TextBody: + [* + casbcirs := construct( CapacityAndSaleBudgeCompareItemRows ); + + CapacityAndSaleBudgeCompareItemCell::SetFilterCriteria( this, &items, &casbfpopoas, &casbfbts, &years, &months ); + + casbcirs := selectset( this, CapacityAndSaleBudgeCompareItemRow, tempCASBCIR, + exists( casbfpopoas, Elements, tempCASBFPOPOA, tempCASBFPOPOA.PlaceOfProductionOfArray() = tempCASBCIR.PlaceOfProductionOfArray() ) and + exists( casbfbts, Elements, tempCASBFBT, tempCASBFBT.BusinessType() = tempCASBCIR.BusinessType() ) + ); + + return &casbcirs; + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateData.qbl deleted file mode 100644 index 51e9eb4..0000000 --- a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateData.qbl +++ /dev/null @@ -1,25 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -StaticMethod CreateData ( - const GlobalOTDTable globalOTDTable, - GlobalOTDSOP this -) -{ - TextBody: - [* - traverse ( globalOTDTable, Global_MappingAnnualBudgetData, gmabd ) { - productCode := gmabd.ProductID(); - row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, gmabd.BusinessType(), gmabd.OrganCode() ); - CapacityAndSaleBudgeCompareItemRowProduct::CreateIfNotExist( row, 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 ); - } - *] -} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocation.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocation.qbl new file mode 100644 index 0000000..ae7cb61 --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocation.qbl @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreatePanelAllocation ( + MacroPlans macroPlans, + const GlobalOTDTable globalOTDTable, + GlobalOTDSOP this, + CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationDataForBudget( globalOTDTable, this, capacityAndSaleBudgeFilterItems, years, months ); + + CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationDataForScenario( macroPlans, this, capacityAndSaleBudgeFilterItems, years, months ); + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForBudget.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForBudget.qbl new file mode 100644 index 0000000..02ff695 --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForBudget.qbl @@ -0,0 +1,48 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreatePanelAllocationDataForBudget ( + const GlobalOTDTable globalOTDTable, + GlobalOTDSOP this, + CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + if ( exists( capacityAndSaleBudgeFilterItems, Elements, tempCASBFI, tempCASBFI.ItemName() = "闈㈡澘鍒嗛厤閲�" ) ) { + columnNo := max( this, CapacityAndSaleBudgeCompareItemColumn, tempCASBCIC, true, tempCASBCIC.ColumnNo() ) + 1; + traverse ( years, Elements, y ) { + traverse ( months, Elements, m ) { + columnMonthName := "闈㈡澘鍒嗛厤閲�" + "-" + [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + "骞村害棰勭畻"; + columnMonth := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnMonthName, ColumnNo := columnNo, Year := y.YearNo(), Month := m.MonthNo(), ColumnType := "PanelAllocation" ); + traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) { + // info( "褰撳墠琛岋細", casbcir.RowNo(), " 琛岀粍缁囷細", casbcir.PlaceOfProductionOfArray(), " 琛屼簨涓氶儴锛�", casbcir.BusinessType() ); + annualPanelAllocationQuantity := CapacityAndSaleBudgeCompareItemCell::GetPanelAllocationQuantityForBudget( globalOTDTable, + y.YearNo(), + m.MonthNo(), + casbcir.PlaceOfProductionOfArray(), + casbcir.BusinessType() + ); + monthCell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]annualPanelAllocationQuantity ); + monthCell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir ); + } + columnNo++; + } + + columnYearName := "闈㈡澘鍒嗛厤閲�" + "-" + [String]y.YearNo() + "骞�" + "-" + "total" + "-" + "骞村害棰勭畻"; + columnYear := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnYearName, ColumnNo := columnNo, Year := y.YearNo(), ColumnType := "PanelAllocation" ); + traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) { + annualPanelAllocationQuantity := CapacityAndSaleBudgeCompareItemCell::GetPanelAllocationQuantityForBudget( globalOTDTable, + y.YearNo(), + 0, + casbcir.PlaceOfProductionOfArray(), + casbcir.BusinessType() + ); + yearCell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]annualPanelAllocationQuantity ); + yearCell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir ); + } + } + } + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForScenario.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForScenario.qbl new file mode 100644 index 0000000..c646ba3 --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForScenario.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreatePanelAllocationDataForScenario ( + MacroPlans macroPlans, + GlobalOTDSOP this, + CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeData.qbl new file mode 100644 index 0000000..cb8b77f --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeData.qbl @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateSalesVolumeData ( + MacroPlans macroPlans, + const GlobalOTDTable globalOTDTable, + GlobalOTDSOP this, + CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeDataForBudget( globalOTDTable, this, capacityAndSaleBudgeFilterItems, years, months ); + + CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeDataForScenario( macroPlans, this, capacityAndSaleBudgeFilterItems, years, months ); + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForBudget.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForBudget.qbl new file mode 100644 index 0000000..3ce767b --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForBudget.qbl @@ -0,0 +1,49 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateSalesVolumeDataForBudget ( + const GlobalOTDTable globalOTDTable, + GlobalOTDSOP this, + CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + if ( exists( capacityAndSaleBudgeFilterItems, Elements, tempCASBFI, tempCASBFI.ItemName() = "閿�鍞" ) ) { + columnNo := max( this, CapacityAndSaleBudgeCompareItemColumn, tempCASBCIC, true, tempCASBCIC.ColumnNo() ) + 1; + traverse ( years, Elements, y ) { + traverse ( months, Elements, m ) { + columnMonthName := "瀵瑰閿�鍞" + "-" + [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + "骞村害棰勭畻"; + columnMonth := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnMonthName, ColumnNo := columnNo, Year := y.YearNo(), Month := m.MonthNo(), ColumnType := "SalesVolume" ); + traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) { + // info( "褰撳墠琛岋細", casbcir.RowNo(), " 琛岀粍缁囷細", casbcir.PlaceOfProductionOfArray(), " 琛屼簨涓氶儴锛�", casbcir.BusinessType() ); + annualSalesQuantity := CapacityAndSaleBudgeCompareItemCell::GetAnnualSalesQuantity( globalOTDTable, + y.YearNo(), + m.MonthNo(), + casbcir.PlaceOfProductionOfArray(), + casbcir.BusinessType() + ); + monthCell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]annualSalesQuantity ); + monthCell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir ); + } + columnNo++; + } + + columnYearName := "瀵瑰閿�鍞" + "-" + [String]y.YearNo() + "骞�" + "-" + "total" + "-" + "骞村害棰勭畻"; + columnYear := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnYearName, ColumnNo := columnNo, Year := y.YearNo(), ColumnType := "SalesVolume" ); + traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) { + annualSalesQuantity := CapacityAndSaleBudgeCompareItemCell::GetAnnualSalesQuantity( globalOTDTable, + y.YearNo(), + 0, + casbcir.PlaceOfProductionOfArray(), + casbcir.BusinessType() + ); + yearCell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]annualSalesQuantity ); + yearCell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir ); + } + columnNo++; + } + } + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForScenario.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForScenario.qbl new file mode 100644 index 0000000..cc0516c --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForScenario.qbl @@ -0,0 +1,47 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateSalesVolumeDataForScenario ( + MacroPlans macroPlans, + GlobalOTDSOP this, + CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems, + CapacityAndSaleBudgeFilterYears years, + CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + if ( exists( capacityAndSaleBudgeFilterItems, Elements, tempCASBFI, tempCASBFI.ItemName() = "閿�鍞" ) ) { + columnNo := max( this, CapacityAndSaleBudgeCompareItemColumn, tempCASBCIC, true, tempCASBCIC.ColumnNo() ) + 1; + traverse ( macroPlans, Elements, mp ) { + traverse ( years, Elements, y ) { + traverse ( months, Elements, m ) { + columnMonthName := "瀵瑰閿�鍞" + "-" + [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + mp.ScenarioName(); + columnMonth := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnMonthName, ColumnNo := columnNo, Year := y.YearNo(), Month := m.MonthNo(), ColumnType := "SalesVolume", ScenarioName := mp.ScenarioName() ); + traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) { + productIDs := selectuniquevalues( casbcir, CapacityAndSaleBudgeCompareItemRowProduct, tempCASBCIRP, true, tempCASBCIRP.ProductCode() ); + total := sum( mp, SalesDemand, tempSD, productIDs.Find( tempSD.ProductID() ) >= 0 and + tempSD.StartDate().Year() = [Number]y.YearNo() and + tempSD.StartDate().Month() = [Number]m.MonthNo(), + tempSD.Quantity() * tempSD.Price() ); + cellMonth := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total ); + cellMonth.CapacityAndSaleBudgeCompareItemRow( relset, casbcir ); + columnNo++; + } + } + + columnMonthName := "瀵瑰閿�鍞" + "-" + [String]y.YearNo() + "骞�" + "-" + "total" + "-" + mp.ScenarioName(); + columnYear := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnMonthName, ColumnNo := columnNo, Year := y.YearNo(), ColumnType := "SalesVolume", ScenarioName := mp.ScenarioName() ); + traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) { + productIDs := selectuniquevalues( casbcir, CapacityAndSaleBudgeCompareItemRowProduct, tempCASBCIRP, true, tempCASBCIRP.ProductCode() ); + total := sum( mp, SalesDemand, tempSD, productIDs.Find( tempSD.ProductID() ) >= 0 and + tempSD.StartDate().Year() = [Number]y.YearNo(), + tempSD.Quantity() * tempSD.Price() ); + cellYear := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total ); + cellYear.CapacityAndSaleBudgeCompareItemRow( relset, casbcir ); + } + columnNo++; + } + } + } + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GenerateBasicDataBasedOnFilteringCriteria.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GenerateBasicDataBasedOnFilteringCriteria.qbl new file mode 100644 index 0000000..f976af5 --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GenerateBasicDataBasedOnFilteringCriteria.qbl @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GenerateBasicDataBasedOnFilteringCriteria ( + GlobalOTDSOP globalOTDSOP, + const GlobalOTDTable globalOTDTable, + CapacityAndSaleBudgeFilterItems items, + CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas, + CapacityAndSaleBudgeFilterBusinessTypes casbfbts +) +{ + TextBody: + [* + columnPOPOA := globalOTDSOP.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := "闈㈡澘鍩哄湴", ColumnNo := 0 ); + columnBT := globalOTDSOP.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := "浜嬩笟閮�", ColumnNo := 1 ); + + rowNr := 0; + + info( "缁勭粐鍩哄湴涓暟锛�", casbfpopoas.Size(), " 浜嬩笟閮ㄤ釜鏁帮細", casbfbts.Size() ); + + traverse ( casbfpopoas, Elements, casbfpopoa ) { + traverse ( casbfbts, Elements, casbfbt ) { + targetGlobal_MappingAnnualBudgetData := selectset( globalOTDTable, Global_MappingAnnualBudgetData, tempGMABD, tempGMABD.OrganCode() = casbfpopoa.PlaceOfProductionOfArray() and + tempGMABD.BusinessType() = casbfbt.BusinessType() ); + if ( targetGlobal_MappingAnnualBudgetData.Size() > 0 ) { + targetCapacityAndSaleBudgeCompareItemRow := globalOTDSOP.CapacityAndSaleBudgeCompareItemRow( relnew, + PlaceOfProductionOfArray := casbfpopoa.PlaceOfProductionOfArray(), + BusinessType := casbfbt.BusinessType(), + RowNo := rowNr ); + rowNr++; + traverse ( targetGlobal_MappingAnnualBudgetData, Elements, gmabd ) { + targetCapacityAndSaleBudgeCompareItemRow.CapacityAndSaleBudgeCompareItemRowProduct( relnew, ProductCode := gmabd.ProductID() ); + } + cellPOPOA := columnPOPOA.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := casbfpopoa.PlaceOfProductionOfArray() ); + cellBT := columnBT.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := casbfbt.BusinessType() ); + cellPOPOA.CapacityAndSaleBudgeCompareItemRow( relset, targetCapacityAndSaleBudgeCompareItemRow ); + cellBT.CapacityAndSaleBudgeCompareItemRow( relset, targetCapacityAndSaleBudgeCompareItemRow ); + } + } + } + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetAnnualSalesQuantity.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetAnnualSalesQuantity.qbl new file mode 100644 index 0000000..db9e694 --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetAnnualSalesQuantity.qbl @@ -0,0 +1,62 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetAnnualSalesQuantity ( + const GlobalOTDTable globalOTDTable, + Number year, + Number month, + String placeOfProductionOfArray, + String businessType +) as Real +{ + TextBody: + [* + total := 0.0; + + targetGlobal_MappingAnnualBudgetDatas := selectset( globalOTDTable, Global_MappingAnnualBudgetData, tempGMABD, + tempGMABD.YearNo() = [String]year and + tempGMABD.OrganCode() = placeOfProductionOfArray and + tempGMABD.BusinessType() = businessType + ); + + if ( month = 0 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales1() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales2() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales3() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales4() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales5() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales6() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales7() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales8() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales9() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales10() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales11() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales12() ); + } else if ( month = 1 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales1() ); + } else if ( month = 2 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales2() ); + } else if ( month = 3 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales3() ); + } else if ( month = 4 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales4() ); + } else if ( month = 5 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales5() ); + } else if ( month = 6 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales6() ); + } else if ( month = 7 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales7() ); + } else if ( month = 8 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales8() ); + } else if ( month = 9 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales9() ); + } else if ( month = 10 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales10() ); + } else if ( month = 11 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales11() ); + } else if ( month = 12 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales12() ); + } + + return total; + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantityForBudget.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantityForBudget.qbl new file mode 100644 index 0000000..c615dd1 --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantityForBudget.qbl @@ -0,0 +1,62 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetPanelAllocationQuantityForBudget ( + const GlobalOTDTable globalOTDTable, + Number year, + Number month, + String placeOfProductionOfArray, + String businessType +) as Real +{ + TextBody: + [* + total := 0.0; + + targetGlobal_MappingAnnualBudgetDatas := selectset( globalOTDTable, Global_MappingAnnualBudgetData, tempGMABD, + tempGMABD.YearNo() = [String]year and + tempGMABD.OrganCode() = placeOfProductionOfArray and + tempGMABD.BusinessType() = businessType + ); + + if ( month = 0 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity1() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity2() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity3() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity4() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity5() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity6() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity7() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity8() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity9() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity10() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity11() ) + + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity12() ); + } else if ( month = 1 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity1() ); + } else if ( month = 2 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity2() ); + } else if ( month = 3 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity3() ); + } else if ( month = 4 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity4() ); + } else if ( month = 5 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity5() ); + } else if ( month = 6 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity6() ); + } else if ( month = 7 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity7() ); + } else if ( month = 8 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity8() ); + } else if ( month = 9 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity9() ); + } else if ( month = 10 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity10() ); + } else if ( month = 11 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity11() ); + } else if ( month = 12 ) { + total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity12() ); + } + + return total; + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_SetFilterCriteria.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_SetFilterCriteria.qbl new file mode 100644 index 0000000..2b671f2 --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_SetFilterCriteria.qbl @@ -0,0 +1,38 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod SetFilterCriteria ( + GlobalOTDSOP this, + output owning CapacityAndSaleBudgeFilterItems items, + output owning CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas, + output owning CapacityAndSaleBudgeFilterBusinessTypes casbfbts, + output owning CapacityAndSaleBudgeFilterYears years, + output owning CapacityAndSaleBudgeFilterMonths months +) +{ + TextBody: + [* + 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() ); + } + *] +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ColumnType.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ColumnType.qbl new file mode 100644 index 0000000..548bc7e --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ColumnType.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ColumnType +{ + #keys: '3[414702.1.340387451][414702.1.340387450][414702.1.340387452]' + ValueType: String +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Month.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Month.qbl new file mode 100644 index 0000000..d88acda --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Month.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Month +{ + #keys: '3[414702.1.339609433][414702.1.339609432][414702.1.339609434]' + ValueType: Number +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ScenarioName.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ScenarioName.qbl new file mode 100644 index 0000000..7056338 --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ScenarioName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ScenarioName +{ + #keys: '3[414702.1.339085005][414702.1.339085004][414702.1.339085006]' + ValueType: String +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Year.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Year.qbl new file mode 100644 index 0000000..ddcd77c --- /dev/null +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Year.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Year +{ + #keys: '3[414702.1.339609423][414702.1.339609422][414702.1.339609424]' + ValueType: Number +} diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_InitializedData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_InitializedData.qbl index a41d703..7a77229 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_InitializedData.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_InitializedData.qbl @@ -9,7 +9,7 @@ [* globalOTDSOP.CapacityAndSaleBudgeFilterBusinessType( relflush ); - businessTypes := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, tempGMPMP, true, tempGMPMP.BusinessType() ); + businessTypes := selectuniquevalues( globalOTDTable, Global_MappingAnnualBudgetData, tempGMABD, true, tempGMABD.BusinessType() ); traverse ( businessTypes, Elements, bt ) { globalOTDSOP.CapacityAndSaleBudgeFilterBusinessType( relnew, BusinessType := bt ); diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_InitializedData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_InitializedData.qbl index 3c65d07..53f41ff 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_InitializedData.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_InitializedData.qbl @@ -9,7 +9,7 @@ [* globalOTDSOP.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relflush ); - organCodes := selectuniquevalues( globalOTDTable, Global_MappingOperation, tempGMO, true, tempGMO.OrganCode() ); + organCodes := selectuniquevalues( globalOTDTable, Global_MappingAnnualBudgetData, tempGMABD, true, tempGMABD.OrganCode() ); traverse ( organCodes, Elements, oc ) { globalOTDSOP.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relnew, PlaceOfProductionOfArray := oc ); diff --git a/_Main/BL/Type_GlobalDTOTable/Method_InitTestDataByYear.qbl "b/_Main/BL/Type_GlobalDTOTable/Method_CreateCapacityAndSaleBudgeTestData\043500.qbl" similarity index 84% rename from _Main/BL/Type_GlobalDTOTable/Method_InitTestDataByYear.qbl rename to "_Main/BL/Type_GlobalDTOTable/Method_CreateCapacityAndSaleBudgeTestData\043500.qbl" index 98dddf0..06ec0cb 100644 --- a/_Main/BL/Type_GlobalDTOTable/Method_InitTestDataByYear.qbl +++ "b/_Main/BL/Type_GlobalDTOTable/Method_CreateCapacityAndSaleBudgeTestData\043500.qbl" @@ -1,38 +1,29 @@ Quintiq file version 2.0 #parent: #root -Method InitTestDataByYear ( - MacroPlan macroPlan, +Method CreateCapacityAndSaleBudgeTestData ( GlobalOTDSOP globalOTDSOP, + const GlobalOTDTable globalOTDTable, CapacityAndSaleBudgeFilterYears years, - CapacityAndSaleBudgeFilterBusinessTypes businessTypes, - CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays placeOfProductionOfArrays, Product_MPs product_MPs ) { TextBody: [* - product_MPs := selectset( product_MPs, Elements, tempPMP, tempPMP.IsLeaf() and not tempPMP.IsSystem() ); - this.Global_MappingAnnualBudgetData( relflush ); + product_MPs := selectset( product_MPs, Elements, tempPMP, tempPMP.IsLeaf() and not tempPMP.IsSystem() ); if ( years.Size() = 0 ) { years := selectset( globalOTDSOP, CapacityAndSaleBudgeFilterYear, tempCASBFY, - tempCASBFY.YearNo() = Date::ActualDate().Year() or - tempCASBFY.YearNo() = Date::ActualDate().Year() - 1 or - tempCASBFY.YearNo() = Date::ActualDate().Year() + 1 + tempCASBFY.YearNo() = Date::ActualDate().Year() ); } - if ( businessTypes.Size() = 0 ) { - businessTypes := selectset( globalOTDSOP, CapacityAndSaleBudgeFilterBusinessType, tempCASBFBT, true ); - } - if ( placeOfProductionOfArrays.Size() = 0 ) { - placeOfProductionOfArrays := selectset( globalOTDSOP, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, tempCASBFPOPOA, true ); - } + businessTypes := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, tempGMPMP, true, tempGMPMP.BusinessType() ); + placeOfProductionOfArrays := selectuniquevalues( globalOTDTable, Global_MappingOperation, tempGMO, true, tempGMO.OrganCode() ); - traverse ( years, Elements, year ) { + traverse ( years, Elements, year, businessTypes.Size() > 0 and placeOfProductionOfArrays.Size() > 0 ) { traverse ( product_MPs, Elements, pmp ) { - businessType := businessTypes.Element( Number::Random( 0, businessTypes.Size() - 1 ) ).BusinessType(); - placeOfProductionOfArray := placeOfProductionOfArrays.Element( Number::Random( 0, placeOfProductionOfArrays.Size() - 1 ) ).PlaceOfProductionOfArray(); + businessType := businessTypes.Element( Number::Random( 0, businessTypes.Size() - 1 ) ); + placeOfProductionOfArray := placeOfProductionOfArrays.Element( Number::Random( 0, placeOfProductionOfArrays.Size() - 1 ) ); mappingAnnualBudget := this.Global_MappingAnnualBudgetData( relnew, ID := OS::GenerateGUIDAsString(), YearNo := [String]year.YearNo(), diff --git "a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData\04312.qbl" "b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData\04312.qbl" deleted file mode 100644 index b83e909..0000000 --- "a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData\04312.qbl" +++ /dev/null @@ -1,40 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Method InitTestData ( - MacroPlan macroPlan -) -{ - TextBody: - [* - //// yypsybs Oct-7-2023 (created) - //productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() ); - //debuginfo( "productCodeList : " + [String]productCodeList.Size() ); - // - //this.Global_MappingAnnualBudgetData( relflush ); - //if( this.Global_MappingAnnualBudgetData( relsize ) = 0 ) { - // debuginfo( "create Global_MappingAnnualBudgetData test data" ); - // id := 1; - // for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year() + 5; year := year + 1 ) { - // for( i := 1; i <= productCodeList.Size(); i := i + 1 ) { - // productCode := productCodeList.Element( i - 1 ); - // mappingAnnualBudget := this.Global_MappingAnnualBudgetData( relnew, - // ID := [String]id, - // YearNo := [String]year, - // BusinessType := "浜嬩笟閮�" + [String](productCode.Length() mod 3), - // ProductID := productCode); - // id := id + 1; - // for( month := 1; month <= 12; month := month + 1 ) { - // field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlyModCapacity" + [String]month ); - // field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) ); - // field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]month ); - // field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) ); - // field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]month ); - // field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) ); - // } - // } - // } - // result2 := selectset( this, Global_MappingAnnualBudgetData, item, true ); - // debuginfo( "test MappingAnnualBudget size : " + [String]result2.Size() ); - //} - *] -} diff --git a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl deleted file mode 100644 index abebe3c..0000000 --- a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl +++ /dev/null @@ -1,20 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Method InitTestData -{ - TextBody: - [* - //this.MatAttrSettingAndPlanStrategy( relflush ); - - // yypsybs Sep-8-2023 (created) - //debuginfo( "CapacityAndSaleBudge::InitTestData" ) - //mat1 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 1, "鎵嬫満浜嬩笟閮�", "MAT_1", "MAT_1", "TYPE_1", 233.0, "閫氱敤", "闀垮懆鏈�" ); - //MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_1", 666.0, "PROD_1_DESC" ); - //MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_2", 777.0, "PROD_2_DESC" ); - //mat2 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 2, "鎵嬫満浜嬩笟閮�", "MAT_2", "MAT_2", "TYPE_2", 233.0, "涓撶敤", "闀垮懆鏈�" ); - //MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_1", 1666.0, "PROD_1_DESC" ); - //MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_2", 1777.0, "PROD_2_DESC" ); - //MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 3, "鎵嬫満浜嬩笟閮�", "MAT_3", "MAT_3", "TYPE_1", 233.0, "閫氱敤", "鐭懆鏈�" ); - //MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 4, "鎵嬫満浜嬩笟閮�", "MAT_4", "MAT_4", "TYPE_2", 233.0, "涓撶敤", "鐭懆鏈�" ); - *] -} diff --git a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl index b96a8a8..fd760c1 100644 --- a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl +++ b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl @@ -4,263 +4,268 @@ MacroPlans macroPlans, String saleOrCapacity, String groupBy, - String byBusinessTypeOrByOrgCode, - CapacityAndSaleBudgeFilterBusinessTypes businessTypes, - CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays placeOfProductionOfArrays, - CapacityAndSaleBudgeFilterYears years, - CapacityAndSaleBudgeFilterMonths months, + String popoa, + owning CapacityAndSaleBudgeFilterItems items, + owning CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays placeOfProductionOfArrays, + owning CapacityAndSaleBudgeFilterBusinessTypes businessTypes, + owning CapacityAndSaleBudgeFilterYears years, + owning CapacityAndSaleBudgeFilterMonths months, GlobalOTDTable otdTable ) { Description: '鎸夊叆鍙傚鐞嗘暟鎹紝浜х敓闇�瑕佺殑CapacityAndSaleBudgeChartElement' TextBody: [* - info( "浜ц兘/閿�鍞锛�", saleOrCapacity, " 鏃堕棿鍒嗙粍锛�", groupBy, " 鍩哄湴/浜嬩笟閮細", byBusinessTypeOrByOrgCode ); - // 骞翠唤涓嶉�夋椂鍏ㄩ�� - if ( years.Size() = 0 ) { - years := selectset( this, CapacityAndSaleBudgeFilterYear, tempCASBFY, tempCASBFY.YearNo() = Date::ActualDate().Year() ); - } - // 鏈堜唤涓嶉�夋椂鍏ㄩ�� - if ( months.Size() = 0 ) { - months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, true, item.MonthNo() ); - } - - // ====娓呯悊鏃ф暟鎹�==== this.CapacityAndSaleBudgeChartRow( relflush ); this.CapacityAndSaleBudgeChartElement( relflush ); - // ====鎸夐潰鏉垮熀鍦板拰浜嬩笟閮ㄥ浜у搧杩涜绛涢�夊垎缁�==== - targeGlobal_MappingAnnualBudgetDatas := selectset( otdTable, Global_MappingAnnualBudgetData, tempGMABD, true ); - if ( businessTypes.Size() > 0 ) { - businessTypeStrings := selectuniquevalues( businessTypes, Elements, item, true, item.BusinessType() ); - targeGlobal_MappingAnnualBudgetDatas := selectset( targeGlobal_MappingAnnualBudgetDatas, Elements, item, businessTypeStrings.Find( item.BusinessType() ) > -1 ); - } - if ( placeOfProductionOfArrays.Size() > 0 ) { - placeOfProductionOfArrayStrings := selectuniquevalues( placeOfProductionOfArrays, Elements, item, true, item.PlaceOfProductionOfArray() ); - targeGlobal_MappingAnnualBudgetDatas := selectset( targeGlobal_MappingAnnualBudgetDatas, Elements, item, placeOfProductionOfArrayStrings.Find( item.OrganCode() ) > -1 ); - } - info( "閫変腑鐨勪釜鏁�:", targeGlobal_MappingAnnualBudgetDatas.Size() ); + casbcirs := CapacityAndSaleBudgeChartElement::SelectGenerateChartRows( this, &items, &placeOfProductionOfArrays, &businessTypes, &years, &months ); - traverse ( targeGlobal_MappingAnnualBudgetDatas, Elements, gmabd ) { - row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, gmabd.BusinessType(), gmabd.OrganCode() ); - // 璁板綍姣忚鍖呭惈鍝簺product - CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, gmabd.ProductID() ); - } + CapacityAndSaleBudgeChartElement::CreateData( this, macroPlans, casbcirs, popoa, groupBy, saleOrCapacity, years, months ); - rows := selectset( this, CapacityAndSaleBudgeChartRow, item, true ); - placeOfProductionOfArrayList := selectuniquevalues( targeGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, tempGMABD.OrganCode() ); - businessTypeList := selectuniquevalues( targeGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, tempGMABD.BusinessType() ); - - // 鐢熸垚鍥捐〃鍏冪礌 - traverse ( years, Elements, year ) { - if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "骞�" ) { - // 鐩爣 - traverse ( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { - productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-鐩爣", - BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ), - Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) ) - ); - // S&OP - traverse ( macroPlans, Elements, macroPlan ) { - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName(), - BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ), - Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) - ) - ); - } - } - } - if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "鍗婂勾" ) { - for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) { - traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { - productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣", - BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ), - Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) ) - ); - // S&OP - traverse( macroPlans, Elements, macroPlan ) { - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(), - BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ), - Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) - ) - ); - } - } - } - } - if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "瀛e害" ) { - for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) { - traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { - productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣", - BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ), - Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) ) - ); - // info( "productCodeList : " + [String]productCodeList.Size() ); - // S&OP - traverse( macroPlans, Elements, macroPlan ) { - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(), - BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) , - Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) - ) - ); - } - } - } - } - if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "鏈�" ) { - traverse( months, Elements, month ) { - // 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 ); - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-鐩爣", - BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ), - Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) ) - ); - // S&OP - traverse( macroPlans, Elements, macroPlan ) { - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(), - BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ), - Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) - ) - ); - } - } - // info( "process month end : " + [String]month.MonthNo() ); - } - } - if( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "骞�" ) { - // 鐩爣 - traverse( businessTypeList, Elements, businessType ) { - productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-鐩爣", - BusinessTypeOrPlaceOfProductionOfArray := businessType, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ), - Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) ) - ); - // S&OP - traverse( macroPlans, Elements, macroPlan ) { - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName(), - BusinessTypeOrPlaceOfProductionOfArray := businessType, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ) , - Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) - ) - ); - } - } - } - if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "鍗婂勾" ) { - for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) { - traverse( businessTypeList, Elements, businessType ) { - productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣", - BusinessTypeOrPlaceOfProductionOfArray := businessType, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ), - Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) ) - ); - // S&OP - traverse( macroPlans, Elements, macroPlan ) { - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(), - BusinessTypeOrPlaceOfProductionOfArray := businessType, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) , - Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) - ) - ); - } - } - } - } - if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "瀛e害" ) { - for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) { - // 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 = "閿�鍞", - Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ), - Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) ) - ); - // S&OP - traverse( macroPlans, Elements, macroPlan ) { - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(), - BusinessTypeOrPlaceOfProductionOfArray := businessType, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ), - Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) - ) - ); - } - } - // info( "process season end : " + [String]seasonNo ); - } - } - if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "鏈�" ) { - traverse( months, Elements, month ) { - // 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 ); - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-鐩爣", - BusinessTypeOrPlaceOfProductionOfArray := businessType, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ), - Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) ) - ); - // S&OP - traverse( macroPlans, Elements, macroPlan ) { - this.CapacityAndSaleBudgeChartElement( relnew, - TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(), - BusinessTypeOrPlaceOfProductionOfArray := businessType, - Quantity := ifexpr( saleOrCapacity = "閿�鍞", - Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) , - Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) - ) - ); - } - } - // debuginfo( "process month end : " + [String]month.MonthNo() ); - } - } - } + //// 骞翠唤涓嶉�夋椂鍏ㄩ�� + //if ( years.Size() = 0 ) { + // years := selectset( this, CapacityAndSaleBudgeFilterYear, tempCASBFY, tempCASBFY.YearNo() = Date::ActualDate().Year() ); + //} + //// 鏈堜唤涓嶉�夋椂鍏ㄩ�� + //if ( months.Size() = 0 ) { + // months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, true, item.MonthNo() ); + //} + // + //// ====娓呯悊鏃ф暟鎹�==== + // + //// ====鎸夐潰鏉垮熀鍦板拰浜嬩笟閮ㄥ浜у搧杩涜绛涢�夊垎缁�==== + //targeGlobal_MappingAnnualBudgetDatas := selectset( otdTable, Global_MappingAnnualBudgetData, tempGMABD, true ); + //if ( businessTypes.Size() > 0 ) { + // businessTypeStrings := selectuniquevalues( businessTypes, Elements, item, true, item.BusinessType() ); + // targeGlobal_MappingAnnualBudgetDatas := selectset( targeGlobal_MappingAnnualBudgetDatas, Elements, item, businessTypeStrings.Find( item.BusinessType() ) > -1 ); + //} + //if ( placeOfProductionOfArrays.Size() > 0 ) { + // placeOfProductionOfArrayStrings := selectuniquevalues( placeOfProductionOfArrays, Elements, item, true, item.PlaceOfProductionOfArray() ); + // targeGlobal_MappingAnnualBudgetDatas := selectset( targeGlobal_MappingAnnualBudgetDatas, Elements, item, placeOfProductionOfArrayStrings.Find( item.OrganCode() ) > -1 ); + //} + ////info( "閫変腑鐨勪釜鏁�:", targeGlobal_MappingAnnualBudgetDatas.Size() ); + // + //traverse ( targeGlobal_MappingAnnualBudgetDatas, Elements, gmabd ) { + // row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, gmabd.BusinessType(), gmabd.OrganCode() ); + // // 璁板綍姣忚鍖呭惈鍝簺product + // CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, gmabd.ProductID() ); + //} + // + //rows := selectset( this, CapacityAndSaleBudgeChartRow, item, true ); + //placeOfProductionOfArrayList := selectuniquevalues( targeGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, tempGMABD.OrganCode() ); + //businessTypeList := selectuniquevalues( targeGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, tempGMABD.BusinessType() ); + // + //// 鐢熸垚鍥捐〃鍏冪礌 + //traverse ( years, Elements, year ) { + // if ( popoa = "闈㈡澘鍩哄湴" and groupBy = "骞�" ) { + // // 鐩爣 + // traverse ( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { + // productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-鐩爣", + // BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ), + // Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) ) + // ); + // // S&OP + // traverse ( macroPlans, Elements, macroPlan ) { + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName(), + // BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ), + // Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) + // ) + // ); + // } + // } + // } + // if ( popoa = "闈㈡澘鍩哄湴" and groupBy = "鍗婂勾" ) { + // for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) { + // traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { + // productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣", + // BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ), + // Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) ) + // ); + // // S&OP + // traverse( macroPlans, Elements, macroPlan ) { + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(), + // BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ), + // Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) + // ) + // ); + // } + // } + // } + // } + // if ( popoa = "闈㈡澘鍩哄湴" and groupBy = "瀛e害" ) { + // for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) { + // traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { + // productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray ); + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣", + // BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ), + // Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) ) + // ); + // // info( "productCodeList : " + [String]productCodeList.Size() ); + // // S&OP + // traverse( macroPlans, Elements, macroPlan ) { + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(), + // BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) , + // Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) + // ) + // ); + // } + // } + // } + // } + // if ( popoa = "闈㈡澘鍩哄湴" and groupBy = "鏈�" ) { + // traverse( months, Elements, month ) { + //// 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 ); + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-鐩爣", + // BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ), + // Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) ) + // ); + // // S&OP + // traverse( macroPlans, Elements, macroPlan ) { + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(), + // BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ), + // Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) + // ) + // ); + // } + // } + //// info( "process month end : " + [String]month.MonthNo() ); + // } + // } + // if( popoa = "浜嬩笟閮�" and groupBy = "骞�" ) { + // // 鐩爣 + // traverse( businessTypeList, Elements, businessType ) { + // productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-鐩爣", + // BusinessTypeOrPlaceOfProductionOfArray := businessType, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ), + // Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) ) + // ); + // // S&OP + // traverse( macroPlans, Elements, macroPlan ) { + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName(), + // BusinessTypeOrPlaceOfProductionOfArray := businessType, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ) , + // Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) + // ) + // ); + // } + // } + // } + // if ( popoa = "浜嬩笟閮�" and groupBy = "鍗婂勾" ) { + // for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) { + // traverse( businessTypeList, Elements, businessType ) { + // productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣", + // BusinessTypeOrPlaceOfProductionOfArray := businessType, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ), + // Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) ) + // ); + // // S&OP + // traverse( macroPlans, Elements, macroPlan ) { + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(), + // BusinessTypeOrPlaceOfProductionOfArray := businessType, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) , + // Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) + // ) + // ); + // } + // } + // } + // } + // if ( popoa = "浜嬩笟閮�" and groupBy = "瀛e害" ) { + // for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) { + //// 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 = "閿�鍞", + // Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ), + // Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) ) + // ); + // // S&OP + // traverse( macroPlans, Elements, macroPlan ) { + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(), + // BusinessTypeOrPlaceOfProductionOfArray := businessType, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ), + // Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) + // ) + // ); + // } + // } + //// info( "process season end : " + [String]seasonNo ); + // } + // } + // if ( popoa = "浜嬩笟閮�" and groupBy = "鏈�" ) { + // traverse( months, Elements, month ) { + //// 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 ); + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-鐩爣", + // BusinessTypeOrPlaceOfProductionOfArray := businessType, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ), + // Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) ) + // ); + // // S&OP + // traverse( macroPlans, Elements, macroPlan ) { + // this.CapacityAndSaleBudgeChartElement( relnew, + // TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(), + // BusinessTypeOrPlaceOfProductionOfArray := businessType, + // Quantity := ifexpr( saleOrCapacity = "閿�鍞", + // Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) , + // Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) + // ) + // ); + // } + // } + //// debuginfo( "process month end : " + [String]month.MonthNo() ); + // } + // } + //} ////info( "CapacityAndSaleBudgeChartElement : " + [String]selectset( this, CapacityAndSaleBudgeChartElement, item, true ).Size() ); ////traverse( this, CapacityAndSaleBudgeChartRow, row ) { //// info( "==鈫�==" ); diff --git a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl index 8b53f33..5215a43 100644 --- a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl +++ b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl @@ -2,40 +2,41 @@ #parent: #root Method CapacityAndSaleBudgeCompare ( MacroPlans macroPlans, - CapacityAndSaleBudgeFilterItems items, - CapacityAndSaleBudgeFilterYears years, - CapacityAndSaleBudgeFilterMonths months, + owning CapacityAndSaleBudgeFilterItems items, + owning CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas, + owning CapacityAndSaleBudgeFilterBusinessTypes casbfbts, + owning CapacityAndSaleBudgeFilterYears years, + owning CapacityAndSaleBudgeFilterMonths months, const GlobalOTDTable globalOTDTable ) { Description: 'todo : mappingParent鏀逛负mpSync, random鍒犱簡' TextBody: [* - if ( years.Size() = 0 ) { - years := selectset( this, CapacityAndSaleBudgeFilterYear, tempCASBFY, tempCASBFY.YearNo() = Date::ActualDate().Year() ); - } - if ( months.Size() = 0 ) { - months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, item.MonthNo() ); - } - this.CapacityAndSaleBudgeCompareItemRow( relflush ); this.CapacityAndSaleBudgeCompareItemColumn( relflush ); - CapacityAndSaleBudgeCompareItemCell::CreateData( globalOTDTable, this ); + CapacityAndSaleBudgeCompareItemCell::SetFilterCriteria( this, &items, &casbfpopoas, &casbfbts, &years, &months ); - if ( CapacityAndSaleBudgeFilterItem::Contains( items, "闈㈡澘鍒嗛厤閲�" ) ) { - traverse ( years, Elements, year ) { - CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationBudget( this, months, year, globalOTDTable ); - CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationByScenario( macroPlans, this, months, year ); - } - } + CapacityAndSaleBudgeCompareItemCell::GenerateBasicDataBasedOnFilteringCriteria( this, globalOTDTable, items, casbfpopoas, casbfbts ); - if ( CapacityAndSaleBudgeFilterItem::Contains( items, "閿�鍞" ) ) { - traverse ( years, Elements, year ) { - CapacityAndSaleBudgeCompareItemCell::CreateSalesVolume( this, months, year, globalOTDTable ); - CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeByScenario( macroPlans, this, months, year ); - } - } + CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeData( macroPlans, globalOTDTable, this, items, years, months ); + + CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocation( macroPlans, globalOTDTable, this, items, years, months ); + + //if ( CapacityAndSaleBudgeFilterItem::Contains( items, "闈㈡澘鍒嗛厤閲�" ) ) { + // traverse ( years, Elements, year ) { + // CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationBudget( this, months, year, globalOTDTable ); + // CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationByScenario( macroPlans, this, months, year ); + // } + //} + // + //if ( CapacityAndSaleBudgeFilterItem::Contains( items, "閿�鍞" ) ) { + // traverse ( years, Elements, year ) { + // CapacityAndSaleBudgeCompareItemCell::CreateSalesVolume( this, months, year, globalOTDTable ); + // CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeByScenario( macroPlans, this, months, year ); + // } + //} // 澶у紶鐩堝埄棰� //traverse ( years, Elements, year ) { @@ -74,16 +75,16 @@ //} // 璁剧疆rowNo鍜宑olumnNo - rowNo := 1; - rowSorted := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, item, item.PlaceOfProductionOfArray() + "_" + item.BusinessType() ); - traverse( rowSorted, Elements, item ) { - item.RowNo( rowNo ); - rowNo := rowNo + 1; - } - columnNo := 1; - traverse( this, CapacityAndSaleBudgeCompareItemColumn, item ) { - item.ColumnNo( columnNo ); - columnNo := columnNo + 1; - } + //rowNo := 1; + //rowSorted := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, item, item.PlaceOfProductionOfArray() + "_" + item.BusinessType() ); + //traverse( rowSorted, Elements, item ) { + // item.RowNo( rowNo ); + // rowNo := rowNo + 1; + //} + //columnNo := 1; + //traverse( this, CapacityAndSaleBudgeCompareItemColumn, item ) { + // item.ColumnNo( columnNo ); + // columnNo := columnNo + 1; + //} *] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonCreateData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonCreateData_OnClick.def index 55bdd70..fa3f604 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonCreateData_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonCreateData_OnClick.def @@ -7,13 +7,7 @@ DefinitionID: 'Responsedef_WebButton_OnClick' Precondition: [* - flag := true; - - flag := GlobalOTDSOP.CapacityAndSaleBudgeFilterYear( relsize ) > 0 and - GlobalOTDSOP.CapacityAndSaleBudgeFilterBusinessType( relsize ) > 0 and - GlobalOTDSOP.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relsize ) > 0; - - return flag; + return not isnull( GlobalOTDSOP ) and not isnull( GlobalOTDTable ); *] QuillAction { @@ -27,12 +21,10 @@ if ( DataHolderCheckedProduct.Data().Size() = 0 ) { WebMessageBox::Error( "璇峰厛鍦ㄥ乏渚у鑸爮閫夋嫨瑕佺敓鎴愭祴璇曟暟鎹殑浜у搧锛�", true ); } else { - GlobalOTDTable.InitTestDataByYear( MacroPlan, - GlobalOTDSOP, - DataHolderCapacityAndSaleBudgeFilterYear.Data(), - DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), - DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), - DataHolderCheckedProduct.Data() ); + GlobalOTDTable.CreateCapacityAndSaleBudgeTestData( GlobalOTDSOP, + GlobalOTDTable, + DataHolderCapacityAndSaleBudgeFilterYear.Data(), + DataHolderCheckedProduct.Data() ); } } *] diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick\04319.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick\04319.def" index 6af89c3..a8c2ccc 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick\04319.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick\04319.def" @@ -18,8 +18,6 @@ CapacityAndSaleBudgeFilterMonth::InitializedData( GlobalOTDSOP ); CapacityAndSaleBudgeFilterBusinessType::InitializedData( GlobalOTDSOP, GlobalOTDTable ); CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::InitializedData( GlobalOTDSOP, GlobalOTDTable ); - - GlobalOTDTable.Global_MappingAnnualBudgetData( relflush ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def index f3f605d..09249e2 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def @@ -81,5 +81,6 @@ [ ContextMenu: 'chartContextMenuCapacityAndSaleBudge' Taborder: 4 + Title: '骞村害浜ч攢棰勭畻澶嶇洏' ] } diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_pFilterCriteria_ButtonCapacityAndSaleBudgeChartTest_OnClick\043603.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_pFilterCriteria_ButtonCapacityAndSaleBudgeChartTest_OnClick\043603.def" index 761a489..8ff52d7 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_pFilterCriteria_ButtonCapacityAndSaleBudgeChartTest_OnClick\043603.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_pFilterCriteria_ButtonCapacityAndSaleBudgeChartTest_OnClick\043603.def" @@ -9,17 +9,32 @@ { Body: [* - //CapacityAndSaleBudgeChartElement::TestData( GlobalOTDTable ); + targetCapacityAndSaleBudgeFilterItem := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterItem, tempCASBFI, + exists( DataHolderCapacityAndSaleBudgeFilterItem.Data(), Elements, tempCASBFI1, tempCASBFI1 = tempCASBFI ) ); + + targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, tempCASBFPOPOA, + exists( DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), Elements, tempCASBFPOPOA1, tempCASBFPOPOA1 = tempCASBFPOPOA ) ); + + targetCapacityAndSaleBudgeFilterBusinessType := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterBusinessType, tempCASBFBT, + exists( DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), Elements, tempCASBFBT1, tempCASBFBT1 = tempCASBFBT ) ); + + targetCapacityAndSaleBudgeFilterYear := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterYear, tempCASBFY, + exists( DataHolderCapacityAndSaleBudgeFilterYear.Data(), Elements, tempCASBFY1, tempCASBFY1 = tempCASBFY ) ); + + targetCapacityAndSaleBudgeFilterMonth := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterMonth, tempCASBFM, + exists( DataHolderCapacityAndSaleBudgeFilterMonth.Data(), Elements, tempCASBFM1, tempCASBFM1 = tempCASBFM ) ); GlobalOTDSOP.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(), DropDownSaleOrCapacity.Text(), DropDownTimeGroup.Text(), DropDownByBusinessTypeOrByOrgCode.Text(), - DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), - DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), - DataHolderCapacityAndSaleBudgeFilterYear.Data(), - DataHolderCapacityAndSaleBudgeFilterMonth.Data(), - GlobalOTDTable ); + &targetCapacityAndSaleBudgeFilterItem, + &targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray, + &targetCapacityAndSaleBudgeFilterBusinessType, + &targetCapacityAndSaleBudgeFilterYear, + &targetCapacityAndSaleBudgeFilterMonth, + GlobalOTDTable + ); *] GroupServerCalls: false } diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick\043231.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick\043231.def" index a683e63..2b22dca 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick\043231.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick\043231.def" @@ -9,10 +9,28 @@ { Body: [* + targetCapacityAndSaleBudgeFilterItem := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterItem, tempCASBFI, + exists( DataHolderCapacityAndSaleBudgeFilterItem.Data(), Elements, tempCASBFI1, tempCASBFI1 = tempCASBFI ) ); + + targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, tempCASBFPOPOA, + exists( DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), Elements, tempCASBFPOPOA1, tempCASBFPOPOA1 = tempCASBFPOPOA ) ); + + targetCapacityAndSaleBudgeFilterBusinessType := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterBusinessType, tempCASBFBT, + exists( DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), Elements, tempCASBFBT1, tempCASBFBT1 = tempCASBFBT ) ); + + targetCapacityAndSaleBudgeFilterYear := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterYear, tempCASBFY, + exists( DataHolderCapacityAndSaleBudgeFilterYear.Data(), Elements, tempCASBFY1, tempCASBFY1 = tempCASBFY ) ); + + targetCapacityAndSaleBudgeFilterMonth := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterMonth, tempCASBFM, + exists( DataHolderCapacityAndSaleBudgeFilterMonth.Data(), Elements, tempCASBFM1, tempCASBFM1 = tempCASBFM ) ); + + GlobalOTDSOP.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(), - DataHolderCapacityAndSaleBudgeFilterItem.Data(), - DataHolderCapacityAndSaleBudgeFilterYear.Data(), - DataHolderCapacityAndSaleBudgeFilterMonth.Data(), + &targetCapacityAndSaleBudgeFilterItem, + &targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray, + &targetCapacityAndSaleBudgeFilterBusinessType, + &targetCapacityAndSaleBudgeFilterYear, + &targetCapacityAndSaleBudgeFilterMonth, GlobalOTDTable ); *] GroupServerCalls: false diff --git "a/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw" "b/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw" index 8853861..7477409 100644 --- "a/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw" +++ "b/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw" @@ -239,7 +239,7 @@ FormPeggingAllResult_DataSetLevelPeggingAllResult { groupDepth: 2 - sort: 'StartDate' + sort: 'ProductID,StockingPointID,StartDate' column_PeggingProductInSalesDemandBase_SalesDemandBaseID { columnId: 'PeggingProductInSalesDemandBase.SalesDemandBaseID' @@ -328,10 +328,10 @@ userconfigurableinformation { } - image: 'VIEW' page: '' group: '' index: 0 + image: 'VIEW' description: '' } formatversion: 2 diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\345\271\264\345\272\246\344\272\247\351\224\200\345\244\215\347\233\230.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\345\271\264\345\272\246\344\272\247\351\224\200\345\244\215\347\233\230.vw" index 0516c1b..7558c72 100644 --- "a/_Main/UI/MacroPlannerWebApp/Views/\345\271\264\345\272\246\344\272\247\351\224\200\345\244\215\347\233\230.vw" +++ "b/_Main/UI/MacroPlannerWebApp/Views/\345\271\264\345\272\246\344\272\247\351\224\200\345\244\215\347\233\230.vw" @@ -156,7 +156,7 @@ FormCapacityAndSaleBudgeFilterItem_DataSetLevelCapacityAndSaleBudgeFilterItem { groupDepth: -1 - sort: 'ItemName' + sort: 'DESC:ItemName' column_ItemName { columnId: 'ItemName' @@ -221,6 +221,7 @@ FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_DataSetLevelCapacityAndSaleBudgeFilterPlaceOfProductionOfArray { groupDepth: -1 + sort: 'DESC:PlaceOfProductionOfArray' column_PlaceOfProductionOfArray { columnId: 'PlaceOfProductionOfArray' @@ -287,6 +288,7 @@ FormCapacityAndSaleBudgeFilterBusinessType_DataSetLevelCapacityAndSaleBudgeFilterBusinessType { groupDepth: -1 + sort: 'DESC:BusinessType' column_BusinessType { columnId: 'BusinessType' @@ -369,10 +371,10 @@ userconfigurableinformation { } - image: 'PIG' page: '' group: '' index: 0 + image: 'PIG' description: '' } formatversion: 2 diff --git "a/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw" "b/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw" index 4035f35..2db39ee 100644 --- "a/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw" +++ "b/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw" @@ -16,7 +16,7 @@ CREATIONUSER 'quintiq/hongjli' UPDATEDATETIME '2023-11-01T11:42:14' UPDATEUSER 'quintiq/hongjli' - LASTACCESSDATE '2023-11-02' + LASTACCESSDATE '2023-11-03' VIEWSCOPE 0 } AUTHORIZATIONS -- Gitblit v1.9.3