Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Back - Signalement] Mettre à jour les qualifications du signalement #2086

Merged
merged 13 commits into from
Jan 22, 2024

Conversation

hmeneuvrier
Copy link
Collaborator

@hmeneuvrier hmeneuvrier commented Jan 3, 2024

Ticket

#1547

Description

Mettre à jour les qualifications et tags des signalements en fonction du score et des désordres et précisions.
Etendre les qualifications NDE sur tous les territoires
Algo pour les qualifications :
Algo conditions.docx

Changements apportés

  • Suppression de la contrainte sur les territoires d'expérimentation pour afficher la partie NDE dans le back
  • Ajout des qualifications et qualificationsstatus manquantes dans les enum
  • Mise à jour du service SignalementQualificationUpdater pour les signalements créés avec le nouveau formulaire
  • Appel de ce service depuis le SignalementBuilder
  • Mise à jour de l'affichage des qualifications dans le back
  • mise à jour des tests

Pré-requis

Tests

  • Faire des signalements différents en prêtant attention aux données pour vérifier si la qualification danger ou suroccupation s'affichent bien, si toutes les qualifications des désordres sont appliquées aux signalements sans doublon et selon l'algo défini
  • Faire un signalement avec des critères NDE
  • Vérifier l'affichage avec des signalements créés avec l'ancien formulaire

@hmeneuvrier hmeneuvrier changed the title Feature/1547 back qualification [Back - Signalement] Mettre à jour les qualifications du signalement Jan 3, 2024
@hmeneuvrier hmeneuvrier changed the base branch from develop to feature/1546-back-score-criticite January 3, 2024 17:59
@hmeneuvrier hmeneuvrier marked this pull request as ready for review January 4, 2024 10:09
@hmeneuvrier hmeneuvrier force-pushed the feature/1547-back-qualification branch from 52229c0 to dadd740 Compare January 4, 2024 14:00
Copy link
Collaborator

@numew numew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 petits retours mais les tests sont ok

Copy link
Collaborator

@emilschn emilschn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai mis des commentaires pour l'instant. J'attends les mises à jour suite échange avec Mathilde pour faire des tests.

@hmeneuvrier hmeneuvrier force-pushed the feature/1547-back-qualification branch from dadd740 to 6f4c1b7 Compare January 10, 2024 10:31
@hmeneuvrier hmeneuvrier changed the base branch from feature/1546-back-score-criticite to develop January 10, 2024 10:31
@hmeneuvrier
Copy link
Collaborator Author

TODO : regarder si il reste des erreurs de mapping https://mattermost.incubateur.net/betagouv/pl/4b386rqksiruiq3cj4e6yqxgkh

@hmeneuvrier
Copy link
Collaborator Author

Critères NDE (réponse de Mathilde) :

Alors lignes 68 à 71 puis 76 à 83 (c'est ajouté dans le tableau)

Par contre y a 2 autres critères que je ne sais pas où mettre :

Quand on indique "Non" à Avez-vous reçu le DPE du logement ? (diagnostic performance énergie) ou à Avez-vous réalisé un DPE pour le logement ? (diagnostic performance énergie)
Quand on indique une conso d'énergie finale > 450 kWh/m²/an

Copy link
Collaborator

@emilschn emilschn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mes tests sont ok sur les signalements que j'ai pu faire.
Au niveau relecture, l'ensemble est ok.
Mais je pense qu'il faut modifier la table signalement_qualification dont la colonne criticites peut renvoyer à l'id de 2 tables différentes.
Donc soit avoir 2 colonnes différentes, soit avoir une nouvelle colonne qui indique à quelle table on fait référence.

Copy link
Collaborator

@numew numew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test et relecture ok pour moi

@hmeneuvrier hmeneuvrier force-pushed the feature/1547-back-qualification branch from 2a87889 to c3dea3f Compare January 18, 2024 14:33
@sfinx13 sfinx13 marked this pull request as draft January 18, 2024 15:02
@hmeneuvrier hmeneuvrier marked this pull request as ready for review January 19, 2024 15:10
@sfinx13
Copy link
Collaborator

sfinx13 commented Jan 22, 2024

Début de réflexion design SignalementQualificationUpdater (A creuser) @sfinx13

Je me demande si y'a moyen de mettre toutes ces règles associés à chaque score dans un fichier de conf.

On aurait donc une boucle qui parcours le yaml afin de savoir s'il y'a une règle à appliquer selon le score, faudrait pousser la réflexion mais je voulais te la partager.

Il resterait des cas comme l'insalubrité qui n'est pas évident à première vue à configurer mais l'idée serait de s’abstenir de toutes les méthodes privées selon la plage de score.

je traduis le score 0 en yaml

scores_qualifications:
  - score_range: 0
    qualifications:
      - qualification: NON_DECENCE
        status: NON_DECENCE_CHECK
      - qualification: RSD,
         status: RSD_CHECK

En m'appuyant sur l'example yaml un exemple de traitement php

// $qualificationRules tableau PHP après avoir parsé le YAML
foreach ($qualificationRules as $rule) {
    if ($this->isScoreInRange($score, $rule['score_range'])) {
        $this->applyQualifications($signalement, $rule['qualifications']);
    }
}

https://mattermost.incubateur.net/betagouv/pl/kdg4qsfh3jd67rs8cfe9sqh3dc

Copy link
Collaborator

@sfinx13 sfinx13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test OK nouveau et ancien signalement

@hmeneuvrier hmeneuvrier force-pushed the feature/1547-back-qualification branch from fead63c to 54b5842 Compare January 22, 2024 13:48
Copy link

sonarcloud bot commented Jan 22, 2024

Quality Gate Failed Quality Gate failed

Failed conditions

17.1% Duplication on New Code (required ≤ 3%)

See analysis details on SonarCloud

@numew numew merged commit beefe94 into develop Jan 22, 2024
2 of 3 checks passed
@hmeneuvrier hmeneuvrier deleted the feature/1547-back-qualification branch January 30, 2024 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants