"""Test snapshot build for April + May 2026 (don't save yet)."""
import sys
sys.stdout.reconfigure(encoding="utf-8")
from backend.models.database import SessionLocal
from backend.services.monthly_plan_service import build_monthly_snapshot

db = SessionLocal()
for month in (4, 5):
    print(f"\n=== Building snapshot for {month}/2026 ===")
    snap = build_monthly_snapshot(db, 2026, month)
    print(f"  n_skus: {snap['n_skus']}")
    print(f"  total_qty:       {snap['total_qty']:>12,.0f}")
    print(f"  total_qty_ws:    {snap['total_qty_ws']:>12,.0f}")
    print(f"  total_qty_b2c:   {snap['total_qty_b2c']:>12,.0f}")
    print(f"  total_revenue:   EUR {snap['total_revenue_eur']:>12,.0f}")
    print(f"  total_RUC:       EUR {snap['total_ruc_eur']:>12,.0f}")
    print(f"   ↳ RUC WS:       EUR {snap['total_ruc_ws']:>12,.0f}")
    print(f"   ↳ RUC B2C:      EUR {snap['total_ruc_b2c']:>12,.0f}")
    print(f"  weeks_covered:   {snap['weeks_covered']}")
    print(f"  notes:           {snap['methodology_notes']}")

    # Sample top 5 SKUs
    print(f"  top 5 SKUs by RUC:")
    s = sorted(snap['per_sku_data'],
               key=lambda x: -(x.get('ws_ruc_eur_df', 0) + x.get('b2c_ruc_eur_df', 0)))
    for x in s[:5]:
        rc = x.get('ws_ruc_eur_df', 0) + x.get('b2c_ruc_eur_df', 0)
        print(f"    {x['sku']:<12s}  ws_qty={x['qty_ws_df']:>7.0f}  b2c_qty={x['qty_b2c_df']:>6.0f}  ruc=EUR{rc:>7,.0f}")
db.close()
