fix(preparation): enregistrement des circuits optimisés et gestion des conflits de nommage
Enregistrement des circuits issus de l’optimisation Avant
- Lors de la validation d’un circuit optimisé (intégration vers circuits prod ou circuits déjà en préparation), l’enregistrement échouait souvent avec « circuit déjà existant », car le code ou le libellé proposé était identique à un circuit déjà présent en base (même préparation ou autre préparation).
- Un même circuit prod pouvait être suggéré dans plusieurs préparations ; seule la première validation réussissait, les suivantes bloquaient sans solution côté métier.
- L’utilisateur ne voyait pas clairement quel nom avait été réellement enregistré après une proposition d’optimisation.
Après
- À la validation d’un circuit optimisé, le service attribue automatiquement un code et un libellé uniques si nécessaire, tout en conservant le lien avec la proposition d’origine. Chaque préparation peut matérialiser sa propre version d’un circuit issu du même modèle prod, sans blocage systématique.
- La réponse indique si le nom a été ajusté et quels code/libellé ont été enregistrés, pour que l’interface affiche l’identité réelle du circuit créé.
Création manuelle de circuit et doublons de nommage Avant
- En création ou mise à jour manuelle, un doublon de code ou de libellé renvoyait une erreur technique peu exploitable (code seul), sans indication du champ en cause ni d’alternative utilisable.
Après
- En cas de conflit, l’API renvoie une erreur métier structurée (champ concerné, valeur refusée, valeur suggérée) avec un message en français adapté aux toasts.
- L’utilisateur peut corriger le formulaire ou appliquer la suggestion pour enregistrer le circuit correctement.
Affectation chauffeur — journées « chaînables » Avant
-
Pour une journée où le chauffeur pouv enchaîner plusieurs trajets (fenêtre courte validée par ORS), l’évaluation indiquait seulement que la journée était « chaînable », sans détail sur quels trajets étaient liés ni dans quel ordre. Après
-
Pour les journées CHAINABLE, la réponse d’évaluation des candidats chauffeurs inclut les liens de chaînage (trajet évalué
↔ trajet prépa ou prod lié, créneaux, sens et écart calendaire), afin d’expliquer pourquoi un chauffeur est proposé comme compatible pour enchaîner ses tournées.