feat VSN-2132 (driver-comparison): add driver daily comparison feature
Description
Implements a new driver daily comparison feature that compares real geolocation data with theoretical trip data from circuit-service to identify discrepancies.
Features
- Compare real vs theoretical trip counts and durations per driver per day
- Status-based classification: ROUGE (>120min gap), ORANGE (>60min), VERT (≤60min), BLEU (incomplete data)
- Support for incomplete records (drivers without UUID)
- Flexible driver name search (multi-term matching)
- Pagination, sorting, and filtering support
- Default sort by status with ROUGE (alerts) displayed first
New Files
-
DriverComparisonController.java- REST endpoints for comparison data -
DriverComparisonService.java/DriverComparisonServiceImpl.java- Business logic -
DriverComparisonSpecification.java- JPA filtering specifications -
DriverComparisonDTO.java/DriverComparisonResponse.java- Response DTOs -
DriverDailyComparisonRepository.java- Data access layer -
TheoreticalTripsSummaryResponse.java- DTO for circuit-service integration
Modified Files
-
CircuitService.java/CircuitServiceImpl.java- Added getTheoreticalTripsSummary()
API Endpoints
-
GET /api/geolocation/driver-comparisons- Get comparisons with filters -
POST /api/geolocation/driver-comparisons/recalculate- Force recalculation
Closes VSN-2132