1.1 KiB
1.1 KiB
Decisions & Architecture
Gestione Firebase Sync e Tipizzazione
- Problema: Firebase trasforma dizionari con chiavi numeriche sequenziali (come le 17 circostanze del CID) in List, causando crash a runtime.
- Soluzione: Introdotta e adottata la funzione helper
fixCircostanzeinCidDataManagerper fare un parsing dinamico sicuro sia da List che da Map.
Coordinate PDF
- Decisione (Blindata): Il motore PDF utilizza un posizionamento assoluto (
pw.Stack) con coordinate fisse (es. Box 12 Y=575.0, Font 8pt Bold) per garantire una stampa pixel-perfect identica al modulo cartaceo ufficiale. Non rompere mai il layout per testo in overflow.
Mappatura Payload
- Si utilizzano nomi brevi (minificati) per il payload JSON (es.
cogper Cognome,cfper Codice Fiscale,circper Circostanze) per ridurre le dimensioni dei pacchetti e ottimizzare i codici QR.
Sincronizzazione Dati Condivisi
- Il "Cassetto 1" (Grafico Incidente con auto e strade) viene gestito esclusivamente dal Conducente A e sincronizzato in sovrascrittura su B per evitare conflitti logici.
- Le Firme ("Cassetto 2") restano indipendenti (A non sovrascrive B).