Fix and restyle forecast component

This commit is contained in:
2025-01-17 23:44:13 -05:00
parent 5987b7173d
commit 9759bac94f
4 changed files with 137 additions and 95 deletions

View File

@@ -270,14 +270,13 @@ router.get('/forecast/metrics', async (req, res) => {
// Get daily forecasts
const [dailyForecasts] = await executeQuery(`
SELECT
forecast_date as date,
COALESCE(SUM(forecast_units), 0) as units,
DATE(forecast_date) as date,
COALESCE(SUM(forecast_revenue), 0) as revenue,
COALESCE(AVG(confidence_level), 0) as confidence
FROM sales_forecasts
WHERE forecast_date BETWEEN ? AND ?
GROUP BY forecast_date
ORDER BY forecast_date
GROUP BY DATE(forecast_date)
ORDER BY date
`, [startDate, endDate]);
// Get category forecasts
@@ -296,12 +295,11 @@ router.get('/forecast/metrics', async (req, res) => {
// Format response
const response = {
forecastSales: parseInt(metrics.total_forecast_units) || 0,
forecastRevenue: parseFloat(metrics.total_forecast_revenue) || 0,
confidenceLevel: parseFloat(metrics.overall_confidence) || 0,
forecastSales: parseInt(metrics[0].total_forecast_units) || 0,
forecastRevenue: parseFloat(metrics[0].total_forecast_revenue) || 0,
confidenceLevel: parseFloat(metrics[0].overall_confidence) || 0,
dailyForecasts: dailyForecasts.map(d => ({
date: d.date,
units: parseInt(d.units) || 0,
revenue: parseFloat(d.revenue) || 0,
confidence: parseFloat(d.confidence) || 0
})),