mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-26 18:42:49 +00:00
Merge pull request #1240 from Tria-plc/eims-integration
fix(train-scheduling): exempt direct-to-train export bookings from GR…
This commit is contained in:
@@ -3262,6 +3262,12 @@ export class TrainSchedulingService {
|
||||
* Every export booking being confirmed loaded must already be received at the
|
||||
* warehouse with a GRN. An allocation puts a booking on a wagon on paper; this
|
||||
* is the check that the cargo is physically in the yard before we call it loaded.
|
||||
*
|
||||
* Direct truck-to-train (exportHandoverMode = DIRECT_TO_TRAIN) is excluded —
|
||||
* that cargo is manually loaded from the customer's truck straight onto the
|
||||
* wagon, never sees the warehouse, and is never GRN'd. Its custody is attested
|
||||
* by the carriage acceptance sheet instead (same carve-out as the shared
|
||||
* assertExportReceivedWithGrn gate — see common/export-received-gate.ts).
|
||||
*/
|
||||
private async assertExportBookingsReceived(bookingIds: string[]): Promise<void> {
|
||||
if (!bookingIds.length) return;
|
||||
@@ -3270,6 +3276,7 @@ export class TrainSchedulingService {
|
||||
FROM freight.bookings b
|
||||
WHERE b.id = ANY($1)
|
||||
AND b.deleted_at IS NULL
|
||||
AND b.export_handover_mode IS DISTINCT FROM 'DIRECT_TO_TRAIN'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM freight.warehouse_inventory inv
|
||||
WHERE inv.booking_id = b.id
|
||||
|
||||
Reference in New Issue
Block a user