feat: accept multiple travel codes per pickup planning
This commit is contained in:
+5188
-1
File diff suppressed because one or more lines are too long
@@ -20,23 +20,26 @@ class PickupPlanningTransformer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$travelCode = $item['Reisecode'] ?? null;
|
$travelCodes = $item['Reisecodes'] ?? [];
|
||||||
if (null === $travelCode) {
|
|
||||||
|
if (0 === count($travelCodes)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$dateTime = \DateTimeImmutable::createFromFormat('d.m.Y H:i', $item['Zeit'] ?? '');
|
$dateTime = \DateTimeImmutable::createFromFormat('d.m.Y H:i', $item['Zeit'] ?? '');
|
||||||
|
|
||||||
$result[$travelCode][] = [
|
foreach ($travelCodes as $code) {
|
||||||
'city' => $item['Zustieg/Ausstieg Ort'] ?? '',
|
$result[$code][] = [
|
||||||
'location' => $item['Zustieg/Ausstieg Strasse'] ?? '',
|
'city' => $item['Zustieg/Ausstieg Ort'] ?? '',
|
||||||
'datetime' => false !== $dateTime ? $dateTime->format('Y-m-d H:i') : '',
|
'location' => $item['Zustieg/Ausstieg Strasse'] ?? '',
|
||||||
];
|
'datetime' => false !== $dateTime ? $dateTime->format('Y-m-d H:i') : '',
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($result as $travelCode => $pickups) {
|
foreach ($result as $code => $pickups) {
|
||||||
usort($pickups, static fn (array $a, array $b): int => $a['datetime'] <=> $b['datetime']);
|
usort($pickups, static fn (array $a, array $b): int => $a['datetime'] <=> $b['datetime']);
|
||||||
$result[$travelCode] = $pickups;
|
$result[$code] = $pickups;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
|
|||||||
Reference in New Issue
Block a user