Commit Graph

342 Commits

Author SHA1 Message Date
Nathnael
151d9c48c3 Merge branch 'dev' into freight/feat/fixes-v1 2026-07-10 08:54:34 +00:00
Nathnael
e5fce529fe feat: add poa to the changes approval 2026-07-10 08:45:39 +00:00
Hagernesh
a7b429544b fix(warehouses): trim receive form to fields with a real source
- remove Incoterms, HS codes, and Item code from the truck-entrance form:
  nothing in the booking captures them, so they were always hand-typed noise
- remove the hand-typed "Warehouse code and location" input: the backend now
  stamps it from the warehouse/yard/zone the operator actually selected
  (WH / YARD / ZONE codes), so the GRN and notes always match reality
- Declaration number and Item description widen to full rows

Backend DTO keeps the optional fields for compatibility.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 07:11:20 +00:00
Hagernesh
fc2366f9e0 feat(warehouses): prefill receive-to-warehouse from existing booking data
The receive form now arrives filled with everything the booking already knows,
instead of the operator re-typing it:

- container numbers come from the per-unit records (booking_container_units)
  entered at booking time, falling back to the line-level aggregate
- customs seal number prefilled from the units' seal numbers
- net weight prefilled from the booking's declared cargo weight (tonnes)
- driver signatory defaults to the arriving driver's name

Existing prefills (owner, TIN, phone, booking ref, cargo, packaging, unit
count, first-mile / customer truck + driver) unchanged; all fields stay
editable where they were editable before.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 07:11:20 +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
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
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
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
Nathnael
e3baf27a3e Merge branch 'dev' into freight/feat/fixes-v1 2026-07-09 08:51:50 +00:00
Nathnael
e04b513b8f feat: password reset flow 2026-07-09 08:50:08 +00:00
Marshal
6c54493bbc changes 2026-07-09 08:41:15 +00:00
Marshal
f736523afd Implement client-side validation for container and bul 2026-07-09 08:13:20 +00:00
Marshal
c6198a4c62 Implement client-side validation for container and bulk cargo fields in booking form 2026-07-09 07:49:53 +00:00
Marshal
cd8fb2b321 enhance gate pass and freight payment handling in train scheduling
- Updated the logic in  to ensure that a booking only earns its gate pass once the freight charges are settled.
- Added logging for bookings that have not settled freight payment when securing gate passes.
- Modified seeders to ensure that bookings have associated company profiles to prevent data inconsistencies.
- Updated freight permissions to include new clearance actions for bookings.
- Enhanced the UI to reflect changes in the clearance process, including new shipment request pages and improved status handling in the clearance action panel.
- Adjusted the contract clearance list to accommodate both customs contracts and shipment bookings.
- Improved the handling of GENERAL contracts in various components to ensure proper booking flow and visibility.
2026-07-09 07:19:36 +00:00
Nathnael
d1652c1b96 fix: sidebar scrollbar 2026-07-09 07:04:31 +00:00
Marshal
bedcdca78b Enforce non-negative values for numeric inputs across various components 2026-07-09 04:24:08 +00:00
Marshal
df7d796741 Add minDate handling for vessel and departure dates across components 2026-07-09 04:06:40 +00:00
Hagernesh
33956d07dc Fix customer_truck_containers status 2026-07-08 13:56:56 +00:00
Nathnael Wondisha
90a2416dcf Merge pull request #540 from Tria-plc/freight/feat/fixes-v1
Added a changes approval system to the customer data and fix various things
2026-07-08 14:09:15 +03:00
Nathnael
8947ab8614 feat: fix the settings preview for the business licence and changes request to the approval 2026-07-08 10:42:00 +00:00
Hagernesh
80904eeeb2 Handover SIGN notification, resending until signed no exit before sign 2026-07-08 09:33:19 +00:00
marshal
8de7754e35 Merge pull request #535 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-07-08 12:09:40 +03:00
Marshal
44023efb12 solve priorty issue 2026-07-08 09:08:53 +00:00
Nathnael
3bc4514b04 feat: implemented the changes request to the company profile to backoffice 2026-07-08 08:07:10 +00:00
Hagernesh Tadesse
7712340c51 Merge pull request #525 from Tria-plc/Truckdetantion
Container truck assignment on customer portal for import
2026-07-08 07:41:22 +03:00
Hagernesh
3f6b9ac974 Container truck assignment on customer portal for import 2026-07-08 04:36:03 +00:00
Marshal
9dd9ace313 add reference field to train schedules and implement unique sequence generation 2026-07-07 23:06:44 +00:00
Marshal
94904ea6d0 resolve conflict 2026-07-07 21:46:25 +00:00
Marshal
518eec6286 enhance train scheduling and booking management 2026-07-07 21:42:59 +00:00
Marshal
b57840c907 add CUSTOMS type to priority configs and update related logic 2026-07-07 16:42:57 +00:00
Marshal
f300600bfa changes 2026-07-07 12:28:47 +00:00
Hagernesh Tadesse
ec23faa5db Merge pull request #507 from Tria-plc/Truckdetantion
Truckdetantion
2026-07-07 14:49:41 +03:00
Hagernesh
25c9bdeecd Export Load on train 2026-07-07 10:21:17 +00:00
Hagernesh
35ccf1bc95 truck type detantion 2026-07-07 10:02:43 +00:00
Marshal
1c18fdbd52 Enhance contract management by adding booking windows section and updating invoice logic for offloaded cargo 2026-07-07 09:49:12 +00:00
marshal
2a8d514b98 Merge pull request #503 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-07-07 12:05:49 +03:00
Hagernesh
48b36a2621 Merge remote-tracking branch 'origin/dev' into Truckdetantion 2026-07-07 08:49:20 +00:00
Marshal
75f30e2054 Add reject step functionality to contract approval process
- Implemented rejection handling in ContractApprovalStepsCard with a modal for rejection reasons.
- Updated useContractMutations to include rejectStep mutation.
- Added REJECT_STEP URL constant for API integration.
- Enhanced ContractClearanceDetailPage to utilize linkedBookingId for improved booking handling.
2026-07-07 08:46:31 +00:00
Hagernesh
392038852e Truck detention on lastmile 2026-07-07 08:45:51 +00:00
natib21
fdd7b1711e Merge branch 'dev' of github.com:Tria-plc/edr-platform into freight/feature/first_mile_invoice 2026-07-07 08:33:25 +00:00
Hagernesh Tadesse
ff0fa6bb9e Merge pull request #498 from Tria-plc/Doublehandling
Doublehandling
2026-07-07 09:48:26 +03:00
Hagernesh
24fa6ab83b Doublehandling 2026-07-07 06:25:58 +00:00
Hagernesh
96b78fc72e Login fixed — freight-api boots (PgBouncer search_path + migrations-table reconcile).
Invoice PDF styled (vector fallback, no Docker change).
Marshalling doc styled (table-aware fallback, portrait/landscape).
Load to Train tab — per-train arrived containers → multiselect → load onto wagons.
Yard/zone list filtered by freight type.
2026-07-06 21:09:56 +00:00