netgescon-day0/docs/00-IMPORT/GESCON-MAPPING-RELAZIONI.md

5.7 KiB

MAPPATURA RELAZIONI GESCON - STABILE 148

ANALISI STRUTTURA DATABASE GESCON

TABELLE PRINCIPALI E RELAZIONI CRITICHE

1. TABELLA CONDOMIN (Core Anagrafica)

  • ID Primario: id_cond (autoincrement)
  • Codice Condomino: cod_cond (2 = B.1, 3 = B.2, etc.)
  • Unità Immobiliare: scala + int + tipo_pr (es: B.1.A, B.2.A)
  • Relazione E_lostesso_Di: Campo E_lostesso_Di (colonna 119)
    • Indica se condomino è uguale a altro (proprietario = inquilino)
    • Valori: 0 = no relation, N = stesso soggetto

CRITICAL RELATIONS:

  • condomin.E_lostesso_Di → relazione proprietario/inquilino
  • condomin.id_conddett_tab.id_cond (millesimi)
  • condomin.id_condrate.id_condomino (rate)
  • condomin.id_conddett_pers.id_cond (dettagli operazioni)

2. TABELLA OPERAZIONI (Movimenti Contabili)

  • ID Primario: id_operaz
  • Collegamento Spese: n_spedett_pers.n_spe
  • Collegamento Straordinarie: n_strastraordinarie.id_stra
  • Vocabolario Spese: cod_spevoc_spe.cod

STRUCTURE:

operazioni.n_spe → dett_pers.n_spe → dett_pers.id_cond → condomin.id_cond
operazioni.n_stra → straordinarie.id_stra (lavori straordinari)
operazioni.cod_spe → voc_spe.cod (tipologia spesa)

3. TABELLA DETT_PERS (Dettaglio Ripartizione Spese)

  • Chiavi Multiple: n_spe + id_cond + cond_inq
  • Campo cond_inq: "C" = condomino, "I" = inquilino
  • Importi: importo (lire) + importo_euro (euro)

CRITICAL:

dett_pers.n_spe = operazioni.n_spe
dett_pers.id_cond = condomin.id_cond
dett_pers.cond_inq = {'C': 'proprietario', 'I': 'inquilino'}

4. TABELLA RATE (Rate Condominiali)

  • ID Primario: id_rate
  • Collegamento Condomino: id_condominocondomin.id_cond
  • Tipologia: propr_inquil = "C"/"I" (proprietario/inquilino)
  • Tipo Rata: o_r_s = "R" (ordinaria), "S" (straordinaria)
  • Collegamento Straordinarie: n_strastraordinarie.id_stra

5. TABELLA STRAORDINARIE (Lavori Straordinari)

  • ID Primario: id_stra
  • Codice: codice (numerico progressivo)
  • Descrizioni Multiple: descriz_prev_cons, descriz_ricev, descriz_ccp

6. SISTEMA MILLESIMI

TABELLA TABELLE (Tipologie Millesimi):

  • ID: id_tabella
  • Codice: cod_tab (TAB.A, ACQUA, RISC, etc.)
  • Descrizione: descr
  • Tipo: tipo ("O" = ordinaria, altro)

TABELLA DETT_TAB (Millesimi per Condomino):

  • Chiavi: cod_tab + id_cond + cond_inq
  • Millesimi: primo campo numerico (9.6520, 8.7510, etc.)

RELAZIONI:

dett_tab.cod_tab = tabelle.cod_tab
dett_tab.id_cond = condomin.id_cond
dett_tab.cond_inq = 'C'/'I' (proprietario/inquilino)

7. VOCABOLARIO SPESE (voc_spe)

  • ID: id_vocspe
  • Codice: cod (802, 804, 816, etc.)
  • Descrizione: descriz
  • Tabella Millesimi: tabellatabelle.cod_tab

DATI ESEMPIO STABILE 148

CONDOMINI IDENTIFICATI:

  • Scala A: 28 unità (1-28)
  • Scala B: 28 unità (1-28) + cantine/box
  • Scala C: 28 unità (1-28) + cantine/box + attività commerciali
  • Scala D: 14 unità + cantine

TOTALE UNITÀ: ~214 record in tabella condomin

TIPOLOGIE MILLESIMI PRESENTI:

  • TAB.A (millesimi generali): 9.6520, 8.7510, 11.5940...
  • ACQUA (consumo acqua)
  • RISC (riscaldamento)
  • Altri codici specializzati

OPERAZIONI ESEMPIO:

  • N_SPE 28, 31: Consumo elettricità parti comuni
  • COD_SPE 816: Elettricità
  • Importi in lire convertiti in euro

STRATEGIA DI IMPORT

FASE 1: Tabelle Anagrafiche Base

  1. administrators (amministratore 00000000)
  2. stabili (stabile GES00148)
  3. database_stabili (netgescon_stabile_GES00148)

FASE 2: Tabelle Master

  1. tabelle_millesimalitabelle
  2. vocabolario_spesevoc_spe
  3. straordinariestraordinarie

FASE 3: Anagrafica Condomini

  1. condominicondomin
  2. Gestione relazione E_lostesso_Di
  3. Separazione proprietari/inquilini

FASE 4: Dettagli e Relazioni

  1. millesimidett_tab
  2. operazioni_contabilioperazioni
  3. dettaglio_ripartizionidett_pers
  4. rate_condominialirate

VALIDAZIONI CRITICHE

Integrità Referenziale:

  • Ogni dett_pers.id_cond deve esistere in condomin.id_cond
  • Ogni operazioni.n_spe deve avere corrispondenti in dett_pers.n_spe
  • Ogni rate.id_condomino deve esistere in condomin.id_cond
  • Ogni dett_tab.id_cond deve esistere in condomin.id_cond

Controlli Quantitativi:

  • Totale millesimi per tabella = 1000.0000
  • Somma importi in dett_pers per N_SPE = importo in operazioni
  • Coerenza date tra operazioni e rate

Relazioni E_lostesso_Di:

  • Se condomin.E_lostesso_Di != 0, verificare esistenza target
  • Mantenere coerenza proprietario/inquilino
  • Evitare cicli nelle relazioni

FILE DI OUTPUT CONSIGLIATI

  1. condomini_gescon_148.csv - Anagrafica completa
  2. millesimi_gescon_148.csv - Tutti i millesimi
  3. operazioni_gescon_148.csv - Movimenti contabili
  4. relazioni_gescon_148.csv - Mappatura E_lostesso_Di
  5. validazione_gescon_148.log - Report controlli integrità

NOTE TECNICHE

  • Conversione Valute: Lire → Euro (fattore 1936.27)
  • Date Format: "MM/DD/YY HH:MM:SS" → ISO format
  • Encoding: Gestire caratteri italiani (à, è, ì, ò, ù)
  • Null Values: Gestire campi vuoti e valori di default

NEXT STEPS:

  1. Creare script di estrazione con mdb-export
  2. Implementare validazioni relazionali
  3. Testare import su database stabile dedicato
  4. Verificare integrità post-import

Created: $(date +"%Y-%m-%d %H:%M:%S") Source DB: /home/michele/netgescon/docs/02-architettura-laravel/Gescon/0021/0001/singolo_anno.mdb Target DB: netgescon_stabile_GES00148