refactor(train-scheduling): rename and restructure container movement logic

This commit is contained in:
Marshal
2026-07-21 23:49:10 +00:00
parent d25612c2f0
commit ed3c8307bb
13 changed files with 470 additions and 523 deletions

View File

@@ -28,7 +28,7 @@ import { GetEligibleBookingsDto } from "./dto/get-eligible-bookings.dto";
import { GetEligibleBulkBookingsDto } from "./dto/get-eligible-bulk-bookings.dto";
import { GetEligibleContainerBookingsDto } from "./dto/get-eligible-container-bookings.dto";
import { PinWagonsDto } from "./dto/pin-wagons.dto";
import { MoveContainerItemDto } from "./dto/move-container-item.dto";
import { MoveWagonLoadDto } from "./dto/move-wagon-load.dto";
import { UpdateContainerItemDto } from "./dto/update-container-item.dto";
import { UpdateImportLoadingStatusDto } from "./dto/update-import-loading-status.dto";
import { PreviewBulkTrainScheduleDto } from "./dto/preview-bulk-train-schedule.dto";
@@ -375,17 +375,18 @@ export class TrainSchedulingController {
return this.trainSchedulingService.updateContainerItem(id, itemId, dto);
}
@Post("schedules/:id/container-items/:itemId/move")
@Post("schedules/:id/wagons/:wagonId/move-load")
@TrainSchedulingManage()
@ApiOperation({
summary: "Move a container to another wagon (optionally swapping two containers)",
summary:
"Move a wagon's whole load to another wagon (empty → move/repin, loaded → swap loads)",
})
moveContainerItem(
moveWagonLoad(
@Param("id", ParseUUIDPipe) id: string,
@Param("itemId", ParseUUIDPipe) itemId: string,
@Body() dto: MoveContainerItemDto,
@Param("wagonId", ParseUUIDPipe) wagonId: string,
@Body() dto: MoveWagonLoadDto,
) {
return this.trainSchedulingService.moveContainerItem(id, itemId, dto);
return this.trainSchedulingService.moveWagonLoad(id, wagonId, dto);
}
@Get("schedules/:id/unassigned-bookings")