Commit Graph

149 Commits

Author SHA1 Message Date
Marshal
71894ae2d3 merge conflict 2026-07-02 13:43:07 +00:00
hagiye
5af45c2643 Customer Truck Assignment and Portal Delivary Approval 2026-07-02 15:54:16 +03:00
hagiye
14a00af341 train gate pass, Telebirr and Wafi 2026-07-01 16:23:52 +03:00
natib21
f436916c42 feat: complete maintenance tracking backend
Service/Controller/Module:
- scheduleMaintenanceAsync: schedule work
- recordMaintenanceCost: log expenses
- getUpcomingMaintenance: due items
- getVehicleMaintenanceStats: cost aggregation

Endpoints:
- POST /maintenance/schedules
- POST /maintenance/costs
- PATCH /maintenance/schedules/:id
- GET /maintenance/upcoming/:vehicleId
- GET /maintenance/history/:vehicleId
- GET /maintenance/stats/:vehicleId

Migration: idempotent maintenance tables creation

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-30 12:33:29 +00:00
natib21
df6e417a56 feat: add fuel management system backend
- FuelPurchase entity: record fuel purchases with cost tracking
- FuelConsumption entity: monthly aggregation of fuel metrics
- FuelService: record purchases, calculate stats, efficiency
- FuelController: REST API for fuel operations
- FuelModule: integrated into app
- Migration: create fuel_purchases and fuel_consumption tables

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-30 10:07:13 +00:00
Nathnael Wondisha
4cf8e89780 Merge branch 'dev' into freight/feat/invoice 2026-06-29 17:24:29 +03:00
Nathnael
c37e8acfdc Merge branch 'dev' into freight/feat/invoice 2026-06-29 10:58:12 +00:00
hagiye
9176df5e4b Marshaling document Receive Export and import handover to customer 2026-06-29 13:48:58 +03:00
marshal
1c01c792fc merge conflict 2026-06-29 12:45:40 +03:00
hagiye
d55f9312bf Marshaling document Receive Export and import handover to customer 2026-06-29 12:24:14 +03:00
Nathnael
5bad245ce8 feat: setup billing services 2026-06-29 07:11:52 +00:00
hagiye
fee4365b70 Import operation gate pass 2026-06-27 21:04:27 +03:00
hagiye
3decc9aeea interchange document generation and acknowledgement 2026-06-27 13:39:42 +03:00
Nathnael
98e34593c4 feat: add government support to the companies. add seeding and constrain on booking 2026-06-27 09:08:15 +00:00
Marshal
01d53c218c contrat,booking,global logestic 2026-06-26 23:24:48 +00:00
hagiye
f4a90755c2 api 2026-06-25 11:00:40 +03:00
hagiye
8ee31789c6 merge conflict fix 2026-06-24 12:31:59 +03:00
hagiye
0255adffe6 changes 2026-06-24 09:56:12 +03:00
marshal
02427f72f1 Merge pull request #243 from Tria-plc/freight_feature/profile
Freight feature/profile
2026-06-22 15:49:25 +03:00
Marshal
b031ddb204 Merge branch 'freight/develop' of github.com:Tria-plc/edr-platform into freight_feature/priority 2026-06-22 11:43:38 +00:00
yaschalew
7f51f24a77 fix conflict 2026-06-22 14:23:43 +03:00
natib21
6b1bbd8e59 last mile 2026-06-22 07:58:56 +00:00
natib21
00d722fa4f last mile 2026-06-22 07:49:47 +00:00
hagiye
79efa1ec60 Warehouses confilct fix 2026-06-21 19:06:51 +03:00
Hagernesh
0939202c8f Merge freight/develop into Warehouse_updates 2026-06-21 15:41:32 +00:00
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
b6d5047d27 feat: Implement general contract booking orders functionality
- Add DTOs for creating booking orders and viewing contract quantities.
- Create entities for booking orders and booking order lines.
- Implement service for managing general contract operations, including activation after payment and retrieving quantity lines.
- Develop UI components for contract detail and list pages, including order placement dialog.
- Integrate API service for booking orders, enabling listing and creating orders against contracts.
- Enhance contract status display and quantity pool visualization in the UI.
2026-06-20 19:31:51 +00:00
natib21
b47fb2c475 fix data table 2026-06-20 09:54:05 +00:00
hagiye
a8cdbdf386 Warehouse Enhancemendt 2026-06-20 11:49:22 +03:00
Nathnael Wondisha
1ea2f065c6 Merge branch 'freight/develop' into freight/feat/company-profile 2026-06-18 17:48:07 +03: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
ghost2023
81a495ec61 refactor: cut off the old customre entity 2026-06-18 14:41:16 +03:00
natib21
fc702f0fbe driver 2026-06-18 09:46:35 +00:00
marshal
aef1214d1e Merge branch 'dev' of github.com:Tria-plc/edr-platform into freight_feature/priority 2026-06-18 10:29:42 +03:00
Marshal
62038458f8 refactor: disable demo data seeders while retaining for easy re-enabling 2026-06-18 07:27:57 +00:00
natib21
58fcf9ce3f fix data integrity issue 2026-06-18 07:13:08 +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
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
Marshal
524d3b6418 add reusable per-user contract signatures with profile prefill and approval 2026-06-16 13:34:04 +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
hagiye
f5d6d8e7da Batch 1 to 3 implementation 2026-06-16 11:36:24 +03:00
marshal
484151d909 payments 2026-06-14 15:59:52 +03:00
Marshal
cde3e462ba automate the schedule 2026-06-11 19:42:23 +00:00
Hagernesh
c2b5b3b926 Merge freight/develop into Warehouses 2026-06-11 19:26:21 +00:00