Update Forecast Period to YTD logic

This commit is contained in:
Christian Vidal Wolf
2026-01-28 12:49:41 +01:00
parent d5a76d5b97
commit bbf32259a8
+18 -5
View File
@@ -49,7 +49,13 @@ const ForecastRow: React.FC<{
}
// Calculations for new columns
const forecastPeriod = item.forecastUnits || 0;
// Forecast Period: Sum of forecast units for active months (YTD)
const forecastPeriod = useMemo(() => {
return activeMonths.reduce((sum, month) => {
return sum + (item.monthlyData?.[month]?.forecastUnits || 0);
}, 0);
}, [item, activeMonths]);
const actualUnits = item.actualUnits || 0;
const annualForecast = item.annualForecast || 0;
@@ -180,12 +186,19 @@ const ForecastView: React.FC<ForecastViewProps> = ({
}, [data, filters.line, filters.asin, filters.sku]);
const globalSummary = useMemo(() => {
return baseFilteredData.reduce((acc, curr) => ({
return baseFilteredData.reduce((acc, curr) => {
// Calculate Forecast Period (YTD) for this item
const itemPeriodForecast = activeMonths.reduce((sum, month) => {
return sum + (curr.monthlyData?.[month]?.forecastUnits || 0);
}, 0);
return {
actualUnits: acc.actualUnits + (curr.actualUnits || 0),
forecastUnits: acc.forecastUnits + (curr.forecastUnits || 0),
forecastUnits: acc.forecastUnits + itemPeriodForecast,
annualForecast: acc.annualForecast + (curr.annualForecast || 0),
}), { actualUnits: 0, forecastUnits: 0, annualForecast: 0 });
}, [baseFilteredData]);
};
}, { actualUnits: 0, forecastUnits: 0, annualForecast: 0 });
}, [baseFilteredData, activeMonths]);
const chartData = useMemo(() => {
const dataMap = new Map<string, { name: string; actual: number; forecast: number }>();