fix: avoid duplicated pickup planning entries

This commit is contained in:
Björn Fromme
2025-12-17 17:05:38 +01:00
parent 5831294d33
commit 1dc8489239
@@ -29,15 +29,22 @@ class PickupPlanningTransformer
$dateTime = \DateTimeImmutable::createFromFormat('d.m.Y H:i', $item['Zeit'] ?? '');
foreach ($travelCodes as $code) {
$result[$code][] = [
$pickup = [
'city' => $item['Zustieg/Ausstieg Ort'] ?? '',
'location' => $item['Zustieg/Ausstieg Strasse'] ?? '',
'datetime' => false !== $dateTime ? $dateTime->format('Y-m-d H:i') : '',
];
$key = sprintf('%s|%s|%s', $pickup['city'], $pickup['location'], $pickup['datetime']);
if (false === isset($result[$code][$key])) {
$result[$code][$key] = $pickup;
}
}
}
foreach ($result as $code => $pickups) {
$pickups = array_values($pickups);
usort($pickups, static fn (array $a, array $b): int => $a['datetime'] <=> $b['datetime']);
$result[$code] = $pickups;
}