186 lines
6.9 KiB
Bash
Executable File
186 lines
6.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script per analisi completa struttura GESCON
|
|
# Estrae tutte le tabelle principali da tutti i database MDB
|
|
# Posizione: /home/michele/netgescon/docs/000-IMPORT/03-SCRIPTS/extract-gescon-complete.sh
|
|
|
|
GESCON_ROOT="/home/michele/netgescon/docs/02-architettura-laravel/Gescon"
|
|
OUTPUT_DIR="/home/michele/netgescon/docs/000-IMPORT/02-CSV-ESTRATTI"
|
|
ANALYSIS_DIR="/home/michele/netgescon/docs/000-IMPORT/04-ANALISI"
|
|
|
|
# Crea directory di output
|
|
mkdir -p "$OUTPUT_DIR"/{CENTRALI,STABILI,ANNI}
|
|
mkdir -p "$ANALYSIS_DIR"
|
|
|
|
echo "=== ESTRAZIONE COMPLETA GESCON ==="
|
|
echo "Root: $GESCON_ROOT"
|
|
echo "Output: $OUTPUT_DIR"
|
|
echo
|
|
|
|
# FASE 1: Database centrali
|
|
echo "=== FASE 1: DATABASE CENTRALI ==="
|
|
|
|
echo "Estraendo Stabili.csv..."
|
|
cp "$GESCON_ROOT/Stabili.csv" "$OUTPUT_DIR/CENTRALI/"
|
|
STABILI_COUNT=$(wc -l < "$GESCON_ROOT/Stabili.csv")
|
|
echo " → $STABILI_COUNT record stabili"
|
|
|
|
echo "Estraendo Fornitori.csv..."
|
|
cp "$GESCON_ROOT/Fornitori.csv" "$OUTPUT_DIR/CENTRALI/"
|
|
FORNITORI_COUNT=$(wc -l < "$GESCON_ROOT/Fornitori.csv")
|
|
echo " → $FORNITORI_COUNT record fornitori"
|
|
|
|
echo "Estraendo database centrali MDB..."
|
|
if [ -f "$GESCON_ROOT/dbc/Stabili.mdb" ]; then
|
|
mdb-export "$GESCON_ROOT/dbc/Stabili.mdb" Stabili > "$OUTPUT_DIR/CENTRALI/Stabili_MDB.csv"
|
|
echo " → Stabili.mdb estratto"
|
|
fi
|
|
|
|
if [ -f "$GESCON_ROOT/dbc/Fornitori.mdb" ]; then
|
|
mdb-export "$GESCON_ROOT/dbc/Fornitori.mdb" Fornitori > "$OUTPUT_DIR/CENTRALI/Fornitori_MDB.csv"
|
|
echo " → Fornitori.mdb estratto"
|
|
fi
|
|
|
|
# FASE 2: Analisi directory stabili
|
|
echo
|
|
echo "=== FASE 2: DIRECTORY STABILI ==="
|
|
|
|
# Leggi elenco stabili dal CSV
|
|
tail -n +2 "$GESCON_ROOT/Stabili.csv" | while IFS=';' read -r id_interno cod_stabile denominazione indirizzo cap citta provincia cf_cond cf_amm scale interni codice_dir resto; do
|
|
|
|
echo "Elaborando Stabile: $cod_stabile - $codice_dir ($denominazione)"
|
|
|
|
STABILE_DIR="$GESCON_ROOT/$codice_dir"
|
|
OUTPUT_STABILE="$OUTPUT_DIR/STABILI/$codice_dir"
|
|
|
|
if [ -d "$STABILE_DIR" ]; then
|
|
mkdir -p "$OUTPUT_STABILE"/{GENERALE,ANNI}
|
|
|
|
# Estrai generale_stabile.mdb
|
|
if [ -f "$STABILE_DIR/generale_stabile.mdb" ]; then
|
|
echo " → Estraendo generale_stabile.mdb"
|
|
|
|
# Tabelle principali già identificate
|
|
TABELLE_GENERALI=("anni" "Fatture" "emes_gen" "emes_det" "F24" "Elenco_destinatari_email" "Elenco_destinatari_PEC" "Corrisp_inviata")
|
|
|
|
for tabella in "${TABELLE_GENERALI[@]}"; do
|
|
mdb-export "$STABILE_DIR/generale_stabile.mdb" "$tabella" > "$OUTPUT_STABILE/GENERALE/${tabella}.csv" 2>/dev/null
|
|
RECORDS=$(tail -n +2 "$OUTPUT_STABILE/GENERALE/${tabella}.csv" 2>/dev/null | wc -l)
|
|
if [ $RECORDS -gt 0 ]; then
|
|
echo " → $tabella: $RECORDS record"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
# Estrai anni specifici
|
|
for anno_dir in "$STABILE_DIR"/[0-9]*; do
|
|
if [ -d "$anno_dir" ] && [ -f "$anno_dir/singolo_anno.mdb" ]; then
|
|
ANNO_CODE=$(basename "$anno_dir")
|
|
echo " → Estraendo anno $ANNO_CODE"
|
|
|
|
mkdir -p "$OUTPUT_STABILE/ANNI/$ANNO_CODE"
|
|
|
|
# Tabelle principali per anno
|
|
TABELLE_ANNO=("condomin" "rate" "incassi" "Assemblee" "rendite_condominiali" "Detrazioni_fiscali" "foglio_riscossioni")
|
|
|
|
for tabella in "${TABELLE_ANNO[@]}"; do
|
|
mdb-export "$anno_dir/singolo_anno.mdb" "$tabella" > "$OUTPUT_STABILE/ANNI/$ANNO_CODE/${tabella}.csv" 2>/dev/null
|
|
RECORDS=$(tail -n +2 "$OUTPUT_STABILE/ANNI/$ANNO_CODE/${tabella}.csv" 2>/dev/null | wc -l)
|
|
if [ $RECORDS -gt 0 ]; then
|
|
echo " → $tabella: $RECORDS record"
|
|
fi
|
|
done
|
|
|
|
# Estrai anche anni.csv se presente
|
|
if [ -f "$anno_dir/../anni.csv" ]; then
|
|
cp "$anno_dir/../anni.csv" "$OUTPUT_STABILE/ANNI/"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
else
|
|
echo " → Directory $STABILE_DIR non trovata"
|
|
fi
|
|
|
|
echo
|
|
done
|
|
|
|
# FASE 3: Crea analisi riassuntiva
|
|
echo "=== FASE 3: ANALISI RIASSUNTIVA ==="
|
|
|
|
# Conta totali
|
|
echo "Creando report analisi..."
|
|
|
|
{
|
|
echo "# REPORT ESTRAZIONE COMPLETA GESCON"
|
|
echo "Data: $(date)"
|
|
echo
|
|
echo "## TOTALI ESTRATTI"
|
|
echo
|
|
echo "### Database Centrali:"
|
|
echo "- Stabili: $STABILI_COUNT record"
|
|
echo "- Fornitori: $FORNITORI_COUNT record"
|
|
echo
|
|
echo "### Per Stabile:"
|
|
|
|
TOTAL_FATTURE=0
|
|
TOTAL_RATE=0
|
|
TOTAL_CONDOMINI=0
|
|
TOTAL_INCASSI=0
|
|
|
|
for stabile_dir in "$OUTPUT_DIR/STABILI"/*; do
|
|
if [ -d "$stabile_dir" ]; then
|
|
STABILE_CODE=$(basename "$stabile_dir")
|
|
echo "#### Stabile $STABILE_CODE:"
|
|
|
|
# Conta fatture
|
|
if [ -f "$stabile_dir/GENERALE/Fatture.csv" ]; then
|
|
FATTURE=$(tail -n +2 "$stabile_dir/GENERALE/Fatture.csv" | wc -l)
|
|
echo " - Fatture: $FATTURE"
|
|
TOTAL_FATTURE=$((TOTAL_FATTURE + FATTURE))
|
|
fi
|
|
|
|
# Conta rate e condomini per anno
|
|
for anno_dir in "$stabile_dir/ANNI"/*; do
|
|
if [ -d "$anno_dir" ]; then
|
|
ANNO_CODE=$(basename "$anno_dir")
|
|
|
|
if [ -f "$anno_dir/rate.csv" ]; then
|
|
RATE=$(tail -n +2 "$anno_dir/rate.csv" | wc -l)
|
|
echo " - Rate $ANNO_CODE: $RATE"
|
|
TOTAL_RATE=$((TOTAL_RATE + RATE))
|
|
fi
|
|
|
|
if [ -f "$anno_dir/condomin.csv" ]; then
|
|
CONDOMINI=$(tail -n +2 "$anno_dir/condomin.csv" | wc -l)
|
|
echo " - Condomini $ANNO_CODE: $CONDOMINI"
|
|
TOTAL_CONDOMINI=$((TOTAL_CONDOMINI + CONDOMINI))
|
|
fi
|
|
|
|
if [ -f "$anno_dir/incassi.csv" ]; then
|
|
INCASSI=$(tail -n +2 "$anno_dir/incassi.csv" | wc -l)
|
|
echo " - Incassi $ANNO_CODE: $INCASSI"
|
|
TOTAL_INCASSI=$((TOTAL_INCASSI + INCASSI))
|
|
fi
|
|
fi
|
|
done
|
|
echo
|
|
fi
|
|
done
|
|
|
|
echo "## TOTALI SISTEMA:"
|
|
echo "- Stabili totali: $STABILI_COUNT"
|
|
echo "- Fornitori totali: $FORNITORI_COUNT"
|
|
echo "- Fatture totali: $TOTAL_FATTURE"
|
|
echo "- Rate totali: $TOTAL_RATE"
|
|
echo "- Condomini totali: $TOTAL_CONDOMINI"
|
|
echo "- Incassi totali: $TOTAL_INCASSI"
|
|
echo
|
|
echo "Volume dati stimato: $((TOTAL_RATE + TOTAL_INCASSI + TOTAL_FATTURE + TOTAL_CONDOMINI)) record"
|
|
|
|
} > "$ANALYSIS_DIR/REPORT-ESTRAZIONE-COMPLETA.md"
|
|
|
|
echo "=== ESTRAZIONE COMPLETATA ==="
|
|
echo "Report salvato in: $ANALYSIS_DIR/REPORT-ESTRAZIONE-COMPLETA.md"
|
|
echo "Dati estratti in: $OUTPUT_DIR"
|