netgescon-day0/docs/00-IMPORT/03-SCRIPTS/extract-stabile-0021.sh

97 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
# Script migliorato per estrazione GESCON con mapping corretto
# Focus sullo stabile 0021 come esempio
GESCON_ROOT="/home/michele/netgescon/docs/02-architettura-laravel/Gescon"
OUTPUT_DIR="/home/michele/netgescon/docs/000-IMPORT/02-CSV-ESTRATTI"
echo "=== ESTRAZIONE STABILE 0021 ==="
STABILE_DIR="$GESCON_ROOT/0021"
OUTPUT_STABILE="$OUTPUT_DIR/STABILE_0021"
mkdir -p "$OUTPUT_STABILE"/{GENERALE,ANNI}
# Estrai informazioni base dello stabile
echo "Stabile 0021: SUPERCONDOMINIO MILIZIE 3 (cod. 148)"
# 1. Estrai generale_stabile.mdb
if [ -f "$STABILE_DIR/generale_stabile.mdb" ]; then
echo "Estraendo generale_stabile.mdb..."
TABELLE_GENERALI=("anni" "Fatture" "emes_gen" "emes_det" "F24" "Elenco_destinatari_email" "Elenco_destinatari_PEC" "Corrisp_inviata" "Bonifici")
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"
else
echo "$tabella: vuota"
fi
done
fi
# 2. 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_ANNO=("condomin" "rate" "incassi" "Assemblee" "rendite_condominiali" "Detrazioni_fiscali" "foglio_riscossioni" "Amministratore" "tabelle" "straordinarie")
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
fi
done
# 3. Copia anni.csv
if [ -f "$STABILE_DIR/anni.csv" ]; then
cp "$STABILE_DIR/anni.csv" "$OUTPUT_STABILE/"
echo "Copiato anni.csv"
fi
echo
echo "=== ANALISI MAPPATURA CAMPI ==="
# Analizza struttura condomini
if [ -f "$OUTPUT_STABILE/ANNI/0001/condomin.csv" ]; then
CONDOMINI_COUNT=$(tail -n +2 "$OUTPUT_STABILE/ANNI/0001/condomin.csv" | wc -l)
echo "Condomini 2024: $CONDOMINI_COUNT"
# Mostra primi campi
echo "Primi campi condomini:"
head -1 "$OUTPUT_STABILE/ANNI/0001/condomin.csv" | cut -d',' -f1-10
fi
# Analizza rate
if [ -f "$OUTPUT_STABILE/ANNI/0001/rate.csv" ]; then
RATE_COUNT=$(tail -n +2 "$OUTPUT_STABILE/ANNI/0001/rate.csv" | wc -l)
echo "Rate 2024: $RATE_COUNT"
# Mostra primi campi
echo "Primi campi rate:"
head -1 "$OUTPUT_STABILE/ANNI/0001/rate.csv" | cut -d',' -f1-10
fi
# Analizza incassi
if [ -f "$OUTPUT_STABILE/ANNI/0001/incassi.csv" ]; then
INCASSI_COUNT=$(tail -n +2 "$OUTPUT_STABILE/ANNI/0001/incassi.csv" | wc -l)
echo "Incassi 2024: $INCASSI_COUNT"
# Mostra primi campi
echo "Primi campi incassi:"
head -1 "$OUTPUT_STABILE/ANNI/0001/incassi.csv" | cut -d',' -f1-10
fi
echo
echo "Estrazione completata in: $OUTPUT_STABILE"