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

#32 - Ajouter un champs "Prestataires" sur les interventions #3820

Closed
babastienne opened this issue Nov 6, 2023 · 16 comments · Fixed by #3928 or #4061
Closed

#32 - Ajouter un champs "Prestataires" sur les interventions #3820

babastienne opened this issue Nov 6, 2023 · 16 comments · Fixed by #3928 or #4061
Assignees
Labels

Comments

@babastienne
Copy link
Member

scope: Dev

  • Intégrer un champ “Intervenant” dans le module "Interventins"
  • Dans le module “Chantiers”, recenser automatiquement dans le champ “Prestataires” l’ensemble des intervenants identifiés sur les interventions affectées au chantier listé

Ajouter un bouton " [+] " pour que les gestionnaires locaux puissent compléter le champ liste de nouveaux prestataires (selon le principe de nouveaux liens internet du module “Itinéraires”)

@babastienne
Copy link
Member Author

babastienne commented Nov 6, 2023

Plusieurs sujets :

  • Que faire des informations déjà saisies dans "Prestataires" si on fusionner avec les données issues de "Intervenants"
  • Soit un champ est calculé, soit il est saisi manuellement mais pas les deux en même temps.

Proposition :

  • Avoir un champ dans le module "chantiers" : "intervenants des interventions" (nom à préciser) qui regroupe l'ensemble des intervenants issus des interventions associées. Ce champ serait différent du champ prestataires.

Question :

  • Pourquoi faut-il que les utilisateurs puissent ajouter des informations dans les prestataires sur le chantiers plutôt que de les saisir directement comme intervenants sur les interventions ?

@camillemonchicourt
Copy link
Member

Oui je pense qu'il faut choisir sur l'un ou l'autre.

  • Soit on saisit les prestataires globalement au niveau des chantiers et c'est tout (comme c'est le cas actuellement)
  • Soit on saisir les prestataires de manière plus précise au niveau des interventions, et on agrège et affiche la somme des prestataires des interventions du chantier sur la fiche du chantier sans pouvoir les modifier ou compléter au niveau du chantier. Mais je crois que c'est ce qui est demandé. Je ne vois pas de demande de pouvoir modifier ou ajouter des prestataires directement au niveau du chantier.

Dans tous les cas, cela pose la question des données existantes en effet...

@camillemonchicourt camillemonchicourt changed the title #32 - Identifier les intervenants ayant réalisé les travaux, exemple liste paramétrable des prestataires/régie #32 - Ajouter un champs "Prestataires" sur les interventions Nov 6, 2023
@camillemonchicourt
Copy link
Member

Ce n'est pas anodin pour ceux qui gèrent des travaux il me semble, ça change la logique.
La logique initiale pour les travaux étant :

  • Une intervention est le détail d'une opération faite sur le terrain
  • Les chantiers permettent de regrouper toutes les interventions d'un projet plus global, éventuellement sous-traité avec un financement et un ou plusieurs prestataires

Ça me semble lourd de détailler le prestataire au niveau de chaque intervention et non plus au niveau global du chantier, mais c'est peut-être nécessaire d'être plus précis et détaillé quand un chantier est composé de différentes interventions avec différents prestataires ?

Par contre, je ne sais pas comment on pourra migrer le données existantes qui sont globales au niveau des chantiers à un niveau plus fin des interventions. Comment savoir quels prestataires ont fait quelles interventions quand un chantier est associé à plusieurs prestataires ?

@camillemonchicourt
Copy link
Member

Après discussion avec mon collègue qui gère les sentiers, pour lui il est très important de garder le renseignement des prestataires au niveau des chantiers.
En effet, quasiment tous nos chantiers sont attribués à un seul prestataire, et il serait lourd et moins lisible de devoir le répéter à chaque intervention.

Pourquoi pas donc proposer AUSSI ce champs au niveau des interventions, optionnel.
Mais je ne pense pas, de ce fait, qu'on doit agréger les prestataires des interventions au niveau du chantier comprenant ces interventions.
Et c'est vraiment pas idéal de saisir une information similaire à 2 niveaux différents, potentiellement redondant et incohérent.

A discuter pour trouver la bonne solution.

@DepartementGard
Copy link

En terme de procédure de marchés public, les structures peuvent faire appel à plusieurs prestataires (par exemple dans le Gard sur le lot débroussaillage affecté au chantier "Travaux PDESI 2021-2024", nous avons 3 prestataires qui interviennent).
Cette demande d'identifier le prestataire au niveau du module "Intervention" nous permettra de filtrer les interventions et les coûts réalisés par chacun des prestataires.
Et inversement, sur des petites interventions, le gestionnaire peut réaliser des commandes directes sur la base d'un devis, on pourrait alors avoir plusieurs entreprises différentes intervenant sur l'année.

@babastienne
Copy link
Member Author

Solution retenue :

  • Au niveau des interventions on ajoute un champ "Prestataire" qui est une foreignkey vers le même modèle que les prestataires actuels des chantiers
  • On ajoute un filtre sur la liste des interventions pour filtrer par prestataire
  • On garde également cette information sur les chantiers
  • Dans l'affichage du chantier on affiche les deux :
    • Prestataire chantier : le nom du prestataire
    • Prestataire intervention : la liste des prestataires des interventions associées
  • Ajuster le filtre de chantiers pour prendre en compte le fait d'aller chercher dans les interventions des chantiers les différents prestataires.

@juggler31
Copy link
Contributor

@babastienne @DepartementGard plutôt qu'une foreignkey ce serait pas plus intéressant de mettre un ManyToMany pour pouvoir sélectionner plusieurs "Prestataire" pour une intervention ?

@camillemonchicourt
Copy link
Member

Je ne suis pas certain que cela soit souhaitable ni fréquent qu'une intervention soit réalisée par plusieurs partenaires.
Et c'est peut-être pas mal que le prestataire soit forcément unique sur une intervention, mais multiple (comme actuellement) sur les chantiers (qui sont des regroupements de plusieurs interventions).

@babastienne
Copy link
Member Author

Je suis d'accord avec @camillemonchicourt : foreignKey plutôt que m2m

@babastienne
Copy link
Member Author

@camillemonchicourt en fait actuellement le champ "prestataire" sur les chantiers est un Many2Many. Donc peut-être que par soucis de compatibilité / reproduction du même comportement on pourrait mettre un M2M plutôt qu'une FK sur les interventions ?

Je pense qu'en pratique ce sera rarement utilisé mais qui peut le plus peut le moins, on donne la possibilité et ceux qui souhaitent pourront l'exploiter, non ?

@camillemonchicourt
Copy link
Member

Oui c'est bien ce que je disais dans mon dernier message et qui me semble idéal et souhaitable :

  • FK sur les interventions. Une intervention est un opération unique et simple sur le terrain comme le remplacement d'une lame de signalétique, le débroussaillage d'un sentier...) donc il me semble bien qu'une intervention ne puisse avoir qu'un seul prestataire
  • M2M sur les chantiers comme actuellement, car un chantier regroupe plusieurs interventions et peut donc avoir plusieurs prestataires

Donc pour moi c'est idéal qu'ils soient différents car les interventions et les chantiers sont des objets de niveau différent, et ainsi
bien confirmer la position et le rôle différent de chacun de ces objets.

Mais si c'est plus simple ou utile pour certains d'avoir aussi du M2M sur les prestataires des interventions, ça m'ira aussi.

@juggler31 juggler31 linked a pull request Feb 8, 2024 that will close this issue
11 tasks
@juggler31 juggler31 self-assigned this Feb 15, 2024
juggler31 added a commit that referenced this issue Feb 19, 2024
…ions

💫 [IMPR] Add contractor to intervention model (#3820)
@babastienne
Copy link
Member Author

Le champ contractor devait être une FK sur le modèle intervention (voir commentaire précédent), hors cela a été développé comme une M2M. Il faudrait corriger cela dans un fix je pense.

@babastienne babastienne reopened this Feb 23, 2024
@babastienne
Copy link
Member Author

Après discussion avec @juggler31 il semble que pour plus de simplicité et de liberté d'usage, lors du développement, le fait d'utiliser un champ M2M ai été volontaire .

Pour cela il s'est référé au commentaire qui disait si c'est plus simple ou utile pour certains d'avoir aussi du M2M sur les prestataires des interventions, ça m'ira aussi.

C'est vrai qu'après réflexion : qui peut le plus peut le moins. Si on laisse un champ en FK on aura peut-être besoin de le faire évoluer plus tard en M2M pour convenir aux usages de certains territoires. Si c'est dès le début un M2M ca ne change rien pour les territoires qui voudraient avoir une unicité (1 intervention = 1 prestataire), il suffira de ne pas mettre plusieurs valeurs.

Je propose donc qu'on reste comme ça.

@camillemonchicourt
Copy link
Member

Oui mais si le champs le permet, alors ne peut pas garantir que cela sera saisi de manière homogène et cohérente.
Et il me semblait pertinent d'orienter sur :

  • Un chantier peut avoir plusieurs prestataires
  • Une intervention ne peut avoir qu'un seul prestataire

Mais OK, on verra à l'usage si cela pose soucis de permettre de mettre plusieurs prestataires sur une intervention, ou si, au contraire, c'est utile et pertinent.

@camillemonchicourt
Copy link
Member

Sur la fiche d'un chantier, j'ai un NONE qui est affiché pour les prestataires de ses interventions :

image

@babastienne
Copy link
Member Author

babastienne commented Mar 1, 2024

TODO :

  • Sur le module chantiers, dans les filtres, renommer le filtre "Prestatires des interventions" en "Prestataires" (vérifier que ça couvre bien les deux champs prestatiartes sur les interventions et sur les chantiers)
  • Corriger l'afficher du None

juggler31 added a commit that referenced this issue Apr 9, 2024
juggler31 added a commit that referenced this issue Apr 9, 2024
juggler31 added a commit that referenced this issue Apr 9, 2024
juggler31 added a commit that referenced this issue Apr 9, 2024
juggler31 added a commit that referenced this issue Apr 12, 2024
juggler31 added a commit that referenced this issue Apr 12, 2024
juggler31 added a commit that referenced this issue Apr 12, 2024
juggler31 added a commit that referenced this issue Apr 12, 2024
🐛 fix: change label filter intervention contractors and filter null value on project contractors detail view (ref #3820)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment