Files
geo/cron/test_batiments_35.sh
Pierre 0687900564 fix: Récupérer l'opération active depuis la table operations
- Corrige l'erreur SQL 'Unknown column fk_operation in users'
- L'opération active est récupérée depuis operations.chk_active = 1
- Jointure avec users pour filtrer par entité de l'admin créateur
- Query: SELECT o.id FROM operations o INNER JOIN users u ON u.fk_entite = o.fk_entite WHERE u.id = ? AND o.chk_active = 1
2026-01-26 16:57:08 +01:00

81 lines
2.2 KiB
Bash
Executable File

#!/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