mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-26 18:42:49 +00:00
feat(intercity): show intercity cargo across every train
Intercity bookings never get their own train — they ride whichever import/export train passes through their corridor — so the work is scattered across other people's schedules and there was nowhere to see it as a whole. The per-schedule ride-along panel answers "what can THIS train carry"; this answers "what is happening to intercity cargo". Purely additive: the existing ride-along panel and the schedule detail page are untouched, and loading/unloading still happens there, where the train's position is confirmed. This is a read-only view that points back to it. Each row carries both ends' facility status, because a booking whose origin or destination has no equipment can never be worked there — the operator should see that while the train is still coming, not when the load is refused. Those bookings are counted and called out. New GET /train-scheduling/intercity/bookings; the type is IntercityRideAlongRow, not IntercityBookingRow, which already means the per-schedule candidate row. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -459,6 +459,16 @@ export class TrainSchedulingController {
|
||||
return this.trainSchedulingService.dispatchSchedule(id);
|
||||
}
|
||||
|
||||
@Get("intercity/bookings")
|
||||
@TrainSchedulingView()
|
||||
@ApiOperation({
|
||||
summary:
|
||||
"Every intercity booking with its ride-along state, both yards' facility status, and where its train is",
|
||||
})
|
||||
listIntercityBookings() {
|
||||
return this.intercityService.listBookings();
|
||||
}
|
||||
|
||||
@Get("schedules/:id/intercity-candidates")
|
||||
@TrainSchedulingView()
|
||||
@ApiOperation({
|
||||
|
||||
Reference in New Issue
Block a user