Commit Graph

90 Commits

Author SHA1 Message Date
Hagernesh
14b6219c9d chore(warehouse): comprehensive demo seeder — populate every queue coherently
WarehouseDemoSeeder creates one coherent WH-DEMO-* dataset so every tab shows data:
- Export Receive (3 PAID export bookings, no inventory)
- Export Ready To Load (3 READY_FOR_LOADING + PASSED)
- Export Loaded/Dispatch (2 LOADED)
- Import Arrive (1 ARRIVED Djibouti→Ethiopia train, 3 IN_TRANSIT bookings)
- Import Unloaded (3 UNLOADED)
- Import Dispatch (3 READY_FOR_PICKUP + PASSED)

Idempotent (sentinel WH-DEMO-RCV-1); dedicated refs so it never collides with SEED-* data.
Verified: all queues populated, dashboard shows 19 items across all 7 statuses.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 15:06:50 +00:00
Hagernesh
8b28a7c430 feat(warehouse): Batch 8 — Import Auto Unload Arrived Bookings (→ UNLOADED)
- New UNLOADED inventory status (train-arrival landing state) + transitions + unloaded_at column
  (idempotent migration 1791000000003) + INVENTORY_UNLOADED activity type
- POST /warehouse-inventory/import/auto-unload-arrived-bookings { scheduleId }: validates ARRIVED
  IMPORT train, unloads all eligible assigned bookings (IN_TRANSIT/ARRIVED_AT_*) into UNLOADED,
  records unloadedAt + activity. Does NOT store and does NOT inspect. Reuses allocation + inventory
  plumbing. Returns { unloadedCount, skippedCount, failedCount, results }.
- Arrive Queue "Auto Unload Arrived Bookings" button now calls the new endpoint (was per-booking loop)
- Import → Unloaded Queue tab: lists UNLOADED items via InventoryWorkbench (existing actions preserved:
  Inspect/Store/Move/History) + a Last Mile action shown ONLY when booking requested door delivery
- Batch8TestDataSeeder: sets seed import train bookings to IN_TRANSIT (unload-eligible)
- Verified: auto-unload → 1 UNLOADED (unloadedAt set, not stored, not inspected); ineligible skipped;
  idempotent re-run skips already-unloaded

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 12:57:29 +00:00
Hagernesh
35c3341baf feat(warehouse): Batch 7 — Import Arrive Queue (arrived import trains, read-only)
- SchedulingReadFacade: importArriveQueue() + importTrainDetail() — read-only SELECTs only,
  direction derived from origin/destination station countries (route-based), so EXPORT/DOMESTIC
  trains are excluded. Per-train booking/container/cargo counts.
- GET /warehouse-inventory/import/arrive-queue + /import/trains/:scheduleId/items
- Import tab restructured into sub-tabs: Arrive Queue (implemented) / Unloaded Queue /
  Dispatch Queue (placeholders for next batch)
- ImportArriveQueueTab: train table (schedule id, train #, route, origin, destination, arrival,
  bookings/containers/cargoes, status) with Open (expandable assigned-items detail) + Auto Unload
  (reuses existing per-booking unload endpoint over the train's bookings)
- Batch7TestDataSeeder: 1 arrived IMPORT train (SEED-IMP-001) + 1 arrived EXPORT train
  (SEED-EXP-001, proves exclusion); idempotent
- Train schedule service logic untouched (facade is SELECT-only)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 11:15:31 +00:00
Hagernesh
43ba3c790b feat(warehouse): Batch 5 seed — 3 EXPORT READY_FOR_LOADING+PASSED inventory items
Creates SEED-B5-EXP-001/002/003 bookings (ADDIS_ABABA→DJIBOUTI, PAID, BULK)
with warehouse inventory at READY_FOR_LOADING + inspectionStatus PASSED so the
Ready To Load tab has visible rows. Idempotent on guard reference check.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 19:45:07 +00:00
Marshal
54587a8c55 feat: add nationality selection and business license upload functionality
- Introduced a new step in the onboarding process to select company nationality (Ethiopian or Foreign).
- Updated API and service layers to handle nationality data for companies.
- Added support for uploading multiple business license files for each operational profile.
- Refactored company and forwarder forms to include new license upload step.
- Created a reusable RoleLicenseStep component for managing license file uploads.
- Implemented utility functions for phone number handling.
- Added migrations to update the database schema for nationality and business license files.
2026-06-20 08:28:01 +00:00
marshal
3ad18277ea Merge branch 'freight/develop' of github.com:Tria-plc/edr-platform into freight_feature/priority 2026-06-18 17:04:35 +03:00
Marshal
62038458f8 refactor: disable demo data seeders while retaining for easy re-enabling 2026-06-18 07:27:57 +00:00
Marshal
16bb0b5246 changes 2026-06-18 06:58:01 +00:00
Hagernesh
89d651693b automation of loading and unloading 2026-06-17 22:33:06 +00:00
Hagernesh
f528b75737 Warehouse 2026-06-17 12:44:57 +00:00
Marshal
648f4f2ee4 Add fleet management and admin permissions, and update controllers to enforce new permissions 2026-06-17 01:56:56 +00:00
Marshal
052829c7e6 Add freight demo data seeder and permissions management
- Introduced `DemoFreightDataSeeder` to seed demo freight data including wagons, approval rules, and staff users.
- Added `seed:freight-demo` script to `package.json` for easy execution.
- Updated permissions for operations officer and added permission checks in various components.
- Enhanced sidebar and booking actions to respect user permissions.
2026-06-16 15:28:10 +00:00
Hagernesh
d5a536956f Loading queque changes 2026-06-16 09:25:47 +00:00
marshal
00d1263f6d fix seed issue 2026-06-16 12:15:48 +03:00
Hagernesh
314e9b79cc Faciklity add 2026-06-16 09:06:11 +00:00
Marshal
7151bce288 changes 2026-06-16 08:56:52 +00:00
marshal
484151d909 payments 2026-06-14 15:59:52 +03:00
marshal
52c0639c8f Merge branch 'freight/develop' of github.com:Tria-plc/edr-platform into freight_feature/payments 2026-06-14 02:27:56 +03: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
yaschalew
12b6406d23 fix conflict 2026-06-13 10:45:26 +03:00
marshal
ef0abf1c41 auto allocation and batch managemnt, tracking the train 2026-06-12 11:42:46 +03:00
marshal
5774d7db9d booking operations and trains scheduling also allocations 2026-06-10 00:48:32 +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
Michael Abebe
e731051320 fix(freight): fixed some issues 2026-06-06 11:12:59 +03:00
marshal
3e3841cf6f changes 2026-06-06 10:08:55 +03:00
hagiye
dc42838a43 Trains management CRUD issues solved 2026-06-05 21:07:04 +03:00
Marshal
67037ba748 fix the seed for rules 2026-06-05 17:25:16 +00: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
ghost2023
a991139cc2 feat(bookings): Integrate auto-pricing into DRAFT booking UI, and refactor customer-company relationships across services. 2026-06-05 10:27:21 +03:00
Michael Abebe
cd907eb263 feat(freight:api): added additional booking entry 2026-06-04 17:08:41 +03:00
Michael Abebe
8b3aaad5fd feat(freight): basics of train scheduling 2026-06-04 16:50:38 +03:00
ghost2023
d61c3813cb feat(seed): Add file upload settings seeder for company onboarding 2026-06-04 15:40:38 +03:00
Michael Abebe
88a280eea2 WIP 2026-06-02 13:50:54 +03:00
Michael Abebe
2a489ca18d WIP 2026-06-02 12:12:28 +03:00
Michael Abebe
57776c4fef feat(freight:backoffice): role and permission seeder 2026-06-01 16:28:04 +03:00
Michael Abebe
426019ebf7 feat(iam:demo): added demo permissions for superadmin 2026-05-29 11:45:44 +03:00
Michael Abebe
be5f3e1811 feat(freight:backoffice): demo iam 2026-05-29 11:21:04 +03:00
Michael Abebe
516d2c8b45 feat(freight:backoffice): added org structure managemnet 2026-05-25 15:50:47 +03:00