VSN-2626/ Fix filter criteria for _id, duration, distanceKm, and isRotation
-
_idfiltering (CircuitCriteria,TripCriteria): EQUALS now uses.is()directly on the raw string; STARTS_WITH / ENDS_WITH / CONTAINS use$expr+$regexMatch+$toStringto convert the ObjectId to a string before applying regex — fixes silent no-match when running regex on an ObjectId field. -
CriteriaBuilderHelper: EQUALS reverted to case-insensitive regex (^...$) now that_idfields handle their own EQUALS path separately. -
byDurationfiltering (TripCriteria): when the input is a plain integer (minutes), the storedHH:MM:SSvalue is converted to total minutes in the aggregation pipeline. EQUALS maps to a[HH:MM:00, HH:MM:59]range; other conditions apply$regexMatchon the computed minutes string. -
distanceKmfiltering (TripServiceImpl): normalizes comma to dot in the input, and formats DTO distance values as"%.2f"withLocale.ROOTfor consistent decimal comparison. -
isRotationfilter (TripServiceImpl): was built inTripCriteriabut never wired into the criteria list — added the missingaddCriteriaIfNotNullcall. -
Removed unused imports
ScheduleChangeActionandCircuitScheduleChangeHistoryfromTripServiceImpl.