netgescon-day0/docs/ai/topics/import-unita-cod-cond.md

3.3 KiB

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.