From 30fdde110961c57fd5217449e90b501ee07c0b9b Mon Sep 17 00:00:00 2001 From: Dennis Nemec Date: Fri, 10 Jul 2026 22:49:23 +0200 Subject: [PATCH] fix(delivery): Auslieferung zeigt Single-Car-Lieferungen wie Beladen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Auslieferungs-Übersicht filterte immer nach assignedCarId==selectedCarId, während die Beladen-Übersicht bei Single-Car-Teams ALLE Lieferungen zeigt. Folge: eine neu importierte, noch nicht zugeordnete Lieferung (assignedCarId == null) erschien in Beladen (und ließ sich scannen), aber nach dem Scannen NICHT in der Auslieferung. Auslieferung nutzt jetzt dieselbe multiCarTeam-Logik (CarsBloc, cars.length >= 2): Single-Car → alle Lieferungen, Multi-Car → nach assignedCarId filtern. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../overview/presentation/delivery_overview.dart | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/feature/delivery/overview/presentation/delivery_overview.dart b/lib/feature/delivery/overview/presentation/delivery_overview.dart index e5feca2..fec4833 100644 --- a/lib/feature/delivery/overview/presentation/delivery_overview.dart +++ b/lib/feature/delivery/overview/presentation/delivery_overview.dart @@ -8,6 +8,8 @@ import 'package:hl_lieferservice/domain/entity/tour_details.dart'; import 'package:hl_lieferservice/domain/entity/warehouse.dart'; import 'package:hl_lieferservice/feature/car_selection/bloc/bloc.dart'; import 'package:hl_lieferservice/feature/car_selection/bloc/state.dart'; +import 'package:hl_lieferservice/feature/cars/bloc/cars_bloc.dart'; +import 'package:hl_lieferservice/feature/cars/bloc/cars_state.dart'; import 'package:hl_lieferservice/feature/delivery/detail/presentation/delivery_detail_page.dart'; import 'package:hl_lieferservice/feature/delivery/overview/presentation/delivery_info.dart'; import 'package:hl_lieferservice/feature/delivery/pickup/presentation/filiale_pickup_scan_page.dart'; @@ -110,15 +112,23 @@ class _DeliveryOverviewBody extends StatelessWidget { /// Sortiert nach `sortOrder` aufsteigend, weil das die vom Fahrer im /// Sortieren-Schritt festgelegte Reihenfolge ist und identisch zur /// Auslieferungs-Reihenfolge. - List _ownDeliveriesInDeliveryOrder() { + /// + /// Filter identisch zur Beladen-Übersicht: nur **Multi-Car-Teams** filtern + /// nach `assignedCarId` (jeder Fahrer sieht sein Fahrzeug); im **Single-Car**- + /// Fall gehören ohnehin alle Lieferungen zum einzigen Auto — sonst würde eine + /// neu importierte, noch nicht zugeordnete Lieferung (assignedCarId == null) + /// zwar in Beladen, aber nicht in der Auslieferung erscheinen. + List _ownDeliveriesInDeliveryOrder(bool multiCarTeam) { final all = details.deliveriesSorted; - if (selectedCarId == null) return all; + if (!multiCarTeam || selectedCarId == null) return all; return all.where((d) => d.assignedCarId == selectedCarId).toList(); } @override Widget build(BuildContext context) { - final deliveries = _ownDeliveriesInDeliveryOrder(); + final carsState = context.watch().state; + final multiCarTeam = carsState is CarsLoaded && carsState.cars.length >= 2; + final deliveries = _ownDeliveriesInDeliveryOrder(multiCarTeam); // Untere System-Navigationsleiste (Home/Zurück/Recent) freihalten, damit // das letzte Listenelement nicht dahinter rutscht. Es gibt in dieser // Phase keinen Bottom-Bar, der den Inset abdecken würde.