Initial commit
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
namespace RobotNet10.FleetManager.Services.TrafficControl.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a complete route for a robot with Base and Horizon segments
|
||||
/// </summary>
|
||||
public class RobotRoute
|
||||
{
|
||||
/// <summary>
|
||||
/// Robot ID (SerialNumber)
|
||||
/// </summary>
|
||||
public string RobotId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Order ID from VDA5050
|
||||
/// </summary>
|
||||
public string OrderId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Order Update ID from VDA5050
|
||||
/// </summary>
|
||||
public int OrderUpdateId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Full route (Base + Horizon)
|
||||
/// </summary>
|
||||
public List<RouteSegment> FullRoute { get; set; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// Base: Released segments that robot is currently executing
|
||||
/// </summary>
|
||||
public List<RouteSegment> Base { get; set; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// Horizon: Unreleased segments waiting for conditions
|
||||
/// </summary>
|
||||
public List<RouteSegment> Horizon { get; set; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// Current position index in the route
|
||||
/// </summary>
|
||||
public int CurrentSegmentIndex { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Route creation timestamp
|
||||
/// </summary>
|
||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||||
|
||||
/// <summary>
|
||||
/// Last update timestamp
|
||||
/// </summary>
|
||||
public DateTime LastUpdated { get; set; } = DateTime.UtcNow;
|
||||
|
||||
/// <summary>
|
||||
/// Number of reroute attempts for this route (to prevent infinite rerouting)
|
||||
/// </summary>
|
||||
public int RerouteAttempts { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Node ID where robot should wait (if WaitAtNode resolution is applied)
|
||||
/// </summary>
|
||||
public Guid? WaitNodeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Time until which robot should wait at WaitNodeId (if WaitAtNode resolution is applied)
|
||||
/// </summary>
|
||||
public DateTime? WaitUntil { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user