namespace OrpaonVision.Model.Production;
///
/// 运行状态转换日志模型。
///
public sealed class RunStateTransitionLogModel
{
///
/// 日志ID。
///
public Guid LogId { get; set; }
///
/// 产品会话ID。
///
public Guid SessionId { get; set; }
///
/// 层级会话ID(可选)。
///
public Guid? LayerSessionId { get; set; }
///
/// 转换前状态。
///
public string FromState { get; set; } = string.Empty;
///
/// 转换后状态。
///
public string ToState { get; set; } = string.Empty;
///
/// 触发事件。
///
public string TriggerEvent { get; set; } = string.Empty;
///
/// 转换原因。
///
public string Reason { get; set; } = string.Empty;
///
/// 转换类型。
///
public RunStateTransitionType TransitionType { get; set; }
///
/// 操作者ID。
///
public string? OperatorId { get; set; }
///
/// 操作者姓名。
///
public string? OperatorName { get; set; }
///
/// 是否人工干预。
///
public bool IsManualIntervention { get; set; }
///
/// 关联数据(JSON格式)。
///
public string? ContextJson { get; set; }
///
/// 截图路径(可选)。
///
public string? ScreenshotPath { get; set; }
///
/// 转换时间(UTC)。
///
public DateTime TransitionAtUtc { get; set; }
///
/// 处理耗时(毫秒)。
///
public long ProcessingTimeMs { get; set; }
///
/// 错误信息(如果有)。
///
public string? ErrorMessage { get; set; }
///
/// 创建时间(UTC)。
///
public DateTime CreatedAtUtc { get; set; }
///
/// 创建人。
///
public string CreatedBy { get; set; } = string.Empty;
}
///
/// 运行状态转换类型。
///
public enum RunStateTransitionType
{
///
/// 自动转换。
///
Automatic = 0,
///
/// 人工干预。
///
Manual = 1,
///
/// 系统触发。
///
System = 2,
///
/// 错误恢复。
///
ErrorRecovery = 3,
///
/// 超时处理。
///
Timeout = 4,
///
/// 异常终止。
///
Exception = 5
}