Commit Graph

58 Commits

Author SHA1 Message Date
Hagernesh
a8bc5b19de feat(warehouse): fetch all PAID bookings in one call, classified IMPORT/EXPORT by route
- eligibleBookings(direction?) now returns all import+export bookings when direction omitted
  (DOMESTIC excluded); per-direction filter preserved for backward compatibility
- GET /warehouse-inventory/eligible-bookings (no query) returns the combined set
- Frontend: single shared useEligibleBookings() query; both Receive tabs filter client-side
  by route-derived direction, so only one HTTP request fires

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 20:15:26 +00:00
Hagernesh
0ab508e377 feat(warehouse): Batch 6 — Export Loaded queue + Dispatch Queue with bulk dispatch
- GET /warehouse-inventory/loaded-export: EXPORT+LOADED items (route-derived direction)
- POST /warehouse-inventory/bulk-dispatch-export: reuses existing dispatch() transition
  (LOADED → DISPATCHED, capacity freed, movement/activity logged); skips non-LOADED/non-EXPORT
- Extracted shared exportInventoryByStatus() helper (readyToLoadExport now delegates to it)
- Frontend LoadedExportTab serves both Loaded (read-only) and Dispatch Queue (dispatchable)
  sub-tabs with Dispatch / Dispatch Selected / Dispatch All + per-row Dispatch
- Replaces "Loaded" and "Dispatch Queue — coming in the next batch" placeholders
- Train/schedule flow (DISPATCHED → IN_TRANSIT) unchanged

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 20:04:18 +00:00
Hagernesh
806fc4a8ca feat(warehouse): Batch 5 — Export Ready To Load queue + Auto Load Ready Items
- GET /warehouse-inventory/ready-to-load-export: EXPORT+PASSED+READY_FOR_LOADING items
  with booking details (customer, container, cargo type, route, inspection status)
- Direction filtering via deriveTradeDirection (route-based, not stored field)
- Frontend ReadyToLoadTab: full table (checkbox, booking ref/id, customer, container,
  cargo type, weight, route, inspection status, current status) with selection
- Auto Load Ready Items button reuses existing POST /load-passed-export endpoint
- Replaces "Ready To Load — coming in the next batch" placeholder in Export sub-tabs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 18:03:11 +00:00
Hagernesh
50c6381341 feat(warehouse): Batch 3+4 — export receive-selected label + bulk-mark-inspected workflow
- BulkReceiveModal: Receive Selected shows "received at facility" for EXPORT
- Export inspection: POST /warehouse-inventory/bulk-mark-inspected reuses WarehouseInspectionService.create
- EXPORT items advance to READY_FOR_LOADING after inspection PASSED
- InventoryWorkbench: selection state + "Mark Selected as Inspected" bulk button
- WarehouseInventoryTable: optional Checkbox column for bulk selection
- Route-based direction in eligibleBookings, bulkReceive, getBookingDirection
- New BulkInspectDto; service + controller wired

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 17:52:01 +00:00
Hagernesh
0005b2edb3 feat(warehouse): Receive Import/Export tabs with bulk receive + load-passed-export
- Backend: GET eligible-bookings?direction, POST receive-bulk, POST load-passed-export
  (reuse autoUnload/autoLoad patterns; no train-schedule/wagon logic changed)
- Frontend: ReceiveInventoryModal split into Import/Export tabs with eligible PAID
  bookings table, select-all/bulk receive, and Load Passed Export Items button
- Single-booking receive and all existing inventory row actions preserved

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 08:29:59 +00:00
Hagernesh
e40318c847 Dashboard enhancement 2026-06-19 11:29:05 +00:00
Hagernesh
be12a9d496 fee invoice frontend 2026-06-18 00:12:59 +00:00
Hagernesh
01aec12ee9 feat(warehouse): Batch 5 — config-driven allocation + storage/demurrage fee rules
- Allocation rules engine: cargo/container/trade criteria -> deterministic yard/warehouse/zone by code; wired into auto-unload (fallback to default)
- Storage/demurrage fee rules: configurable freeDays + ratePerDay; most-specific match; fee preview per inventory item
- Inventory demurrage timestamps: inspectionStartedAt, inspectionCompletedAt, readyForPickupAt, releaseDate, gateClearedAt
- Migration 1790000000000 (allocation_rules + fee_rules tables + inventory date columns)
- Frontend: Allocation & Fees config page, automatic Fee Preview modal, plumbing/hooks
- No invoice/payment (Batch 6)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 23:53:04 +00:00
Hagernesh
89d651693b automation of loading and unloading 2026-06-17 22:33:06 +00:00
Hagernesh
5b8cb16c1a automation 2026-06-17 22:00:53 +00:00
Hagernesh
f528b75737 Warehouse 2026-06-17 12:44:57 +00:00
Marshal
2de3f78fb0 Add payments management features including summary and listing, and integrate with the dashboard 2026-06-17 04:35:43 +00:00
Marshal
c76f8648a9 Updated signature handling, added booking detail components, introduced a signature management page, updated routing, enabled document downloads, and simplified the profile page. 2026-06-17 01:02:09 +00:00
Marshal
2d0f5ce6ee changes 2026-06-16 14:17:40 +00:00
Marshal
366a335f85 add reusable per-user contract signatures with profile prefill and approval 2026-06-16 13:26:45 +00:00
Marshal
0778021d86 implement priority 2026-06-16 09:26:57 +00:00
marshal
87b0ce6339 Replace wagon/locomotive readiness with yard tracking, assign unassigned bookings from origin-yard fleet, standardize rates on USD with CBE ETB conversion, and update fleet/scheduling UI 2026-06-14 02:13:08 +03:00
Marshal
b73bf2154e add detail batch and allocation monitoring page 2026-06-13 18:28:39 +00:00
Hagernesh
95c6a71438 feat(warehouse): batch 3 — loading, dispatch & train-departure visibility
- WarehouseLoading entity + Batch3 migration (wagon loading records)
- wagon-aware load() with validation; dispatch moved to PATCH
- read-only SchedulingReadFacade (schedule/wagon/departure) — never writes scheduling
- new endpoints: GET /warehouse-loadings, loadable-wagons, booking schedule
- Loading Queue / Loaded Inventory / Dispatch Queue pages + routes + sidebar
- FreightVisual illustrations (page heroes + empty states)
- booking detail: loaded/dispatched/wagon + read-only train schedule

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 12:44:40 +00:00
marshal
ef0abf1c41 auto allocation and batch managemnt, tracking the train 2026-06-12 11:42:46 +03:00
Hagernesh
72e2e3c985 Recieved invontory detals 2026-06-12 06:58:21 +00:00
Marshal
132f2150a8 add cron jobs and aslo 2026-06-11 20:59:19 +00:00
Marshal
cde3e462ba automate the schedule 2026-06-11 19:42:23 +00:00
Hagernesh
c86118cd8d feat(warehouse): add warehouse management module (batch 1)
Backend (edr-freight-api):
- Warehouse, WarehouseYard, WarehouseZone, WarehouseInventory entities
- CRUD for warehouses/yards/zones with scoped code uniqueness
- Inventory receive with location-hierarchy + capacity validation and
  transactional capacity-counter updates
- inspect / ready-for-loading status transitions
- inventory inquiry (booking/customer/container/cargo-type joins)
- migration creating freight.warehouse* tables

Frontend (freight backoffice):
- types, service, react-query hooks, URL constants
- reusable components: badges, filters, table/card views, inventory and
  inquiry tables, create/receive modals
- pages: Warehouse list, detail (overview/yards/zones/inventory tabs),
  inventory, inventory inquiry
- Warehouse Information card + Receive At Warehouse on booking detail
- routes + sidebar nav; app-wide ErrorBoundary

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 15:54:56 +00:00
Marshal
f85c13ce8c Merge branch 'freight_feature/schedule' of github.com:Tria-plc/edr-platform into freight_feature/schedule 2026-06-11 11:15:29 +00:00
marshal
10b011de8f merge conflict 2026-06-10 16:45:45 +03:00
Marshal
088295d81f schedule logic 2026-06-10 09:22:57 +00:00
Marshal
257428be18 ui design for schedule 2026-06-09 23:25:52 +00:00
marshal
5774d7db9d booking operations and trains scheduling also allocations 2026-06-10 00:48:32 +03:00
hagiye
eda21e22d8 Resolve merge conflicts from Train-Scheduling 2026-06-08 16:51:29 +03:00
hagiye
7facbeda22 Train scheduling API,Routes and UI 2026-06-08 16:31:28 +03:00
marshal
88df20be6b change price logic on the ,rule engine ui, auto generate the contrat 2026-06-08 10:04:23 +03:00
hagiye
b78796d76b mantine added to Train, wagon, containers and cargoes 2026-06-08 09:29:34 +03:00
hagiye
bffa5020ac wagon types added UI with API integrations 2026-06-07 21:56:33 +03:00
marshal
4993453993 generate contract by the system, add waggon type,fix ui 2026-06-07 01:20:52 +03:00
Michael Abebe
a9c2f2eb97 feat(freight): added routes and locomotives 2026-06-06 16:23:48 +03:00
hagiye
788de5381e feat: complete train scheduling integration 2026-06-06 05:52:47 +03:00
hagiye
dc42838a43 Trains management CRUD issues solved 2026-06-05 21:07:04 +03:00
hagiye
9676a6bb56 resolve conflict 2026-06-05 14:17:48 +03:00
hagiye
c3e92dbe70 resolve conflict 2026-06-05 14:13:35 +03:00
marshal
35c9bdfce4 resolve confilict 2026-06-05 14:07:26 +03:00
marshal
d59c192137 resolve confilict 2026-06-05 13:06:16 +03:00
marshal
ba65a3f4cc booking flow,summtion, approval, contract, mock payemnt and integration to back office, and also add permissions 2026-06-05 11:01:00 +03:00
marshal
d226d7ef22 booking flow,summtion, approval, contract, mock payemnt and integration to back office, and also add permissions 2026-06-05 10:38:31 +03:00
hagiye
ed9ef2b8e1 Merge freight/develop into feature/trains-management 2026-06-05 10:25:05 +03:00
hagiye
c66b57d599 Merge freight/develop into feature/trains-management 2026-06-05 10:21:39 +03:00
Hagernesh Tadesse
523d7e5842 Merge pull request #94 from Tria-plc/freight/feature/add_train_scheduling
Freight/feature/add train scheduling reviewed
2026-06-05 09:38:30 +03:00
marshal
8fea963ddb dynamic contract templates and companyId on bookings 2026-06-04 16:53:14 +03:00
Michael Abebe
8b3aaad5fd feat(freight): basics of train scheduling 2026-06-04 16:50:38 +03:00
hagiye
71ac89edc7 trains, wagons,containers and cargoes schema and API 2026-06-04 15:56:29 +03:00