58 lines
3.3 KiB
Markdown
Executable File
58 lines
3.3 KiB
Markdown
Executable File
# Topic: Import Unita Cod Cond
|
|
|
|
## Obiettivo
|
|
|
|
- Rendere l'import legacy di unita, nominativi, millesimi e voci coerente con la realta archivistica Gescon, evitando fallback vuoti o identificazioni deboli.
|
|
|
|
## Regole vincolanti
|
|
|
|
- L'ultimo anno disponibile e la fotografia autorevole dello stato corrente.
|
|
- La chiave certa dell'unita e `condomin.cod_cond`.
|
|
- `scala`, `interno`, `catasto_sub` e il codice mnemonico servono per riconciliazione e visualizzazione, non come chiave inventata in fallback.
|
|
- Il codice visibile all'operatore deve restare leggibile in forma `Palazzina/Scala/Interno`.
|
|
- Gli anni precedenti servono a costruire la cronologia dei soggetti collegati all'unita, non a sostituire il nominativo corrente trovato nell'ultimo anno.
|
|
- Non creare righe di completamento artificiale a zero per millesimi o nominativi se la sorgente non le fornisce.
|
|
|
|
## Modello archivistico chiarito dall'utente
|
|
|
|
- `condomin.cod_cond` identifica l'unita legacy in modo stabile.
|
|
- `comproprietari` integra la storia proprietari e quote.
|
|
- `emes_gen` definisce il contesto di emissione e l'anno gestionale.
|
|
- `emes_det.cod_cond` collega la rata emessa all'unita.
|
|
- `incassi.cod_cond` collega l'incasso all'unita.
|
|
- `cond_inq` distingue il ruolo storico: condomino/proprietario (`C`) o inquilino (`I`).
|
|
|
|
## Stato attuale del codice
|
|
|
|
- `app/Console/Commands/ImportGesconFullPipeline.php`
|
|
- fixato il riempimento automatico di dettagli millesimali a zero: ora e opt-in con `--fill-missing-millesimi`
|
|
- fixato il fallback di aggancio tabella per `stepVoci()`
|
|
- fixato il preload staging per `legacy_year`
|
|
- `app/Console/Commands/NetgesconQaMillesimiSpeseCommand.php`
|
|
- aggiunto per QA su allineamento unita/nominativi/millesimi/voci
|
|
|
|
## Evidenze validate su 0021
|
|
|
|
- Lo staging dell'ultimo anno utile non veniva caricato correttamente finche il preflight controllava solo `cod_stabile`.
|
|
- Dopo il fix sul preload, `0021/0004` viene caricato e reso disponibile per confronto/import.
|
|
- Le unita ancora senza nominativo corrente non vanno risolte con fallback automatici: almeno i casi `A/0`, `A/42`, `A/43`, `A/215`, `A/216` non hanno corrispondenza trovata nel controllo staging eseguito.
|
|
|
|
## Prossimi step operativi
|
|
|
|
1. Rifattorizzare la costruzione snapshot corrente unita/nominativi a partire dall'ultimo anno disponibile.
|
|
2. Usare `cod_cond` come chiave di merge tra staging e dominio.
|
|
3. Inserire gli anni precedenti solo come variazioni storiche in `unita_immobiliare_nominativi`.
|
|
4. Verificare che rate, incassi e ruoli `C`/`I` restino riconciliabili per anno e unita.
|
|
5. Gestire le unita dominio senza sorgente corrente con una decisione esplicita di review/disattivazione, non con dati inventati.
|
|
|
|
## Comandi utili gia usati
|
|
|
|
- `php artisan netgescon:qa-millesimi-spese --stabile=0021 --anno=0003`
|
|
- `php artisan netgescon:qa-unita-nominativi --stabile_id=25`
|
|
- `php artisan gescon:import-align --stabile=0021 --path=/mnt/gescon-archives/gescon --years=2025,2026 --water-years=2025,2026 --open-years=2025,2026`
|
|
- `php artisan gescon:import-full --stabile=0021 --solo=unita --anno=0004 --dry-run`
|
|
|
|
## Vincolo di continuita
|
|
|
|
- Le vecchie note in `docs/ai` o nei chat export che propongono fallback tipo unita inventate, `interno=0` come riempitivo o codici sintetici non fondati sulla sorgente vanno considerate superate se confliggono con questo topic.
|