docs: update CLAUDE.md with Memoria field, natixis param, and query params reference table
This commit is contained in:
20
CLAUDE.md
20
CLAUDE.md
@@ -94,6 +94,8 @@ Tutte le stored procedure sono su `FirstSolutionDB`. I dati tornano **già forma
|
||||
- `GET /api/report?p={isin_cifrato}` / `?alias={id}` / `/by-isin/{isin}` — PDF inline
|
||||
- `GET /api/report/download?p={...}` / `?alias={...}` — PDF come allegato
|
||||
- Tutti gli endpoint report accettano `?branding=true` (default `false`) per abilitare il footer "Powered by Smart Roots"
|
||||
- Tutti gli endpoint report accettano `?dividend=true` (default `false`) per aggiungere la pagina Sottostanti+Dividendi
|
||||
- Tutti gli endpoint report accettano `?natixis=true` (default `false`) per mostrare `info.Nome` nel box Tipologia invece di `info.Categoria`
|
||||
- `GET /api/chart/{isin}[?format=png|pdf&width=&height=]` — grafico standalone
|
||||
- `GET /health` — health check DB + chart service
|
||||
|
||||
@@ -107,6 +109,22 @@ Con `branding=false` (default): solo numero pagina centrato.
|
||||
|
||||
La cache usa chiavi separate: `{isin}:branded` vs `{isin}`. Il flag è propagato come `CertificateReportData.ShowBranding` e passato a `PdfTheme.DrawFooter(g, pageWidth, pageHeight, pageNumber, showBranding)`. L'hyperlink usa `PdfTextWebLink` (richiede `using Syncfusion.Pdf.Interactive;`).
|
||||
|
||||
## Parametri query report
|
||||
|
||||
Tutti i flag booleani hanno default `false` e seguono lo stesso pattern di propagazione: `ReportController` → `IReportOrchestrator.GenerateReportAsync` → `CertificateReportData` → renderer.
|
||||
|
||||
| Parametro | Flag su `CertificateReportData` | Effetto |
|
||||
|-----------|--------------------------------|---------|
|
||||
| `?branding=true` | `ShowBranding` | Footer con "Powered by Smart Roots" + link |
|
||||
| `?dividend=true` | `ShowDividend` | Aggiunge pagina Sottostanti+Dividendi; nasconde tabella Sottostanti dalla Sezione 1 |
|
||||
| `?natixis=true` | `ShowNatixis` | Box Tipologia mostra `info.Nome` invece di `info.Categoria` |
|
||||
|
||||
**Cache key pattern** (Approccio A — suffissi concatenati):
|
||||
- Suffissi: `:branded`, `:dividend`, `:natixis` — aggiunti in questo ordine se il flag è `true`
|
||||
- Chiave base: `{isin}[suffissi]`
|
||||
- Chiave expired: `{isin}:expired[suffissi]`
|
||||
- Esempio: `?branding=true&natixis=true` → chiave `{isin}:branded:natixis`
|
||||
|
||||
## Sezione 1 — AnagraficaSectionRenderer
|
||||
|
||||
Struttura a 3 sezioni verticali in una singola pagina A4:
|
||||
@@ -115,7 +133,7 @@ Struttura a 3 sezioni verticali in una singola pagina A4:
|
||||
|---------|-----------|
|
||||
| **Titolo** | "Scheda Prodotto {ISIN}" blu + Bid/Ask a destra + linea separatrice blu |
|
||||
| **A — Caratteristiche Prodotto** | Tabella emittente a sinistra (ISIN, Mercato, Valuta, Date, Autocall) + tabella cedole a destra (CpnPagati/DaPagare/InMemoria, RendimentoAttuale) |
|
||||
| **B — Analisi** | 8 KV a sinistra + 9 KV a destra. Leva/FattoreAirbag/TriggerOneStar mostrati come `"—"` anche se vuoti |
|
||||
| **B — Analisi** | 9 KV a sinistra + 9 KV a destra. Leva/Memoria/FattoreAirbag/TriggerOneStar mostrati come `"—"` anche se vuoti |
|
||||
| **C — Sottostanti** | PdfGrid 9 colonne: Nome, Strike, Last, % Perf., Barr.K, Buffer K, Trig.CPN, Buf.CPN, Trig.AC (Dist.AC rimossa) |
|
||||
|
||||
Se la tabella Sottostanti non entra (y > PageH-80pt), si crea una nuova pagina. Il footer viene disegnato su ogni pagina con `PdfTheme.DrawFooter`.
|
||||
|
||||
Reference in New Issue
Block a user