#!/bin/bash # 🔄 IMPORT DATI GESCON STABILE 148 → NetGescon GES00148 # Import dei dati estratti nel database dedicato del stabile - Versione Semplificata 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. CREA TABELLE IMPORT echo "🗄️ Creazione tabelle import..." mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME << 'SQL' -- Tabella import condomini (proprietari) DROP TABLE IF EXISTS import_condomini; CREATE TABLE 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, INDEX idx_cod_cond (cod_cond), INDEX idx_nom_cond (nom_cond) ); -- Tabella import rate DROP TABLE IF EXISTS import_rate; CREATE TABLE 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, INDEX idx_condomino (id_condomino), INDEX idx_mese (n_mese) ); -- Tabella import incassi DROP TABLE IF EXISTS import_incassi; CREATE TABLE 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, INDEX idx_cod_cond (cod_cond), INDEX idx_anno_mese (anno_rif, n_mese) ); SQL echo "✅ Tabelle create" # 2. IMPORT CAMPIONE CONDOMINI (prime 10 righe per test) echo "📋 Import campione condomini..." if [ -f "$EXTRACT_DIR/ANNI/0001/condomin.csv" ]; then # Prendi le prime 10 righe dopo l'header per test tail -n +2 "$EXTRACT_DIR/ANNI/0001/condomin.csv" | head -10 | while IFS=',' read -r id_cond cod_cond scala interno tipo_pr nom_cond presso ind cap citta resto; do # Pulisci i campi dalle virgolette nom_cond=$(echo "$nom_cond" | sed 's/^"//; s/"$//') presso=$(echo "$presso" | sed 's/^"//; s/"$//') ind=$(echo "$ind" | sed 's/^"//; s/"$//') mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME -e " INSERT INTO import_condomini (id_cond, cod_cond, scala, interno, tipo_pr, nom_cond, presso, ind, cap, citta) VALUES ($id_cond, '$cod_cond', '$scala', '$interno', '$tipo_pr', \"$nom_cond\", \"$presso\", \"$ind\", '$cap', '$citta');" 2>/dev/null || true done CONDOMINI_COUNT=$(mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME -sN -e "SELECT COUNT(*) FROM import_condomini;" 2>/dev/null) echo " ✅ Importati $CONDOMINI_COUNT condomini (campione)" else echo " ⚠️ File condomin.csv non trovato" fi # 3. ANALISI DATI IMPORTATI echo echo "📊 ANALISI DATI IMPORTATI" echo "=========================" mysql -h $DB_HOST -u $DB_USER -p"$DB_PASS" $DB_NAME << 'SQL' 2>/dev/null SELECT 'Condomini campione importati:' as info, COUNT(*) as numero FROM import_condomini; SELECT 'Primi 5 condomini:' as info, '' as numero; SELECT CONCAT(cod_cond, ' - ', nom_cond) as condomino_info, cap, citta FROM import_condomini ORDER BY cod_cond LIMIT 5; SQL echo echo "✅ Import campione completato per stabile $STABILE_CODE" echo "📊 Database: $DB_NAME" echo "📁 Tabelle create e pronte per import completo" echo echo "🔄 Per import completo, modificare lo script per processare tutti i record"