netgescon-day0/docs/00-IMPORT/01-GESCON/stabili-mdb-schema.json

393 lines
12 KiB
JSON

{
"database_info": {
"file_name": "stabili.mdb",
"database_type": "Microsoft Access",
"version": "MDB (prima versione)",
"encoding": "Windows-1252",
"connection_string": "Driver={Microsoft Access Driver (*.mdb)};DBQ=stabili.mdb;",
"note": "File database del vecchio programma Gescon"
},
"tables": {
"Stabili": {
"table_name": "Stabili",
"description": "Tabella principale contenente tutti i dati degli stabili condominiali",
"primary_key": "cod_stabile",
"fields": {
"identificativi": {
"cod_stabile": {
"type": "AutoNumber",
"description": "Codice univoco stabile (chiave primaria)",
"netgescon_field": "cod_stabile_old",
"required": true
},
"nome_directory": {
"type": "Text(255)",
"description": "Nome directory per organizzazione file e documenti",
"netgescon_field": "directory_name",
"required": true,
"note": "Importante per collegare archivi futuri"
}
},
"anagrafica_stabile": {
"denominazione": {
"type": "Text(255)",
"description": "Denominazione completa del condominio",
"netgescon_field": "denominazione",
"required": true
},
"indirizzo": {
"type": "Text(255)",
"description": "Indirizzo completo",
"netgescon_field": "indirizzo",
"required": true
},
"cap": {
"type": "Text(5)",
"description": "Codice postale",
"netgescon_field": "cap",
"required": true
},
"citta": {
"type": "Text(100)",
"description": "Città",
"netgescon_field": "citta",
"required": true
},
"provincia": {
"type": "Text(2)",
"description": "Sigla provincia",
"netgescon_field": "provincia",
"required": true
},
"codice_fiscale": {
"type": "Text(16)",
"description": "Codice fiscale condominio",
"netgescon_field": "codice_fiscale",
"required": false
}
},
"dati_bancari": {
"iban_bancario": {
"type": "Text(27)",
"description": "IBAN conto corrente bancario principale",
"netgescon_field": "iban_principale",
"required": false
},
"banca": {
"type": "Text(255)",
"description": "Nome istituto bancario",
"netgescon_field": "banca_denominazione",
"required": false
},
"abi": {
"type": "Text(5)",
"description": "Codice ABI banca",
"netgescon_field": "abi",
"required": false
},
"cab": {
"type": "Text(5)",
"description": "Codice CAB filiale",
"netgescon_field": "cab",
"required": false
},
"iban_postale": {
"type": "Text(27)",
"description": "IBAN conto corrente postale",
"netgescon_field": "iban_postale",
"required": false
},
"conto_postale": {
"type": "Text(20)",
"description": "Numero conto corrente postale",
"netgescon_field": "cc_postale",
"required": false
}
},
"dati_catastali": {
"AC_Foglio": {
"type": "Text(10)",
"description": "Foglio catastale",
"netgescon_field": "catasto_foglio",
"required": false,
"note": "Dati catastali base per successivi dettagli unità"
},
"AC_partic": {
"type": "Text(10)",
"description": "Particella catastale",
"netgescon_field": "catasto_particella",
"required": false,
"note": "Particella principale o di riferimento"
}
},
"gestione_amministrativa": {
"cf_amministratore": {
"type": "Text(16)",
"description": "Codice fiscale amministratore",
"netgescon_field": "amministratore_cf",
"required": false
},
"data_nomina": {
"type": "DateTime",
"description": "Data nomina amministratore",
"netgescon_field": "data_nomina_amministratore",
"required": false
},
"num_condomini": {
"type": "Integer",
"description": "Numero totale condomini",
"netgescon_field": "totale_unita",
"required": false
},
"num_scale": {
"type": "Integer",
"description": "Numero scale edificio",
"netgescon_field": "numero_scale",
"required": false
}
},
"configurazione_rate": {
"ORD_trimestre1": {
"type": "Boolean",
"description": "Emissione rate ordinarie 1° trimestre",
"netgescon_field": "config_rate_ord_q1",
"required": false,
"note": "True/False per attivazione emissione automatica"
},
"ORD_trimestre2": {
"type": "Boolean",
"description": "Emissione rate ordinarie 2° trimestre",
"netgescon_field": "config_rate_ord_q2",
"required": false
},
"ORD_trimestre3": {
"type": "Boolean",
"description": "Emissione rate ordinarie 3° trimestre",
"netgescon_field": "config_rate_ord_q3",
"required": false
},
"ORD_trimestre4": {
"type": "Boolean",
"description": "Emissione rate ordinarie 4° trimestre",
"netgescon_field": "config_rate_ord_q4",
"required": false
},
"RIS_trimestre1": {
"type": "Boolean",
"description": "Emissione rate riserva 1° trimestre",
"netgescon_field": "config_rate_ris_q1",
"required": false,
"note": "Rate per fondo di riserva"
},
"RIS_trimestre2": {
"type": "Boolean",
"description": "Emissione rate riserva 2° trimestre",
"netgescon_field": "config_rate_ris_q2",
"required": false
},
"RIS_trimestre3": {
"type": "Boolean",
"description": "Emissione rate riserva 3° trimestre",
"netgescon_field": "config_rate_ris_q3",
"required": false
},
"RIS_trimestre4": {
"type": "Boolean",
"description": "Emissione rate riserva 4° trimestre",
"netgescon_field": "config_rate_ris_q4",
"required": false
}
},
"metadati": {
"data_creazione": {
"type": "DateTime",
"description": "Data creazione record nel vecchio sistema",
"netgescon_field": "data_creazione_old",
"required": false
},
"data_modifica": {
"type": "DateTime",
"description": "Ultima modifica nel vecchio sistema",
"netgescon_field": "data_modifica_old",
"required": false
},
"note": {
"type": "Memo",
"description": "Note e annotazioni varie",
"netgescon_field": "note_migrazione",
"required": false
},
"attivo": {
"type": "Boolean",
"description": "Stabile attivo/inattivo",
"netgescon_field": "stato_attivo",
"required": false,
"default": true
}
}
}
}
},
"mapping_netgescon": {
"target_table": "stabili",
"mapping_rules": {
"direct_mapping": [
{
"source": "cod_stabile",
"target": "cod_stabile_old"
},
{
"source": "nome_directory",
"target": "directory_name"
},
{
"source": "denominazione",
"target": "denominazione"
},
{
"source": "indirizzo",
"target": "indirizzo"
},
{
"source": "cap",
"target": "cap"
},
{
"source": "citta",
"target": "citta"
},
{
"source": "provincia",
"target": "provincia"
},
{
"source": "codice_fiscale",
"target": "codice_fiscale"
},
{
"source": "num_condomini",
"target": "totale_unita_immobiliari"
},
{
"source": "num_scale",
"target": "numero_scale"
}
],
"computed_mapping": [
{
"target": "comune_id",
"computation": "lookup_comune_by_name_provincia",
"source_fields": [
"citta",
"provincia"
],
"note": "Trova ID comune nella tabella comuni_italiani"
},
{
"target": "amministratore_id",
"computation": "lookup_amministratore_by_cf",
"source_fields": [
"cf_amministratore"
],
"note": "Collega all'amministratore tramite codice fiscale"
},
{
"target": "codice_edificio",
"computation": "generate_building_code",
"source_fields": [
"cod_stabile",
"nome_directory"
],
"note": "Genera codice univoco edificio per NetGescon"
}
],
"json_mapping": [
{
"target": "dati_bancari",
"format": "json",
"fields": {
"iban_principale": "iban_bancario",
"iban_postale": "iban_postale",
"banca_denominazione": "banca",
"abi": "abi",
"cab": "cab",
"cc_postale": "conto_postale"
}
},
{
"target": "dati_catastali",
"format": "json",
"fields": {
"foglio": "AC_Foglio",
"particella": "AC_partic"
}
},
{
"target": "configurazione_rate",
"format": "json",
"fields": {
"ordinarie": {
"q1": "ORD_trimestre1",
"q2": "ORD_trimestre2",
"q3": "ORD_trimestre3",
"q4": "ORD_trimestre4"
},
"riserva": {
"q1": "RIS_trimestre1",
"q2": "RIS_trimestre2",
"q3": "RIS_trimestre3",
"q4": "RIS_trimestre4"
}
}
}
]
}
},
"import_strategy": {
"connection_method": "odbc_mdb",
"batch_size": 50,
"transaction_mode": "per_batch",
"error_handling": "continue_on_error",
"validation_level": "strict",
"backup_before_import": true,
"rollback_on_critical_error": true
},
"next_imports": {
"planned_tables": [
{
"name": "Anagrafica",
"description": "Dati condomini/proprietari",
"depends_on": [
"Stabili"
],
"link_field": "cod_stabile"
},
{
"name": "Unità",
"description": "Unità immobiliari dettagliate",
"depends_on": [
"Stabili",
"Anagrafica"
],
"link_field": "cod_stabile"
},
{
"name": "Movimenti",
"description": "Movimenti contabili",
"depends_on": [
"Stabili"
],
"link_field": "cod_stabile"
},
{
"name": "Rate",
"description": "Rate condominiali emesse",
"depends_on": [
"Stabili",
"Unità"
],
"link_field": "cod_stabile"
}
]
}
}