150 lines
2.9 KiB
C#
150 lines
2.9 KiB
C#
namespace OrpaonVision.Model.Production;
|
||
|
||
/// <summary>
|
||
/// 层级会话记录模型。
|
||
/// </summary>
|
||
public sealed class LayerSessionModel
|
||
{
|
||
/// <summary>
|
||
/// 记录ID。
|
||
/// </summary>
|
||
public Guid Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 产品会话ID。
|
||
/// </summary>
|
||
public Guid SessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 层级序号。
|
||
/// </summary>
|
||
public int LayerNumber { get; set; }
|
||
|
||
/// <summary>
|
||
/// 层级名称。
|
||
/// </summary>
|
||
public string LayerName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 层级状态。
|
||
/// </summary>
|
||
public LayerSessionStatus Status { get; set; }
|
||
|
||
/// <summary>
|
||
/// 开始时间(UTC)。
|
||
/// </summary>
|
||
public DateTime StartedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 结束时间(UTC)。
|
||
/// </summary>
|
||
public DateTime? EndedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 层级结果。
|
||
/// </summary>
|
||
public LayerSessionResult Result { get; set; }
|
||
|
||
/// <summary>
|
||
/// 检测到的部件数量。
|
||
/// </summary>
|
||
public int DetectedComponentCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 应装部件数量。
|
||
/// </summary>
|
||
public int RequiredComponentCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// NG原因。
|
||
/// </summary>
|
||
public string? NgReason { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关键截图路径。
|
||
/// </summary>
|
||
public string? KeyScreenshotPath { get; set; }
|
||
|
||
/// <summary>
|
||
/// 层级快照JSON。
|
||
/// </summary>
|
||
public string? LayerSnapshotJson { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建时间(UTC)。
|
||
/// </summary>
|
||
public DateTime CreatedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新时间(UTC)。
|
||
/// </summary>
|
||
public DateTime UpdatedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建人。
|
||
/// </summary>
|
||
public string CreatedBy { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 更新人。
|
||
/// </summary>
|
||
public string UpdatedBy { get; set; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 层级会话状态枚举。
|
||
/// </summary>
|
||
public enum LayerSessionStatus
|
||
{
|
||
/// <summary>
|
||
/// 未开始。
|
||
/// </summary>
|
||
NotStarted = 0,
|
||
|
||
/// <summary>
|
||
/// 进行中。
|
||
/// </summary>
|
||
InProgress = 1,
|
||
|
||
/// <summary>
|
||
/// 已完成(OK)。
|
||
/// </summary>
|
||
CompletedOk = 2,
|
||
|
||
/// <summary>
|
||
/// 已完成(NG)。
|
||
/// </summary>
|
||
CompletedNg = 3,
|
||
|
||
/// <summary>
|
||
/// 已跳过。
|
||
/// </summary>
|
||
Skipped = 4
|
||
}
|
||
|
||
/// <summary>
|
||
/// 层级会话结果枚举。
|
||
/// </summary>
|
||
public enum LayerSessionResult
|
||
{
|
||
/// <summary>
|
||
/// 待定。
|
||
/// </summary>
|
||
Pending = 0,
|
||
|
||
/// <summary>
|
||
/// 合格。
|
||
/// </summary>
|
||
Ok = 1,
|
||
|
||
/// <summary>
|
||
/// 不合格。
|
||
/// </summary>
|
||
Ng = 2,
|
||
|
||
/// <summary>
|
||
/// 跳过。
|
||
/// </summary>
|
||
Skipped = 3
|
||
}
|