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
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
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
b7a831b063
feat(warehouse): route-based receive direction + Export Receive Queue (Batch 2)
...
- Direction derived from route via existing deriveTradeDirection (eligible-bookings,
bulk receive guard, getBookingDirection) instead of stored trade_direction
- Export tab sub-tabs (Receive Queue + Ready-to-Load/Loaded/Dispatch placeholders)
- Receive Queue: full column set + per-row Receive; eligible-bookings adds customerId
- create/update warehouse: map DB errors to 400; dashboard: distinct per-status colors
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 10:26:50 +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
d7352ba4e8
fix(warehouse): import TableColumn in allocation/fee migration
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 12:25:18 +00:00
Hagernesh
e40318c847
Dashboard enhancement
2026-06-19 11:29:05 +00:00
Hagernesh
f32d3d76e3
fix(warehouse): resolve migration timestamp collisions for Batch 5/6
...
- Rename 1790000000000/1 (collided with CreateWarehouseModule / WarehouseBatch2)
to 1791000000000/1 so they sort after the existing warehouse migrations
- Make Batch 5 migration idempotent (createTable ifNotExists + ADD COLUMN IF NOT EXISTS)
so it is safe whether or not it already ran
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 11:29:05 +00:00
natib21
398bc9330e
fix migration
2026-06-18 09:11:10 +00:00
Hagernesh
be12a9d496
fee invoice frontend
2026-06-18 00:12:59 +00:00
Hagernesh
3860d17304
demurrage invoices
2026-06-18 00:05:50 +00:00
Hagernesh
33b74a5da9
demurrage invoices
2026-06-18 00:04:07 +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
270e39edd6
fix: post-merge cleanup after freight/develop merge
...
- Remove orphaned container publish route (service method dropped on develop)
- turbo.json concurrency as string "12" (parse + 11 persistent-task limit)
- database.config: synchronize false (migrations only; fixes weight_limit_rules boot crash)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 23:04:48 +00:00
Hagernesh
8db8bb1808
automation of loading and unloading
2026-06-17 22:33:51 +00:00
Hagernesh
89d651693b
automation of loading and unloading
2026-06-17 22:33:06 +00:00
Hagernesh
ff79657018
automation
2026-06-17 22:16:01 +00:00
Hagernesh
5a6e1ef363
automation
2026-06-17 22:01:47 +00:00
Hagernesh
5b8cb16c1a
automation
2026-06-17 22:00:53 +00:00
Hagernesh
1db1467ea1
automated loading and unloading
2026-06-17 21:45:22 +00:00
Hagernesh
f528b75737
Warehouse
2026-06-17 12:44:57 +00:00
Nathnael Wondisha
c256784b17
Merge pull request #199 from Tria-plc/dev
...
Syning develop from dev
2026-06-17 15:03:12 +03:00
Yonas Tewabe
2a9729304f
Update .gitignore
2026-06-17 14:54:11 +03:00
Yonas Tewabe
1ad1999b2f
Update tailwind.config.js
2026-06-17 14:53:45 +03:00
Yonas Tewabe
3e618c8f71
Update tailwind.config.js
2026-06-17 14:52:59 +03:00
Yonas Tewabe
999a58011c
Update deploy.yml
2026-06-17 04:00:10 -07:00
Nathnael Wondisha
52f0fd7e62
Merge pull request #198 from Tria-plc/freight/fix/hot-fixes
...
Freight/fix/hot fixes
2026-06-17 13:43:58 +03:00
ghost2023
a4a58d264a
fix
2026-06-17 13:43:35 +03:00
ghost2023
dcb2de7631
fix: settings page
2026-06-17 13:34:23 +03:00
ghost2023
2a0f16241b
fix: improve the setting onboarding flow
2026-06-17 13:17:09 +03:00
ghost2023
e007b28285
fix: type errors
2026-06-17 13:16:06 +03:00
Sennay
b6cbfd2c1f
Force recreate containers during deployment
...
Added --force-recreate option to docker compose command.
2026-06-17 12:59:06 +03:00
Sennay
f4d7b5c87b
Update Docker build command in deploy.yml
...
Remove the --no-cache option from the Docker build command.
2026-06-17 12:44:54 +03:00
Sennay
d348be5879
Remove rabbitmq dependency conditions
...
Removed 'depends_on' condition for rabbitmq service in both passenger and payment APIs.
2026-06-17 12:40:16 +03:00
Yonas Tewabe
12574768de
Update docker-compose.yaml
2026-06-17 12:38:01 +03:00
Yonas Tewabe
b2f1cec37e
Remove concurrency settings from deploy.yml
...
Removed concurrency settings from the deploy workflow.
2026-06-17 12:25:33 +03:00
Abubeker Yasin
4ba91400d6
Merge pull request #196 from Tria-plc/feat/payment-microservice
...
fix: ( telebirr ) fix webhook return types
2026-06-17 12:12:34 +03:00
Abubeker Yasin
1b6bc47026
fix: ( telebirr ) fix webhook return types
2026-06-17 12:04:00 +03:00
Nathnael Wondisha
cae2848db7
Merge pull request #195 from Tria-plc/freight/feat/portal-fixes
...
Freight/feat/portal fixes
2026-06-17 11:02:33 +03:00
Nathnael
8b7dcdb897
fixes
2026-06-17 08:00:58 +00:00
Nathnael
24f314150c
fix
2026-06-17 08:00:58 +00:00
Nathnael
c59e100e5e
style: ui fix in scheduling
2026-06-17 08:00:58 +00:00
Nathnael Wondisha
585d86b8af
Merge pull request #194 from Tria-plc/freight/develop
...
Freight/develop
2026-06-17 10:19:59 +03:00
Nathnael Wondisha
815c3f4548
Merge branch 'dev' into freight/develop
2026-06-17 10:19:43 +03:00
Nathnael Wondisha
fc514bb6be
Merge pull request #193 from Tria-plc/freight/feat/portal-fixes
...
Freight/feat/portal fixes
2026-06-17 10:18:24 +03:00
ghost2023
c96c863070
fix
2026-06-17 10:15:14 +03:00
Nathnael
3919464acb
fix: the route direction
2026-06-17 07:14:21 +00:00
Nathnael
4f20b07d81
refactor: the portal dashboard
2026-06-17 07:02:15 +00:00
marshal
e9de1e8f0f
Merge pull request #192 from Tria-plc/freight_feature/priority
...
Switch payment API URL from localhost to production domain in payment…
2026-06-17 09:33:53 +03:00