#!/bin/bash

# Script d'import BDNB tous départements de France

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] BATIMENTS BDNB dva-maria - $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

for dept in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 2A 2B 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 971 972 973 974 975 976 977 978 984 986 987 988 989
do
	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
	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
done

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

msmtp support@unikoffice.com < $log
