namespace OrpaonVision.Model.Production; /// /// 运行层级会话模型。 /// public sealed class RunLayerSessionModel { /// /// 层级会话ID。 /// public Guid LayerSessionId { get; set; } /// /// 产品会话ID。 /// public Guid SessionId { get; set; } /// /// 层级序号。 /// public int LayerNumber { get; set; } /// /// 层级名称。 /// public string LayerName { get; set; } = string.Empty; /// /// 层级编码。 /// public string LayerCode { get; set; } = string.Empty; /// /// 开始时间(UTC)。 /// public DateTime StartedAtUtc { get; set; } /// /// 结束时间(UTC)。 /// public DateTime? EndedAtUtc { get; set; } /// /// 层级状态。 /// public RunLayerSessionStatus Status { get; set; } /// /// 检测到的部件数量。 /// public int DetectedPartsCount { get; set; } /// /// 合格部件数量。 /// public int QualifiedPartsCount { get; set; } /// /// NG部件数量。 /// public int NgPartsCount { get; set; } /// /// 处理的图像数量。 /// public int ProcessedImageCount { get; set; } /// /// 首张截图路径。 /// public string? FirstScreenshotPath { get; set; } /// /// 末张截图路径。 /// public string? LastScreenshotPath { get; set; } /// /// 层级结果。 /// public RunLayerSessionResult Result { get; set; } /// /// NG原因描述。 /// public string? NgReason { get; set; } /// /// 处理耗时(毫秒)。 /// public long ProcessingTimeMs { get; set; } /// /// 创建时间(UTC)。 /// public DateTime CreatedAtUtc { get; set; } /// /// 更新时间(UTC)。 /// public DateTime UpdatedAtUtc { get; set; } /// /// 创建人。 /// public string CreatedBy { get; set; } = string.Empty; /// /// 更新人。 /// public string UpdatedBy { get; set; } = string.Empty; } /// /// 运行层级会话状态。 /// public enum RunLayerSessionStatus { /// /// 未开始。 /// NotStarted = 0, /// /// 进行中。 /// InProgress = 1, /// /// 已完成(OK)。 /// CompletedOk = 2, /// /// 已完成(NG)。 /// CompletedNg = 3, /// /// 已跳过。 /// Skipped = 4, /// /// 异常终止。 /// Error = 5 } /// /// 运行层级会话结果。 /// public enum RunLayerSessionResult { /// /// 待定。 /// Pending = 0, /// /// 合格。 /// Ok = 1, /// /// 不合格。 /// Ng = 2, /// /// 跳过。 /// Skipped = 3 }