#!/bin/bash

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

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

log=adresses.log
rm -f $log
touch $log
echo "To: support@unikoffice.com" >> $log
echo "From: support@unikoffice.com" >> $log
echo "Subject: [Import] ADRESSES dva-maria - $ladate" >> $log
echo "" >> $log

cd /var/osm

rm -f adresses-france.gz
rm -f adresses-france

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 adresses-${dept}.gz

        lheure=$(date +%H:%M:%S)
        echo "Debut du telechargement du departement $dept a $lheure" >> $log
	wget https://adresse.data.gouv.fr/data/ban/adresses/latest/csv/adresses-${dept}.csv.gz -O adresses-${dept}.gz

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

		gzip -d adresses-${dept}.gz

		rm -f cde_dept.sql
		touch cde_dept.sql

	        echo "USE $mybase;" >> cde_dept.sql
	       	echo "DROP TABLE IF EXISTS cp$dept;" >> cde_dept.sql
		echo "CREATE TABLE cp$dept (id varchar(25) DEFAULT '', id_fantoir varchar(20) DEFAULT '', numero varchar(5) DEFAULT '', rue_bis varchar(5) DEFAULT '', rue varchar(60) DEFAULT '', cp varchar(5) DEFAULT '', code_insee varchar(5) DEFAULT '', ville varchar(60) DEFAULT '', code_insee_ancien varchar(5) DEFAULT '', ville_ancien varchar(60) DEFAULT '', x varchar(10) DEFAULT '', y varchar(10) DEFAULT '', gps_lng varchar(10) DEFAULT '', gps_lat varchar(10) DEFAULT '', type_position varchar(10) DEFAULT '', alias varchar(1) DEFAULT '', nom_ld varchar(60) DEFAULT '', ville_acheminement varchar(60) DEFAULT '', rue_afnor varchar(60) DEFAULT '', source varchar(10) DEFAULT '', source_rue varchar(10) DEFAULT '', certification tinyint(1) DEFAULT 0, cadastre varchar(14) DEFAULT '', KEY cp (cp), KEY gps_lat (gps_lat), KEY gps_lng (gps_lng)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;" >> cde_dept.sql
	
		echo "LOAD DATA LOCAL INFILE 'adresses-${dept}' INTO TABLE cp$dept CHARACTER SET 'UTF8mb4' FIELDS TERMINATED BY ';' IGNORE 1 LINES (id, id_fantoir, numero, rue_bis, rue, cp, code_insee, ville, code_insee_ancien, ville_ancien, x, y, gps_lng, gps_lat, type_position, alias, nom_ld, ville_acheminement, rue_afnor, source, source_rue, certification, cadastre);" >> cde_dept.sql
		echo "INSERT INTO _histo SET date_import=NOW(), dept='$dept', nb_adresses=(SELECT COUNT(*) FROM cp$dept);" >> cde_dept.sql
		
		mariadb --local-infile=1 -u$myuser -p$mypass $mybase < cde_dept.sql

		rm -f adresses-${dept}
		
		lheure=$(date +%H:%M:%S)
		echo "Importation sql des adresses 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
