Skip to content

VSN-2863/feat(emploi-du-temps): add column filters and use slim passenger summary

abdellatif elkerbani a demandé de fusionner feature/VSN-2863 vers develop

Improve the passenger schedules ("Emploi du temps") screen and fix the circuit binding on newly created active amendments.

Filtering:

  • Add PassengerScheduleFilterDTO (per-column values + *FilterType, CONTAINS default) bound via @ModelAttribute on getAllPassengersSchedules.
  • ScheduleChangeHistoryServiceImpl gains a two-stage filtered path: narrow first on everything resolvable from local Mongo (numUsager, codeCircuit, intituleCircuit) to avoid the slow/brittle user-service call, then hydrate and apply name/establishment filters on the surviving candidates. The unfiltered path keeps the fast "paginate uuids, hydrate page only" flow.
  • matches() supports EQUALS / STARTS_WITH / ENDS_WITH / CONTAINS, case- insensitive; a blank filter is no constraint, a set filter on a null field excludes the row.

Slim passenger payload:

  • Replace fetchPassengersByUuids (full PassengerDTO + per-uuid fallback) with fetchPassengerSummariesByUuids, consuming the new user-service retrieveScheduleSummariesByUuids endpoint via PassengerScheduleSummaryClientDTO. Establishment name now comes straight from the projection (resolveEtablissement removed).
  • Add UserService.getPassengerScheduleSummariesByUuids + impl.

DTO change:

  • Add activeAmendmentEndDate to PassengerScheduleSummaryDTO (sourced from the active amendment endDate).

Amendment fix:

  • On createActiveAmendment, carry the circuit binding forward by resolving circuitId from amendmentRepresentatives (falling back to existing amendments), so codeCircuit / intituleCircuit stay visible in the grid and stay consistent with MODIFY_EXISTING. Avoids propagating the null circuitId written by earlier CREATE_NEW flows.

Rapports de requête de fusion