Commit Graph

1081 Commits

Author SHA1 Message Date
Marshal
3fe4ea72ac update train scheduling logic to clear trainScheduleId when unassigning bookings 2026-07-13 11:47:27 +00:00
marshal
19fc480cc1 Merge pull request #646 from Tria-plc/freight_feature/usermanagement
improve group window
2026-07-13 14:08:10 +03:00
Marshal
9e748d6291 improve group window 2026-07-13 11:07:14 +00:00
Hagernesh
f655289eec :Merge branch 'dev' of github.com:Tria-plc/edr-platform into uienhancement
Please enter a commit message to explain why this merge is necessary,
:qa!
2026-07-13 09:57:21 +00:00
Hagernesh
ae30441f07 Truck assignment for Export before loading and import after arrival 2026-07-13 09:53:33 +00:00
marshal
7001bf9c7f Merge pull request #644 from Tria-plc/freight_feature/usermanagement
remove Puppeteer from docker
2026-07-13 12:30:27 +03:00
Marshal
55bc36742b remove Puppeteer from docker 2026-07-13 09:29:35 +00:00
marshal
61cc4fab00 Merge pull request #643 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-07-13 12:11:12 +03:00
Marshal
93884a43e8 Puppeteer PDF rendering by adding necessary dependencies and skipping Chrome download 2026-07-13 09:02:04 +00:00
marshal
43cd0223aa Merge pull request #642 from Tria-plc/freight_feature/usermanagement
add wagon allocation snapshot to train schedules
2026-07-13 11:57:24 +03:00
Marshal
a4ccdb1173 add wagon allocation snapshot to train schedules 2026-07-13 08:56:06 +00:00
marshal
2e87e60776 Merge pull request #641 from Tria-plc/freight_feature/usermanagement
enhance booking and contract management features
2026-07-13 09:44:36 +03:00
Marshal
95b17b2729 enhance booking and contract management features
- Added support for comma-separated ops-clearance lifecycle statuses in contracts service.
- Display reference number in Upcoming Windows section if available.
- Updated badge label for document requirements in constants.
- Improved logic for identifying phased bookings in BookingClearanceWorkflowBanner.
- Introduced tabs in ReadonlyBookingView for better organization of booking details.
- Enhanced KeyFactsStrip to reflect the general nature of drawdown bookings.
- Updated status titles and descriptions for clarity in StatusHero and constants.
- Added contractKind field to IBooking interface for better identification of booking types.
- Created DocumentsTab component to manage and display all relevant documents for bookings.
2026-07-13 06:43:17 +00:00
marshal
3c3a7595a2 Merge pull request #640 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-07-13 08:13:01 +03:00
Marshal
e7e5b93ffc add customs clearing filter and enhance clearance documents page for non-customs contracts 2026-07-12 14:14:21 +00:00
Marshal
84ba56f7d0 implement batch board notification system for schedule changes and updates 2026-07-12 12:01:05 +00:00
Marshal
4b7f6d2548 enhance contract and booking services with server-side search and validation improvements
- Added  parameter to  and  for server-side free-text search on contract reference, company name, and booking details.
- Introduced new validation errors in  for container clashes and space issues when creating bookings.
- Implemented paginated dropdown settings retrieval in .
- Updated  to fetch active yards using a new method that handles pagination.
- Enhanced  with a  method to fetch all records by walking through pages.
- Refactored  to support filtering and pagination in schedule listings.
- Improved  to return a paginated list of facilities.
- Updated UI components in  and  to utilize debounced search inputs for better performance.
- Added alerts in  to inform users about booking constraints related to splits and capacity.
- Enhanced  to display notifications for split bookings and capacity usage.
2026-07-12 10:51:31 +00:00
yaschalew
81bdb91257 fix iam 2026-07-11 12:39:28 +03:00
Hagernesh
da44752c70 SELECT BOX 2026-07-11 08:30:39 +00:00
Hagernesh
eec3d1863a Cleaned warehouse related UI and made all 15 pages consisitent 2026-07-11 08:30:39 +00:00
yaschalew
2b53a7f34c Merge branch 'dev' of github.com:Tria-plc/edr-platform into freight/feature/user_management_UI 2026-07-11 09:59:57 +03:00
yaschalew
fef7a439b4 fix package 2026-07-11 09:59:39 +03:00
marshal
d70e67ae4f Merge pull request #616 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-07-11 09:42:56 +03:00
yaschalew
2b64d835dc Merge branch 'dev' of github.com:Tria-plc/edr-platform into freight/feature/user_management_UI 2026-07-11 08:35:09 +03:00
Marshal
dd87c2a722 wagon work space, container validation 2026-07-10 23:29:28 +00:00
Marshal
5d8658b5d6 fix contrat,wagon allocation wehn a booking is split 2026-07-10 22:27:58 +00:00
Marshal
1121e9ce82 Implement clearance-first booking flow and completion process for customs contracts 2026-07-10 21:51:59 +00:00
Marshal
9ed473c309 Implement clearance-first booking flow and completion process for customs contracts 2026-07-10 18:56:39 +00:00
marshal
415e3ea2ef Merge pull request #608 from Tria-plc/freight_feature/usermanagement
general contrat
2026-07-10 21:00:01 +03:00
Marshal
b50075dc83 general contrat 2026-07-10 17:57:27 +00:00
natib21
15fc21a6c9 gps 2026-07-10 15:23:49 +00:00
Nathnael
625b33733d Merge branch 'dev' into freight/feat/fixes-v1 2026-07-10 12:22:41 +00:00
marshal
c6d79253fb Merge pull request #600 from Tria-plc/freight_feature/usermanagement
update booking logic for train schedules and customs contracts
2026-07-10 15:14:27 +03:00
Marshal
a58650bdfb update booking logic for train schedules and customs contracts 2026-07-10 12:13:08 +00:00
Nathnael
f737e401b3 fix: the issue in the sheets file 2026-07-10 12:10:17 +00:00
Hagernesh
267ccbca12 Merge branch 'dev' of github.com:Tria-plc/edr-platform into Truckdetantion 2026-07-10 11:39:14 +00:00
Hagernesh
9d147fbe26 fix(warehouses): truck-arrival crash on duplicate containers; auto-GRN on import unload
Truck Arrival died with "[@mantine/core] Duplicate options are not supported"
when a booking carried the same container number on two container lines (the
unit uniqueness is per line, not per booking):
- bookingContainerWeights now GROUPs BY container number (MAX weight)
- the weighing modal dedupes both the containers MultiSelect and the
  assigned-trucks Select defensively, so bad data degrades instead of
  crashing the whole page

Import GRN is now issued automatically when the arrived train is unloaded:
autoUnloadArrivedBookings stamps GRN-IMPORT-<date>-<booking> on both the
create and update paths (never overwrites an existing GRN). The per-row GRN
button in the import queue lights up with no extra clicks.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 11:13:21 +00:00
Hagernesh
00875dd2f4 fix(billing): fallback PDF paginates long tables instead of truncating
The marshalling manifest cut off at one page ("... 10 more row(s) not
shown") because the fallback drew rows only until it hit the bottom band.
Now the table flows across as many pages as it needs:

- page 1 keeps the full header + summary tiles; continuation pages get a slim
  "(continued — page N)" header and a re-drawn table header
- the verification notice and signature lines stay pinned to the final page,
  moving to a fresh page when rows run too deep for the bottom band
- the copy watermark repeats on every page of its copy
- a 12-page safety cap keeps the old truncation note as a last resort

Verified by standalone render: 50-row manifest -> 2 pages, all 50 rows, no
truncation; 5-row doc stays 1 page; two-copy freight order still renders 2
watermarked pages.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 11:13:21 +00:00
Hagernesh
4ca4363489 fix(billing): fallback PDF renders duplicate-copy documents as watermarked pages
buildTabularFallbackPdf parsed the whole HTML at once, so a two-copy document
(freight order: Port Operations copy + Gate Security & Carrier copy) came out
as ONE page with every tile duplicated and no watermarks.

- documents wrapped in <section class="copy"> now render one page per copy,
  each parsed independently (no more merged/duplicated tiles)
- each page carries its copy label as a large rotated light-gray watermark,
  drawn beneath the content (new watermarkOp, 30-degree text matrix)
- new assemblePdf() multi-page assembler; assembleSinglePagePdf untouched for
  its existing callers
- the meta label is parsed from the document ("Booking") instead of the
  hardcoded "TRAIN / SCHEDULE"

Verified by compiling the util standalone and rendering a two-copy freight
order: 2 pages, both watermarks present, tiles once per page, valid xref/EOF;
copy-less documents (marshalling) still render a single unwatermarked page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 11:13:21 +00:00
Marshal
10111c9e01 merge 2026-07-10 11:08:30 +00:00
marshal
4fe31614cf Merge pull request #596 from Tria-plc/freight_feature/usermanagement
enhance shipment requests page with filtering and sorting options
2026-07-10 13:33:40 +03:00
Marshal
1abef3ce34 enhance shipment requests page with filtering and sorting options
- Added status and cargo filters to the ShipmentRequestsPage.
- Implemented date range filtering for preferred dates.
- Introduced sorting options for shipment requests based on submission date and reference.
- Enhanced the display of shipment request details, including status badges and customer information.
- Updated the UI to include a search input with clear functionality and improved layout for filters.

feat: add equipment return option in new shipment form

- Introduced a toggle for equipment return in the NewShipmentPage.
- Updated form schema to include  field for container contracts.
- Enhanced user experience with visual feedback on the equipment return selection.

fix: update booking DTO to include equipment return option

- Added  field to CreateBookingUnderContractDto for per-shipment override.
- Updated related types and schemas to accommodate the new field for better contract handling.
2026-07-10 10:32:41 +00:00
Hagernesh Tadesse
b4ab89de46 Merge pull request #595 from Tria-plc/Truckdetantion
Truckdetantion
2026-07-10 12:09:12 +03:00
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
9eb10bb4ce feat(warehouses): auto-load targets a selected train, never loads trainless
"Auto Load Ready Items" now opens a train picker (pre-dispatch trains with
these bookings assigned, via the existing loadable-trains flow). No train
available -> no auto-loading, with a clear notice. Loading goes through the
existing per-wagon load path, so items without an allocated wagon are skipped
with a reason.

The train association is stored on the existing warehouse_loadings table
(no new table needed): new train_schedule_id column + a note recording train
number, origin -> destination, and departure time; wagon_id becomes nullable.
The trainless load-passed-export endpoint, its frontend wiring, and the unused
useLoadPassedExport hook are removed.

Migration 2100000000000 (idempotent) also applied to the dev database.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 08:34:14 +00:00
Nathnael
78cb1ac5d3 feat: add poa and poa delegation file to onboarding 2026-07-10 08:18:37 +00:00
Hagernesh
140c5a6469 fix(bookings): freight order renders styled on Chromium-less servers
The customer-truck freight order went through ContractPdfService, whose only
fallback is a crude text dump - so on servers without Chromium the document
rendered as unstyled text.

- render via the shared PdfRenderService with the styled tabular fallback
  (same path as marshalling / release documents)
- rebuild the freight-order HTML in the standard document shape: brand header,
  booking summary tiles, one trucks table (plate / driver / type / containers /
  arrival), gate notice, signature lines - which is also what the fallback
  parser reads
- keep the two watermarked copies (Port Operations, Gate Security & Carrier)
  for the Chromium path; drop the now-unused ContractPdfService injection

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 07:11:20 +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