Commit Graph

2664 Commits

Author SHA1 Message Date
Stephanos A.
85dec2b044 Merge pull request #592 from Tria-plc/alpha
Alpha
2026-07-10 10:35:46 +03:00
Stephanos A
4705f5c478 Merge branch 'alpha' of github.com:Tria-plc/edr-platform into alpha 2026-07-10 10:34:49 +03:00
Stephanos A
acc93aeffc UAT fixes and enhancements 2026-07-10 10:33:36 +03:00
marshal
0a88e2bb1d Merge pull request #589 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-07-10 00:16:46 +03:00
Marshal
2fb1917956 merge 2026-07-09 21:15:07 +00:00
Marshal
30f809b999 Merge branch 'dev' of github.com:Tria-plc/edr-platform into freight_feature/usermanagement 2026-07-09 21:14:09 +00:00
Marshal
3443b79644 make a contrat template 2026-07-09 21:13:07 +00:00
marshal
516dfd4032 Merge pull request #588 from Tria-plc/freight_feature/usermanagement
fix issues
2026-07-09 23:27:02 +03:00
Marshal
e4429592d3 fix issues 2026-07-09 20:26:14 +00:00
marshal
0a73d968b8 Merge pull request #587 from Tria-plc/freight_feature/usermanagement
add Excel import functionality for container bookings
2026-07-09 21:12:19 +03:00
Marshal
1d77cc9219 add Excel import functionality for container bookings 2026-07-09 18:10:58 +00:00
marshal
ae9c6b820a Merge pull request #586 from Tria-plc/freight_feature/usermanagement
test batch system
2026-07-09 20:15:39 +03:00
Marshal
a7d05fba34 test batch system 2026-07-09 17:04:25 +00:00
Hagernesh Tadesse
0f1aaace80 Merge pull request #585 from Tria-plc/Truckdetantion
Truck arrives (portal-assigned or walk-in) → handover generated → flag true → button appears on detail page and dashboard, + notification every 5 min.
Customer clicks → reviews the handover PDF → signs → signed_at stamped → sign-modal invalidates both the booking and the list queries → flag false → button gone, reminders stop.
Operator's Exit Paper signature-request on a booking with no handover also creates one → button appears the same way.
2026-07-09 18:38:59 +03:00
Hagernesh
58a66b3a23 fix(warehouses): retire per-booking Load and Dispatch buttons
Wagon loading happens in the train flow and dispatch at the train level, which
already advances inventory - the per-row buttons duplicated that and confused
operators.

- WarehouseInventoryTable (import dispatch queue + warehouse pages): suppress
  the 'load'/'dispatch' next-action buttons and drop the extra per-row Dispatch
  on READY_FOR_PICKUP rows (Store stays)
- Export Dispatch Queue: drop the per-row Dispatch button and its Actions
  column; the bulk Dispatch All / Dispatch Selected controls remain

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 15:37:07 +00:00
Hagernesh
7ab5e9edd5 feat(warehouses): handover-driven approve delivery, weigh-skip, 5-min sign reminders
Approve delivery now tracks the handover lifecycle exactly: the button appears
(detail page + portal dashboard) the moment a handover is generated and
disappears when the customer signs. The bookings list attaches the
handoverAwaitingSignature flag via one batched query per page; status
heuristics (COMPLETED / TRUCK_ASSIGNED+arrived) are gone.

- generate the arrival handover for ANY self-haul truck: portal-assigned OR
  walk-in registered at the gate (isSelfHaulBooking: assigned_at set, or no
  EDR last-mile leg). Same rule now guards the exit paper.
- remind every 5 minutes (in-app + SMS + email) until the handover is signed
  (@Cron in HandoverService; one reminder per booking per tick)
- Truck Leaving no longer opens blank: the import queue mapper now carries
  inv.notes, so the saved arrival renders read-only with only gate-out time
  and gross weight editable
- container bookings get "Weigh truck? Yes/No": No skips tare/gross and the
  container weight match (weighingSkipped on ReleaseOrderDto, decision made at
  arrival sticks for the exit via the Weighing: SKIPPED note). Bulk always
  weighs, unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 15:37:06 +00:00
Hagernesh
7bf407b503 fix(warehouses): surface the real reason when a PDF download fails
Blob downloads set responseType: 'blob', so axios delivers the JSON error body
as a Blob. extractErrorMessage() reads `.message` off it, finds nothing, and
falls back to "Request failed with status code 400" - hiding every real reason
("Handover must be signed...", "...must be fully paid before terminal release").

Only ContainerItemsModal used the async Blob decoder. Switch the remaining nine
blob-download catches to extractDownloadErrorMessage():

  InventoryWorkbench      release paper, handover
  WarehouseInventoryTable GRN
  ReceiveInventoryModal   GRN (x2), handover, exit paper
  FeePreviewModal         release paper
  TruckDispatchModal      truck exit paper

Mutation-error catches are untouched - their bodies are already parsed JSON.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 15:37:06 +00:00
Hagernesh
ca774267cd fix(warehouses): Store no longer strands an import item in STORED
READY_FOR_PICKUP allows STORED (park an import item back into storage), but
STORED allowed only RESERVED / READY_FOR_LOADING - so readyForPickup() hit
assertTransition(STORED, READY_FOR_PICKUP) and threw. The item could never
return to pickup, and getNextInventoryAction returned null for an import STORED
item, leaving the row with no action at all.

- allow STORED -> READY_FOR_PICKUP
- an inspected import STORED item now advances to ready-for-pickup

readyForPickup() still rejects non-IMPORT inventory, so the new edge cannot be
reached from the export flow.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 15:37:06 +00:00
Hagernesh
001babbd2d fix(warehouses): repair missing warehouse_inventory.grn_number column
AddGrnNumberToWarehouseInventory1828000000000 is recorded in the migrations
table but the column is absent - it was added, then dropped out-of-band. Because
TypeORM has the original recorded it will never re-run, so every GRN read/write
fails with "column grn_number does not exist":

  - bulkReceive()             INSERT names grn_number   (receive to warehouse)
  - importQueueByStatuses()   Unloaded + Dispatch queues
  - exportInventoryByStatus() Received / Ready-To-Load / Loaded tabs
  - grnDocument()             GRN PDF

Re-adds the column, backfills from the "GRN Number:" receive note, recreates the
partial index. Idempotent, and down() is a deliberate no-op so reverting the
repair cannot re-introduce the outage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 15:37:06 +00:00
Hagernesh
c53c186896 Approve delivery and notification fix 2026-07-09 15:37:06 +00:00
marshal
3ff84d687a Merge pull request #584 from Tria-plc/freight_feature/usermanagement
Enhance bulk booking handling and wagon capacity calculations across …
2026-07-09 18:31:00 +03:00
Marshal
1690f9e498 Enhance bulk booking handling and wagon capacity calculations across services 2026-07-09 15:30:00 +00:00
Eyob T.
3d80f2d040 Merge pull request #583 from Tria-plc/alpha
design revamp
2026-07-09 17:24:46 +03:00
Roba Boru
f201b6e1fb Merge branch 'dev' of https://github.com/Tria-plc/edr-platform into alpha 2026-07-09 17:20:22 +03:00
Roba Boru
a856a763fe Merge branch 'alpha' of https://github.com/Tria-plc/edr-platform into alpha 2026-07-09 17:20:12 +03:00
Roba Boru
fc065b50aa design revamp 2026-07-09 17:20:00 +03:00
marshal
3affef65d4 Merge pull request #582 from Tria-plc/freight_feature/usermanagement
fix ui issue
2026-07-09 17:12:03 +03:00
Marshal
3259bd7667 fix ui issue 2026-07-09 14:10:46 +00:00
yaschalew10
17d95f47e5 Merge pull request #581 from Tria-plc/freight/feature/first_mile_invoice
Freight/feature/first mile invoice
2026-07-09 17:07:37 +03:00
natib21
151c82373b :Merge branch 'dev' of github.com:Tria-plc/edr-platform into freight/feature/first_mile_invoice 2026-07-09 14:06:30 +00:00
natib21
70a9742631 add gps readme 2026-07-09 14:01:59 +00:00
marshal
0fc7ed9041 Merge pull request #580 from Tria-plc/freight_feature/usermanagement
small fix
2026-07-09 16:37:53 +03:00
Marshal
3afadcd9f2 small fix 2026-07-09 13:36:36 +00:00
marshal
b1a1099532 Merge pull request #579 from Tria-plc/freight_feature/usermanagement
Enhance wagon capacity handling and validation in booking service
2026-07-09 16:20:55 +03:00
Roba Boru
188c818251 Fix chat bot alignment 2026-07-09 16:18:52 +03:00
Marshal
eb819d66a1 Enhance wagon capacity handling and validation in booking service
- Added default capacities for container and bulk wagons.
- Updated wagonsFor method to consider weight and length for wagon calculations.
- Improved handling of overweight bookings with appropriate warnings.
- Adjusted tests to reflect changes in wagon capacity and validation logic.
2026-07-09 13:10:32 +00:00
Nathnael Wondisha
41af519afb Merge pull request #574 from Tria-plc/freight/feat/fixes-v1
Forget password and fixes
2026-07-09 15:39:39 +03:00
Nathnael
632951268f Merge branch 'dev' into freight/feat/fixes-v1 2026-07-09 12:38:55 +00:00
Nathnael
80ef15b9dc fix: onboarding back and contract blocking 2026-07-09 12:38:05 +00:00
Nathnael
3f9dca5244 fix: notification mark as read 2026-07-09 12:38:04 +00:00
Nathnael
a5bc9d8435 fix: the company rejection on the approved ones 2026-07-09 12:38:04 +00:00
Stephanos A.
ed4de712ff Merge pull request #578 from Tria-plc/alpha
Coach type price change on seat selection updates
2026-07-09 15:29:55 +03:00
Stephanos A
cec544fc12 Coach type price change on seat selection updates 2026-07-09 15:28:20 +03:00
Hagernesh Tadesse
41fc1e8df1 Merge pull request #577 from Tria-plc/Testplan
Freight OperationsQA Test Plan
2026-07-09 12:25:15 +03:00
Hagernesh
f7ceca944a Freight OperationsQA Test Plan 2026-07-09 09:21:15 +00:00
Hagernesh Tadesse
de404fc94e Merge pull request #576 from Tria-plc/Truckdetantion
Fix slow GRN button and sms timeout
2026-07-09 12:12:06 +03:00
marshal
0cea4e8dbc Merge pull request #575 from Tria-plc/freight_feature/usermanagement
freight_feature/usermanagement
2026-07-09 12:03:37 +03:00
Hagernesh
fa5fde6b6b Fix slow GRN button and sms timeout 2026-07-09 09:03:35 +00:00
Marshal
db35b90b45 freight_feature/usermanagement 2026-07-09 09:02:44 +00:00
Nathnael
3f7734fe16 fixes 2026-07-09 08:55:24 +00:00