fix(absence): correctly deactivate single-passenger trips per day and harden helpers
Problème
-
Lors d’une absence mono‑passager, le trajet pouvait être désactivé pour toute la période dès le début de l’absence, même si l’absence ne concernait pas ce sens (aller/retour) à la date du jour.
-
Certains cas pouvaient entraîner des NPE (weekType null, coordonnées manquantes, etc.) ou des comportements peu explicites en cas d’extension future des enums.
Solution
-
Désactivation des trajets mono‑passager uniquement si l’absence s’applique à ce trajet (sens) pour la date du jour, en s’appuyant sur les TripDays effectivement impactés.
-
Calcul de nextRecalculationDate à partir des dates réellement concernées (par jour et par sens), avec recalcul immédiat uniquement si aujourd’hui est impacté.
-
Ajout de garde‑fous (null/size checks sur les coordonnées et weekType, défaut explicite dans le switch ConcernedTrip → SensTrip, comparaison d’enums plus sûre, logs d’erreur plus clairs) sans modifier la logique métier existante.