diff --git a/docs/superpowers/specs/2026-06-08-fund-report-design.md b/docs/superpowers/specs/2026-06-08-fund-report-design.md index 7d8e958..1367139 100644 --- a/docs/superpowers/specs/2026-06-08-fund-report-design.md +++ b/docs/superpowers/specs/2026-06-08-fund-report-design.md @@ -123,16 +123,23 @@ Colori: Perf positiva → `PositiveGreenBrush`, negativa → `NegativeRedBrush`, --- -## 4. Pagina 2 — Grafico (placeholder) +## 4. Pagina 2 — Grafico -Il rendering della pagina 2 è un **placeholder** in questa fase. La SP del grafico verrà fornita in seguito. +**SP:** `sfih_GetChartPrices @ISIN VARCHAR(20)` +Restituisce `Px_Close (decimal)` e `Px_Date (date)` ordinati ASC, solo valori non NULL. -`FundChartRenderer` restituisce per ora una pagina con il testo "Grafico non disponibile" oppure viene omessa se la SP non è configurata. La struttura è pronta per accogliere la SP senza modifiche all'orchestratore. +`FundChartRenderer` (pagina 2 nel PDF report): +- Singola linea nera sul close price storico +- Asse X: date (intervalli mensili adattivi come chart V2) +- Asse Y: scala automatica su min/max dei prezzi +- Titolo: `"Andamento Prezzo — {str}"` + sottotitolo con valuta +- Se la SP restituisce < 2 punti, la pagina mostra un messaggio "Dati insufficienti" -`FundSkiaChartRenderer` (endpoint `/api/chart/fund/{isin}`): -- Singola linea: close price storico (`Px_Close` da SP da definire) -- Supporta `?format=png|jpg|jpeg|pdf` e `?save=true` -- Nessuna logica WorstOf/barriere/label complesse +`FundSkiaChartRenderer` (endpoint standalone `/api/chart/fund/{isin}`): +- Stessa logica di rendering, output PNG/JPEG/PDF +- Supporta `?format=png|jpg|jpeg|pdf`, `?width=`, `?height=`, `?save=true` +- `?save=true` salva JPEG in `ChartSettings:SavePath\{isin}_fund.jpg` +- Nessuna logica WorstOf/barriere/label complesse (renderer dedicato, non V2) --- @@ -238,6 +245,5 @@ Riusa il `PdfCacheService` esistente (stesso TTL da `appsettings.json`). ## 10. Fuori scope (questa iterazione) -- SP grafico: `FundChartDataService` e `FundSkiaChartRenderer` rimangono placeholder fino alla fornitura della SP - Parametri `?natixis`, `?dividend` — non applicabili ai fondi - Test automatici (nessun test nel progetto al momento)