#!/bin/bash # IMPORT COMPLETO DATI GESCON β†’ NetGescon STABILE GES00148 # Database: netgescon_stabile_GES00148 # Dati: STABILE_0021 (2024 e 2025) echo "πŸš€ IMPORT COMPLETO DATI GESCON STABILE 148 β†’ NetGescon GES00148" echo "Database target: netgescon_stabile_GES00148" echo "Dati source: /home/michele/netgescon/docs/000-IMPORT/02-CSV-ESTRATTI/STABILE_0021" # Parametri database DB_HOST="localhost" DB_NAME="netgescon_stabile_GES00148" DB_USER="netgescon" DB_PASS="miki2024" # Directory dati DATA_DIR="/home/michele/netgescon/docs/000-IMPORT/02-CSV-ESTRATTI/STABILE_0021" echo "" echo "πŸ—„οΈ Svuotamento tabelle esistenti..." mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} << 'EOF' DELETE FROM import_incassi; DELETE FROM import_rate; DELETE FROM import_condomini; EOF if [ $? -eq 0 ]; then echo " βœ… Tabelle svuotate" else echo " ❌ Errore svuotamento tabelle" exit 1 fi echo "" echo "πŸ“‹ Import CONDOMINI..." # Funzione per preparare campo per MySQL escape_field() { echo "$1" | sed 's/"/\\"/g' | sed "s/'/\\'/g" } # Import condomini 2024 if [ -f "${DATA_DIR}/condomini_2024.csv" ]; then echo " πŸ“… Import condomini 2024..." # Conta righe (escluso header) total_lines=$(tail -n +2 "${DATA_DIR}/condomini_2024.csv" | wc -l) echo " πŸ“Š Record da importare: $total_lines" line_count=0 while IFS=',' read -r cod_condomino condomino cap citta millesimi interno appartamento; do # Salta header if [ "$cod_condomino" = "cod_condomino" ]; then continue fi line_count=$((line_count + 1)) # Mostra progresso ogni 50 record if [ $((line_count % 50)) -eq 0 ]; then echo " β†’ Processati $line_count/$total_lines record..." fi # Pulisci campi cod_condomino=$(echo "$cod_condomino" | tr -d '"') condomino=$(echo "$condomino" | tr -d '"') cap=$(echo "$cap" | tr -d '"') citta=$(echo "$citta" | tr -d '"') millesimi=$(echo "$millesimi" | tr -d '"') interno=$(echo "$interno" | tr -d '"') appartamento=$(echo "$appartamento" | tr -d '"') # Escape caratteri speciali condomino=$(escape_field "$condomino") citta=$(escape_field "$citta") # Insert nel database mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} << EOF INSERT INTO import_condomini ( cod_condomino, condomino, cap, citta, millesimi, interno, appartamento, anno_fonte ) VALUES ( '$cod_condomino', '$condomino', '$cap', '$citta', '$millesimi', '$interno', '$appartamento', '2024' ); EOF if [ $? -ne 0 ]; then echo " ❌ Errore import record $line_count: $condomino" fi done < "${DATA_DIR}/condomini_2024.csv" echo " βœ… Condomini 2024 importati: $line_count" fi # Import condomini 2025 if [ -f "${DATA_DIR}/condomini_2025.csv" ]; then echo " πŸ“… Import condomini 2025..." # Conta righe (escluso header) total_lines=$(tail -n +2 "${DATA_DIR}/condomini_2025.csv" | wc -l) echo " πŸ“Š Record da importare: $total_lines" line_count=0 while IFS=',' read -r cod_condomino condomino cap citta millesimi interno appartamento; do # Salta header if [ "$cod_condomino" = "cod_condomino" ]; then continue fi line_count=$((line_count + 1)) # Mostra progresso ogni 50 record if [ $((line_count % 50)) -eq 0 ]; then echo " β†’ Processati $line_count/$total_lines record..." fi # Pulisci campi cod_condomino=$(echo "$cod_condomino" | tr -d '"') condomino=$(echo "$condomino" | tr -d '"') cap=$(echo "$cap" | tr -d '"') citta=$(echo "$citta" | tr -d '"') millesimi=$(echo "$millesimi" | tr -d '"') interno=$(echo "$interno" | tr -d '"') appartamento=$(echo "$appartamento" | tr -d '"') # Escape caratteri speciali condomino=$(escape_field "$condomino") citta=$(escape_field "$citta") # Insert nel database mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} << EOF INSERT INTO import_condomini ( cod_condomino, condomino, cap, citta, millesimi, interno, appartamento, anno_fonte ) VALUES ( '$cod_condomino', '$condomino', '$cap', '$citta', '$millesimi', '$interno', '$appartamento', '2025' ); EOF if [ $? -ne 0 ]; then echo " ❌ Errore import record $line_count: $condomino" fi done < "${DATA_DIR}/condomini_2025.csv" echo " βœ… Condomini 2025 importati: $line_count" fi echo "" echo "πŸ’° Import RATE..." # Import rate 2024 if [ -f "${DATA_DIR}/rate_2024.csv" ]; then echo " πŸ“… Import rate 2024..." # Conta righe (escluso header) total_lines=$(tail -n +2 "${DATA_DIR}/rate_2024.csv" | wc -l) echo " πŸ“Š Record da importare: $total_lines" line_count=0 while IFS=',' read -r cod_condomino data_scadenza importo descrizione; do # Salta header if [ "$cod_condomino" = "cod_condomino" ]; then continue fi line_count=$((line_count + 1)) # Mostra progresso ogni 100 record if [ $((line_count % 100)) -eq 0 ]; then echo " β†’ Processati $line_count/$total_lines record..." fi # Pulisci campi cod_condomino=$(echo "$cod_condomino" | tr -d '"') data_scadenza=$(echo "$data_scadenza" | tr -d '"') importo=$(echo "$importo" | tr -d '"') descrizione=$(echo "$descrizione" | tr -d '"') # Escape caratteri speciali descrizione=$(escape_field "$descrizione") # Insert nel database mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} << EOF INSERT INTO import_rate ( cod_condomino, data_scadenza, importo, descrizione, anno_fonte ) VALUES ( '$cod_condomino', '$data_scadenza', '$importo', '$descrizione', '2024' ); EOF if [ $? -ne 0 ]; then echo " ❌ Errore import record $line_count" fi done < "${DATA_DIR}/rate_2024.csv" echo " βœ… Rate 2024 importate: $line_count" fi # Import rate 2025 if [ -f "${DATA_DIR}/rate_2025.csv" ]; then echo " πŸ“… Import rate 2025..." # Conta righe (escluso header) total_lines=$(tail -n +2 "${DATA_DIR}/rate_2025.csv" | wc -l) echo " πŸ“Š Record da importare: $total_lines" line_count=0 while IFS=',' read -r cod_condomino data_scadenza importo descrizione; do # Salta header if [ "$cod_condomino" = "cod_condomino" ]; then continue fi line_count=$((line_count + 1)) # Mostra progresso ogni 100 record if [ $((line_count % 100)) -eq 0 ]; then echo " β†’ Processati $line_count/$total_lines record..." fi # Pulisci campi cod_condomino=$(echo "$cod_condomino" | tr -d '"') data_scadenza=$(echo "$data_scadenza" | tr -d '"') importo=$(echo "$importo" | tr -d '"') descrizione=$(echo "$descrizione" | tr -d '"') # Escape caratteri speciali descrizione=$(escape_field "$descrizione") # Insert nel database mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} << EOF INSERT INTO import_rate ( cod_condomino, data_scadenza, importo, descrizione, anno_fonte ) VALUES ( '$cod_condomino', '$data_scadenza', '$importo', '$descrizione', '2025' ); EOF if [ $? -ne 0 ]; then echo " ❌ Errore import record $line_count" fi done < "${DATA_DIR}/rate_2025.csv" echo " βœ… Rate 2025 importate: $line_count" fi echo "" echo "πŸ’΅ Import INCASSI..." # Import incassi 2024 if [ -f "${DATA_DIR}/incassi_2024.csv" ]; then echo " πŸ“… Import incassi 2024..." # Conta righe (escluso header) total_lines=$(tail -n +2 "${DATA_DIR}/incassi_2024.csv" | wc -l) echo " πŸ“Š Record da importare: $total_lines" line_count=0 while IFS=',' read -r cod_condomino data_incasso importo descrizione; do # Salta header if [ "$cod_condomino" = "cod_condomino" ]; then continue fi line_count=$((line_count + 1)) # Mostra progresso ogni 50 record if [ $((line_count % 50)) -eq 0 ]; then echo " β†’ Processati $line_count/$total_lines record..." fi # Pulisci campi cod_condomino=$(echo "$cod_condomino" | tr -d '"') data_incasso=$(echo "$data_incasso" | tr -d '"') importo=$(echo "$importo" | tr -d '"') descrizione=$(echo "$descrizione" | tr -d '"') # Escape caratteri speciali descrizione=$(escape_field "$descrizione") # Insert nel database mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} << EOF INSERT INTO import_incassi ( cod_condomino, data_incasso, importo, descrizione, anno_fonte ) VALUES ( '$cod_condomino', '$data_incasso', '$importo', '$descrizione', '2024' ); EOF if [ $? -ne 0 ]; then echo " ❌ Errore import record $line_count" fi done < "${DATA_DIR}/incassi_2024.csv" echo " βœ… Incassi 2024 importati: $line_count" fi # Import incassi 2025 if [ -f "${DATA_DIR}/incassi_2025.csv" ]; then echo " πŸ“… Import incassi 2025..." # Conta righe (escluso header) total_lines=$(tail -n +2 "${DATA_DIR}/incassi_2025.csv" | wc -l) echo " πŸ“Š Record da importare: $total_lines" line_count=0 while IFS=',' read -r cod_condomino data_incasso importo descrizione; do # Salta header if [ "$cod_condomino" = "cod_condomino" ]; then continue fi line_count=$((line_count + 1)) # Mostra progresso ogni 50 record if [ $((line_count % 50)) -eq 0 ]; then echo " β†’ Processati $line_count/$total_lines record..." fi # Pulisci campi cod_condomino=$(echo "$cod_condomino" | tr -d '"') data_incasso=$(echo "$data_incasso" | tr -d '"') importo=$(echo "$importo" | tr -d '"') descrizione=$(echo "$descrizione" | tr -d '"') # Escape caratteri speciali descrizione=$(escape_field "$descrizione") # Insert nel database mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} << EOF INSERT INTO import_incassi ( cod_condomino, data_incasso, importo, descrizione, anno_fonte ) VALUES ( '$cod_condomino', '$data_incasso', '$importo', '$descrizione', '2025' ); EOF if [ $? -ne 0 ]; then echo " ❌ Errore import record $line_count" fi done < "${DATA_DIR}/incassi_2025.csv" echo " βœ… Incassi 2025 importati: $line_count" fi echo "" echo "πŸ“Š ANALISI DATI IMPORTATI" echo "=========================" mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} << 'EOF' SELECT 'Condomini totali:' as info, COUNT(*) as numero FROM import_condomini; SELECT 'Condomini 2024:' as info, COUNT(*) as numero FROM import_condomini WHERE anno_fonte = '2024'; SELECT 'Condomini 2025:' as info, COUNT(*) as numero FROM import_condomini WHERE anno_fonte = '2025'; SELECT '' as info, '' as numero; SELECT 'Rate totali:' as info, COUNT(*) as numero FROM import_rate; SELECT 'Rate 2024:' as info, COUNT(*) as numero FROM import_rate WHERE anno_fonte = '2024'; SELECT 'Rate 2025:' as info, COUNT(*) as numero FROM import_rate WHERE anno_fonte = '2025'; SELECT '' as info, '' as numero; SELECT 'Incassi totali:' as info, COUNT(*) as numero FROM import_incassi; SELECT 'Incassi 2024:' as info, COUNT(*) as numero FROM import_incassi WHERE anno_fonte = '2024'; SELECT 'Incassi 2025:' as info, COUNT(*) as numero FROM import_incassi WHERE anno_fonte = '2025'; EOF echo "" echo "βœ… Import completo terminato per stabile GES00148" echo "πŸ“Š Database: netgescon_stabile_GES00148" echo "πŸ“ Tutti i dati importati e pronti per mapping su NetGescon" echo "" echo "πŸ”„ Prossimi passi:" echo " 1. Verifica qualitΓ  dati importati" echo " 2. Mapping su schema NetGescon standard" echo " 3. Creazione interfacce per gestione stabile"