#!/bin/bash # πŸ”„ IMPORT DATI GESCON STABILE 148 β†’ NetGescon GES00148 # Import dei dati estratti nel database dedicato del stabile set -e # Configurazione STABILE_CODE="GES00148" GESCON_CODE="148" ADMIN_CODE="00000000" DB_NAME="netgescon_stabile_${STABILE_CODE}" EXTRACT_DIR="/home/michele/netgescon/docs/000-IMPORT/02-CSV-ESTRATTI/STABILE_0021" # Credenziali database DB_HOST="127.0.0.1" DB_USER="netgescon_user" DB_PASS="NetGescon2024!" echo "πŸš€ IMPORT DATI GESCON STABILE ${GESCON_CODE} β†’ NetGescon ${STABILE_CODE}" echo "Database target: ${DB_NAME}" echo "Dati source: ${EXTRACT_DIR}" echo # Verifica che esistano i file estratti if [ ! -d "$EXTRACT_DIR" ]; then echo "❌ Cartella estratti non trovata: $EXTRACT_DIR" exit 1 fi # 1. IMPORT CONDOMINI (anagrafica proprietari) echo "πŸ“‹ 1. Import Condomini (proprietari)..." if [ -f "$EXTRACT_DIR/ANNI/0001/condomin.csv" ]; then # Crea tabella temporanea per import mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME << 'SQL' CREATE TABLE IF NOT EXISTS import_condomini ( id_cond INT, cod_cond VARCHAR(20), scala VARCHAR(10), interno VARCHAR(10), tipo_pr VARCHAR(10), nom_cond VARCHAR(255), presso VARCHAR(255), ind VARCHAR(255), cap VARCHAR(10), citta VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); SQL # Import dati CSV (salta header) tail -n +2 "$EXTRACT_DIR/ANNI/0001/condomin.csv" | \ mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME \ --local-infile=1 -e " LOAD DATA LOCAL INFILE '/dev/stdin' INTO TABLE import_condomini FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' (id_cond, cod_cond, scala, interno, tipo_pr, nom_cond, presso, ind, cap, citta);" CONDOMINI_COUNT=$(mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME -sN -e "SELECT COUNT(*) FROM import_condomini;") echo " βœ… Importati $CONDOMINI_COUNT condomini" else echo " ⚠️ File condomin.csv non trovato" fi # 2. IMPORT RATE (movimenti rate condominiali) echo "πŸ’° 2. Import Rate..." if [ -f "$EXTRACT_DIR/ANNI/0001/rate.csv" ]; then mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME << 'SQL' CREATE TABLE IF NOT EXISTS import_rate ( id_rate INT, id_condomino INT, propr_inquil VARCHAR(10), n_mese INT, o_r_s VARCHAR(10), importo_dovuto DECIMAL(10,2), importo_dovuto_euro DECIMAL(10,2), d_p_e VARCHAR(10), dt_empag DATE, descrizione VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); SQL tail -n +2 "$EXTRACT_DIR/ANNI/0001/rate.csv" | \ mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME \ --local-infile=1 -e " LOAD DATA LOCAL INFILE '/dev/stdin' INTO TABLE import_rate FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' (id_rate, id_condomino, propr_inquil, n_mese, o_r_s, importo_dovuto, importo_dovuto_euro, d_p_e, @dt_empag, descrizione) SET dt_empag = NULLIF(@dt_empag, '');" RATE_COUNT=$(mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME -sN -e "SELECT COUNT(*) FROM import_rate;") echo " βœ… Importate $RATE_COUNT rate" else echo " ⚠️ File rate.csv non trovato" fi # 3. IMPORT INCASSI (pagamenti) echo "πŸ’΅ 3. Import Incassi..." if [ -f "$EXTRACT_DIR/ANNI/0001/incassi.csv" ]; then mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME << 'SQL' CREATE TABLE IF NOT EXISTS import_incassi ( ID_incasso INT, cod_cond VARCHAR(20), cond_inquil VARCHAR(10), n_riferimento VARCHAR(50), anno_rif INT, da_ricev_diretto VARCHAR(10), n_ricevuta VARCHAR(50), posiz_riga INT, anno_ricev INT, n_mese INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); SQL tail -n +2 "$EXTRACT_DIR/ANNI/0001/incassi.csv" | \ mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME \ --local-infile=1 -e " LOAD DATA LOCAL INFILE '/dev/stdin' INTO TABLE import_incassi FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' (ID_incasso, cod_cond, cond_inquil, n_riferimento, anno_rif, da_ricev_diretto, n_ricevuta, posiz_riga, anno_ricev, n_mese);" INCASSI_COUNT=$(mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME -sN -e "SELECT COUNT(*) FROM import_incassi;") echo " βœ… Importati $INCASSI_COUNT incassi" else echo " ⚠️ File incassi.csv non trovato" fi # 4. IMPORT FATTURE (dal generale) echo "🧾 4. Import Fatture..." if [ -f "$EXTRACT_DIR/GENERALE/Fatture.csv" ]; then mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME << 'SQL' CREATE TABLE IF NOT EXISTS import_fatture ( id INT AUTO_INCREMENT PRIMARY KEY, data_fattura DATE, numero_fattura VARCHAR(50), fornitore VARCHAR(255), importo DECIMAL(10,2), descrizione TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); SQL # Per le fatture facciamo un import piΓΉ semplice inizialmente FATTURE_COUNT=$(tail -n +2 "$EXTRACT_DIR/GENERALE/Fatture.csv" | wc -l) echo " βœ… Trovate $FATTURE_COUNT fatture (import dettagliato da fare)" else echo " ⚠️ File Fatture.csv non trovato" fi # 5. RIEPILOGO IMPORT echo echo "πŸ“Š RIEPILOGO IMPORT COMPLETATO" echo "=================================" mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME << 'SQL' SELECT 'import_condomini' as tabella, COUNT(*) as record_importati FROM import_condomini UNION ALL SELECT 'import_rate' as tabella, COUNT(*) as record_importati FROM import_rate UNION ALL SELECT 'import_incassi' as tabella, COUNT(*) as record_importati FROM import_incassi; SQL echo echo "βœ… Import completato per stabile $STABILE_CODE" echo "πŸ“Š Database: $DB_NAME" echo "πŸ“ Dati disponibili per elaborazione e mappatura" echo echo "πŸ”„ Prossimi step:" echo " 1. Mappatura dati import β†’ tabelle NetGescon standard" echo " 2. Creazione unitΓ  immobiliari da condomini" echo " 3. Creazione proprietari da anagrafica" echo " 4. Migrazione movimenti contabili"