Calcul dsu
Created by: magemax
Calcule les montants de la DSU et les outputte dans la requête.
Quelques remarques :
- Vu qu'on inclut des niveaux de garanties pour lesquels nous n'avons pas toujours les données nécessaires au calcul (genre niveau de garantie pluriannuelles pour les nouvelles communes, où les communes qui perdent leur éligibilité suite à un changement de fiscalité locale), on a choisi de faire figurer les garanties qui ne sont pas calculées dans OFDL mais qu'on peut retrouver en bonne partie (par exemple en utilisant les historiques de la DGCL) dans un fichier "garanties_dsu"
- Le niveau de garantie annuelle dépendant du montant de l'année dernière pour la DSU, on va désormais avoir besoin de 2 ans de données de la DGCL. On inclut ici les données 2018 dans le git (qui ne servent pour l'instant qu'à trouver le montant payé l'an dernier au titre de la DSU). On a également introduit la possibilité d'importer des données de l'an précédent de la DGCL (cela nous servira également pas mal pour la DF)
Side-effects : (ou commits qui n'ont rien à voir que j'ai mis là parce que c'est cher une PR) :
- Dans les résultats de comparaison de nombres avec la DGCL, on a choisi de ne plus calculer les différences que quand l'expected" et le "actual" sont tous les 2 non nuls. Du coup, on met un tableau recap de nul/non nul dans les résultats pour pouvoir se rendre compte à quel point cette approximation nous coûte.
- On a forcé le format des codes insee à une string de 5 caractères (normalement partout) pour éviter des soucis de merge qui font du mal à l'espérance de vie du codeur
Cette pull request ne peut marcher qu'en local tant que la PR correspondante dans OFDL soit mergée.
Au final les résultats sont pas dégueus (en tout cas ils semblent meilleurs que la DSR à ce stade):
Comparaison DGCL vs nous pour le calcul de dsu_eligible
dsu_eligible_precalc False True
dsu_eligible
False 34244 0
True 0 812
indice_synthetique_dsu 100.0000
rang_indice_synthetique_dsu_seuil_haut 7.5229
rang_indice_synthetique_dsu_seuil_bas 100.0000
dsu_montant_garantie_non_eligible 100.0000
dsu_part_spontanee 100.0000
dsu_part_augmentation 99.7822
dsu_montant 99.9996