PnX-SI / GeoNature

Application de saisie et de synthèse des observations faune et flore
GNU General Public License v3.0
104 stars 102 forks source link

[OCCTAX] - dénombrement qui switch d'occurrence #3139

Open jbrieuclp opened 3 months ago

jbrieuclp commented 3 months ago

Version 2.14

Description du bug Salut, Je continue d'avoir des dénombrements qui switchent d'occurrences :

Du coup o1 n'a plus de dénombrement associé et n'est donc plus présent en synthèse

Comment reproduire Aucune idée et c'est bien ça le problème !..

jbrieuclp commented 1 week ago

Salut, on reste solo à avoir des dénombrements qui switchent d'occurrences ? 48 cas depuis le post du 25 juillet ! Il suffit de vérifier en base s'il existe des occurrences qui ne sont plus associées à un dénombrement :

SELECT count(*) -- ou juste *
FROM pr_occtax.t_occurrences_occtax o
WHERE NOT EXISTS (SELECT NULL FROM pr_occtax.cor_counting_occtax c WHERE o.id_occurrence_occtax = c.id_occurrence_occtax);
Splendens commented 1 week ago

Salut,

J'ai lancé la requête sur plusieurs BD GeoNature, et effectivement, il y en a toujours une poignée qui ressort !

jbrieuclp commented 1 week ago

J'ai fouillé depuis cette aprem le pourquoi du comment sans trouver de truc flagrant. Il y aurait encore des choses à revoir/cleaner concernant les appels et reprises de variables dans les services du module occtax (et aussi des autres modules) Ici : https://github.com/PnX-SI/GeoNature/blob/3bdda83ce2a4923e515343223aaf3e7f0fb63e29/contrib/occtax/frontend/app/occtax-form/counting/counting.component.ts#L54-L64 Si on commente la ligne 61-62 le problème est reproduit. Donc il faut fouiller du côté du .findIndex((elem) => elem === this.form) qui ne retourne aucun résultat. Comparer 2 objets aussi complexe qu'un formulaire en simple équivalence JS (===) est osé, même avec lodash ce n'est pas certain que ca passe...

DonovanMaillard commented 1 week ago

Je confirme le comportement aussi sur notre instance, quelques items corrigés en septembre. Ca apparait quand on modifie une occurrence à priori, au lieu de la modifier, ca en crée une nouvelle. Le dénombrement reste sur l'ancienne occurrence et la nouvelle n'en a pas, ou inversement à priori.

jbrieuclp commented 1 week ago

J'ai trouvé comment reproduire !! Et je l'ai fait sur la demo... Lors d'une modification d'une données existante : il faut faire 2 modifications sur un élément du formulaire du dénombrement (j'ai l'impression qu'il faut quitter le focus entre 2 actions, mais pas forcément pour le stade de vie et le dénombrement ou alors il faut un petit délais entre les changements, ce n'est pas encore clair à ce niveau là) après l'enregistrement des modifications, le bouton "Enregistrer ce taxon" redevient actif alors même que le formulaire de saisie est vide. Là 2 possibilités :

Je vais poursuivre mes investigations pour trouver ce qui cause ce problème.

Animation