#!/bin/bash

# Script de test import BDNB département 35

ladate=$(date +%Y%m%d-%H%M)
lheure=$(date +%H:%M:%S)

mybase=batiments
myuser=osm_maj_user
mypass=d66,OsmMaj.User

log=traite_batiments.log
rm -f $log
touch $log
echo "To: support@unikoffice.com" >> $log
echo "From: support@unikoffice.com" >> $log
echo "Subject: [Import TEST] BATIMENTS BDNB dept 35 - $ladate" >> $log
echo "" >> $log

cd /var/osm

millesime="2024-10-a"
base_url="https://open-data.s3.fr-par.scw.cloud/bdnb_millesime_${millesime}/millesime_${millesime}_dep"

# Création du dossier csv s'il n'existe pas
mkdir -p csv

dept="35"

rm -f batiments-${dept}.zip

lheure=$(date +%H:%M:%S)
echo "Debut du telechargement du departement $dept a $lheure" >> $log
wget ${base_url}${dept}/open_data_millesime_${millesime}_dep${dept}_csv.zip -O batiments-${dept}.zip

if [ "$?" -ne "0" ] ; then
	echo "!!!!  Désolé, le téléchargement ne semble ne pas fonctionner pour le dept $dept. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> $log
	msmtp support@unikoffice.com < $log
	exit 1
else
	lheure=$(date +%H:%M:%S)
	echo "Telechargement du departement $dept termine a $lheure" >> $log

	# Extraction du ZIP (contient déjà un dossier csv/)
	unzip -o batiments-${dept}.zip

	lheure=$(date +%H:%M:%S)
	echo "Extraction terminee" >> $log

	# Copie du template SQL et remplacement de 999 par le département
	cp traite_batiments.sql traite_batiments_${dept}.sql
	sed -i "s/999/$dept/g" traite_batiments_${dept}.sql

	lheure=$(date +%H:%M:%S)
	echo "Import SQL du departement $dept commence a $lheure" >> $log

	mariadb --local-infile=1 -u$myuser -p$mypass $mybase < traite_batiments_${dept}.sql

	if [ "$?" -ne "0" ]; then
		echo "!!!!  Erreur lors de l'import SQL pour le dept $dept !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> $log
	else
		echo "Import SQL reussi" >> $log
	fi

	# Nettoyage complet après import
	rm -f csv/*.csv
	rm -f csv/*.csvt
	rm -f csv/*.prj
	rm -rf csv/doc
	rm -f batiments-${dept}.zip
	rm -f traite_batiments_${dept}.sql

	lheure=$(date +%H:%M:%S)
	echo "Importation sql des batiments du departement $dept terminee a $lheure" >> $log
fi

lheure=$(date +%H:%M:%S)
echo "Fin du traitement a $lheure" >> $log

msmtp support@unikoffice.com < $log
