feat(train-scheduling): implement container movement between wagons

- Added functionality to move containers between wagons in the train scheduling system.
- Introduced  API endpoint and service method to handle container movement.
- Updated  component to support drag-and-drop for rearranging containers.
- Enhanced  to allow moving containers to other wagons via a context menu.
- Implemented UI feedback for container movement actions, including loading states and success/error notifications.
- Updated relevant types and constants to accommodate new container movement logic.
- Added tests for the rule engine to ensure proper handling of hazardous bookings.
This commit is contained in:
Marshal
2026-07-21 23:02:06 +00:00
parent 00a81fda15
commit 835c9e111c
35 changed files with 1896 additions and 154 deletions

View File

@@ -0,0 +1,14 @@
import { IsOptional, IsUUID } from 'class-validator';
export class MoveContainerItemDto {
@IsUUID()
targetTrainSetWagonId!: string;
/**
* Swap with this container on the target wagon instead of requiring free
* space there. Same-wagon swaps exchange the two slot positions.
*/
@IsUUID()
@IsOptional()
swapWithItemId?: string;
}