#!/bin/bash

# Script qui consulte les API Altitude infra. Fournit :
#  - Nb equipement réseaux (chambre, poteaux, PM ...) et la différence avec la consultation précédente
#  - Stats Elligibilité et la différence avec la consultation précédente
#  - Données pour géographique pour les cartes openstreetmap (data_ville.json) exploitable là :https://umap.openstreetmap.fr/

# Dépendance logicielle : curl, jq et icdiff

# répertorie des fichiers
DIRFTTH=$HOME/fibre
[ -d $DIRFTTH ] || mkdir $DIRFTTH

function nb_equipements () {
echo $1
echo "Equipements telecom"
curl -sk "https://dommages-reseaux.altitudeinfra.fr/api/public/api/Irris/get-emplacements-by-latLongDistance-withLastTicketDommageReseau?longitude=$2&latitude=$3&distance=$4&token=token" > $DIRFTTH/$1_EQ2.json
icdiff <(jq '.[] |= sort_by(.id)' $DIRFTTH/$1_EQ1.json) <(jq '.[] |= sort_by(.id)' $DIRFTTH/$1_EQ2.json) | tail -n +2
jq ".[][].refExploitation" $DIRFTTH/$1_EQ2.json | wc -l
cp $DIRFTTH/$1_EQ2.json $DIRFTTH/$1_EQ1.json
}

function elligible () {
echo "immeubles"
curl -sk "https://eligibilite-pixl.altitudeinfra.fr/api/public/api/immeuble/get-immeubles?maxLat=$5&maxLng=$6&minLat=$7&minLng=$8" > $DIRFTTH/$1_2.json
jq .[][] $DIRFTTH/$1_2.json | head -n -1 > $DIRFTTH/data_$1.json
[ -d $DIRFTTH/$1_1.json ] || cp $DIRFTTH/$1_2.json $DIRFTTH/$1_1.json
icdiff <(jq '.immeubles.liste.features[]' $DIRFTTH/$1_1.json) <(jq '.immeubles.liste.features[]' $DIRFTTH/$1_2.json) | tail -n +2
cible=$(jq '.immeubles.liste.features[].properties.statutEligibilite' $DIRFTTH/$1_2.json | grep -c CI)
encours=$(jq '.immeubles.liste.features[].properties.statutEligibilite' $DIRFTTH/$1_2.json | grep -c EC)
gel=$(jq '.immeubles.liste.features[].properties.statutEligibilite' $DIRFTTH/$1_2.json | grep -c GE)
elligible=$(jq '.immeubles.liste.features[].properties.statutEligibilite' $DIRFTTH/$1_2.json | grep -c DE)
raccorde=$(jq '.immeubles.liste.features[].properties.statutEligibilite' $DIRFTTH/$1_2.json | grep -c RA)
total=$(jq '.immeubles.liste.features[].properties.code' $DIRFTTH/$1_2.json | wc -l)
echo -e "Cibles \t\t: $cible - $(( cible * 100 / total ))%"
echo -e "En cours \t: $encours - $(( encours * 100  / total ))%"
echo -e "Gels \t\t: $gel - $(( gel * 100  / total ))%"
echo -e "Elligibles \t: $elligible - $(( elligible * 100  / total ))%"
echo -e "Raccordés \t: $raccorde - $(( raccorde * 100  / total ))%"
echo -e "Total \t\t: $total"
jq '.immeubles.liste.features[].properties.code' /home/jerome/fibre/$1_2.json | wc -l
cp $DIRFTTH/$1_2.json $DIRFTTH/$1_1.json
}

# Equipement : longitude et latitude du centre de la zone et distance
# Immeubles : latitude et longitude du coin nord ouest et latitude et longitude du coin sud-est
readonly VILLES1='Labenne -1.4471524719476514 43.59694176707046 0.025 43.60992336762857 -1.4809561922350973 43.57520945035797 -1.4204454884503195'
readonly VILLES2='Capbreton -1.42668 43.64559 0.03 43.66352414828794 -1.4598983259565224 43.622716826571796 -1.4033359036941013'


# modifier la valeur de fin de boucle en fonction du nombre de villes
for i in {1..2}; do
     var=VILLES$i
     nb_equipements ${!var}
     elligible ${!var}
done

