Open flacombe opened 3 years ago
Le client n'affiche que les données qui sont renvoyées, c'est plutôt en base où il faudrait boucler sur les dates :
Pourtant, cette valeur à 0 n'est pas créée par la base : seul le script project:update créé des lignes dans pdm_feature_counts_per_boundary avant de mettre à jour la vue pdm_boundary_tiles (puisque la série temporelle est obtenue par un GROUP BY)
Les 0 sont bien apparus à minuit, sans que les tuiles aient même été rafraichies. Ce matin, je vide le cache et refresh les tuiles, plus de 0.
Je constate le problème dans l'autre sens ce soir : l'affichage s'arrête au 8 mars, mais après vérification dans la tuile elle-même, j'ai bien le 9 mars aussi.
Je ne vois que cette boucle qui semble itérer sur le json fourni et il n'y a d'apparence pas de raison qu'elle s'arrête au 8 mars si le 9 est absent https://github.com/vdct/ProjetDuMois/blob/master/website/templates/components/stats.pug#L356
A noter que les dates ne sont pas ordonnées dans mes tuiles, peut-être cela joue-t-il ? (j'ai du supprimer un ORDER BY par soucis d'efficacité sans m'inquiéter de ce à quoi il servait
C'est corrigé dans la branche feature/pr185 : https://github.com/vdct/ProjetDuMois/blob/feature/pr185/website/templates/components/stats.pug#L350
J'ai toujours le problème du 0 ce soir :
Pourtant c'est sensé être géré par cette ligne https://github.com/flacombe/ProjetDuMois/blob/feature/enedis/website/templates/components/stats.pug#L353
Une condition manquante ?
Le problème c'est que tu itères sur projectDays
: on suppose qu'il y a une valeur pour chaque.
Tu filtres ensuite sur d.y != 0 || i < projectDays.length - 1
, si je suis dans la plage du projet, je peux avoir un 0 et il apparaitra, alors qu'on ne voudrait pas voir ce point du tout.
Dans le cas de mes tuiles, que ca s'arrête au 13/03 au lieu de montrer un 0 pour le 14/03
Après on ne veut masque le 0 que si c'est la dernière valeur, si on a un 0 en cours de route pour une raison x ou y (suppression de masse ou autre), il faut bien la conserver. C'était le sens de cette ligne de code.
Je suis d'accord pour afficher un 0 si tel est le cas dans les données du serveur.
Sauf que le || 0
ajoute des 0 là où il n'y en a pas.
Si il n'y a pas de valeur pour une date donnée, il ne faut rien afficher et présenter un trou si la série reprend plus tard. C'est ce qui permet de différencier les absences de dénombrement d'une suppression de masse
Je ne m'en suis pas aperçu tout de suite puisqu'il y avait toujours des stats existantes lorsque j'ai regardé.
Mon project:update passe à 3h et il s'écoule donc 3h avec une valeur inexistante le jour J dans le graph d'historique d'une zone administrative.
Il faudrait que les graphs se tiennent à ce que le json présente pour éviter ces valeurs à 0. Il est tard je n'ai pas encore regardé le js nécessaire pour ça