MAJOR FIX: Dashboard now shows actual business data instead of mock values
The Bug:
--------
Dashboard insights were displaying hardcoded values:
- Savings: Always showed "€124 this week"
- Deliveries: Always showed "0 arriving today"
- Not reflecting actual business activity
Root Cause:
-----------
Line 468-472 in dashboard.py had hardcoded mock savings data:
```python
savings_data = {
"weekly_savings": 124,
"trend_percentage": 12
}
```
Deliveries data wasn't being fetched from any service.
The Fix:
--------
1. **Real Savings Calculation:**
- Fetches last 7 days of purchase orders
- Sums up actual savings from price optimization
- Uses po.optimization_data.savings field
- Calculates: weekly_savings from PO optimization savings
- Result: Shows €X based on actual cost optimizations
2. **Real Deliveries Data:**
- Fetches pending purchase orders from procurement service
- Counts POs with expected_delivery_date == today
- Result: Shows actual number of deliveries arriving today
3. **Data Flow:**
```
procurement_client.get_pending_purchase_orders()
→ Filter by created_at (last 7 days) for savings
→ Filter by expected_delivery_date (today) for deliveries
→ Calculate totals
→ Pass to dashboard_service.calculate_insights()
```
Benefits:
---------
✅ Savings widget shows real optimization results
✅ Deliveries widget shows actual incoming deliveries
✅ Inventory widget already uses real stock data
✅ Waste widget already uses real sustainability data
✅ Dashboard reflects actual business activity
Note: Trend percentage for savings still defaults to 12% as it
requires historical comparison data (future enhancement).