This commit is contained in:
2026-04-06 22:38:23 +08:00
parent 71e099ca8e
commit d554e9e659
10 changed files with 1225 additions and 0 deletions

View File

@@ -0,0 +1,174 @@
namespace OrpaonVision.Model.Production;
/// <summary>
/// 运行层级会话模型。
/// </summary>
public sealed class RunLayerSessionModel
{
/// <summary>
/// 层级会话ID。
/// </summary>
public Guid LayerSessionId { 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 string LayerCode { get; set; } = string.Empty;
/// <summary>
/// 开始时间UTC
/// </summary>
public DateTime StartedAtUtc { get; set; }
/// <summary>
/// 结束时间UTC
/// </summary>
public DateTime? EndedAtUtc { get; set; }
/// <summary>
/// 层级状态。
/// </summary>
public RunLayerSessionStatus Status { get; set; }
/// <summary>
/// 检测到的部件数量。
/// </summary>
public int DetectedPartsCount { get; set; }
/// <summary>
/// 合格部件数量。
/// </summary>
public int QualifiedPartsCount { get; set; }
/// <summary>
/// NG部件数量。
/// </summary>
public int NgPartsCount { get; set; }
/// <summary>
/// 处理的图像数量。
/// </summary>
public int ProcessedImageCount { get; set; }
/// <summary>
/// 首张截图路径。
/// </summary>
public string? FirstScreenshotPath { get; set; }
/// <summary>
/// 末张截图路径。
/// </summary>
public string? LastScreenshotPath { get; set; }
/// <summary>
/// 层级结果。
/// </summary>
public RunLayerSessionResult Result { get; set; }
/// <summary>
/// NG原因描述。
/// </summary>
public string? NgReason { get; set; }
/// <summary>
/// 处理耗时(毫秒)。
/// </summary>
public long ProcessingTimeMs { 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 RunLayerSessionStatus
{
/// <summary>
/// 未开始。
/// </summary>
NotStarted = 0,
/// <summary>
/// 进行中。
/// </summary>
InProgress = 1,
/// <summary>
/// 已完成OK
/// </summary>
CompletedOk = 2,
/// <summary>
/// 已完成NG
/// </summary>
CompletedNg = 3,
/// <summary>
/// 已跳过。
/// </summary>
Skipped = 4,
/// <summary>
/// 异常终止。
/// </summary>
Error = 5
}
/// <summary>
/// 运行层级会话结果。
/// </summary>
public enum RunLayerSessionResult
{
/// <summary>
/// 待定。
/// </summary>
Pending = 0,
/// <summary>
/// 合格。
/// </summary>
Ok = 1,
/// <summary>
/// 不合格。
/// </summary>
Ng = 2,
/// <summary>
/// 跳过。
/// </summary>
Skipped = 3
}