Files
OrpaonVision/OrpaonVision.Model/Production/LayerSessionModel.cs
2026-04-06 22:04:05 +08:00

150 lines
2.9 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}