From 4519a1d75d4b7dc09646cec9be45404429a7d863 Mon Sep 17 00:00:00 2001 From: natib21 Date: Thu, 2 Jul 2026 10:33:32 +0000 Subject: [PATCH] fix --- .../src/modules/first-mile/first-mile.service.ts | 9 +++++---- .../backoffice/src/pages/operations/FirstMilePage.tsx | 10 +++++----- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/apps/edr-freight-api/src/modules/first-mile/first-mile.service.ts b/apps/edr-freight-api/src/modules/first-mile/first-mile.service.ts index a7a4f9100..bc8801067 100644 --- a/apps/edr-freight-api/src/modules/first-mile/first-mile.service.ts +++ b/apps/edr-freight-api/src/modules/first-mile/first-mile.service.ts @@ -210,10 +210,11 @@ export class FirstMileService { firstMilePickupAddress?: string | null; serviceType?: { includesFirstMile?: boolean | null } | null; }): boolean { - // Export bookings always need a first mile (pickup → origin yard); the - // pickup address is captured at assignment time, not required upfront. - return Boolean(booking.firstMilePickupAddress?.trim() || - booking.serviceType?.includesFirstMile); + return Boolean( + booking.tradeDirection === 'EXPORT' && + (booking.firstMilePickupAddress?.trim() || + booking.serviceType?.includesFirstMile), + ); } async update(id: string, dto: UpdateFirstMileDto): Promise { diff --git a/apps/edr-freight-web/backoffice/src/pages/operations/FirstMilePage.tsx b/apps/edr-freight-web/backoffice/src/pages/operations/FirstMilePage.tsx index 9f6e82d03..93e3e51b0 100644 --- a/apps/edr-freight-web/backoffice/src/pages/operations/FirstMilePage.tsx +++ b/apps/edr-freight-web/backoffice/src/pages/operations/FirstMilePage.tsx @@ -471,11 +471,11 @@ const FirstMilePage = () => { paidBookings.filter( (booking) => { if (existingFirstMileBookingIds.has(booking.id)) return false; - return ( - booking.tradeDirection === "EXPORT" || - (booking.firstMilePickupAddress?.trim() ?? false) || - booking.serviceType?.includesFirstMile - ); + if (booking.paymentStatus !== "PAID") return false; + if (booking.tradeDirection !== "EXPORT") return false; + const hasPickupAddress = booking.firstMilePickupAddress?.trim() ?? false; + const includesFirstMile = booking.serviceType?.includesFirstMile ?? false; + return hasPickupAddress || includesFirstMile; }, ), [existingFirstMileBookingIds, paidBookings],