fix(delivery): Auslieferung zeigt Single-Car-Lieferungen wie Beladen
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) <noreply@anthropic.com>
This commit is contained in:
@ -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<Delivery> _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<Delivery> _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<CarsBloc>().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.
|
||||
|
||||
Reference in New Issue
Block a user