231 lines
4.6 KiB
C#
231 lines
4.6 KiB
C#
namespace OrpaonVision.Model.Production;
|
||
|
||
/// <summary>
|
||
/// 检测记录模型。
|
||
/// </summary>
|
||
public sealed class DetectionRecordModel
|
||
{
|
||
/// <summary>
|
||
/// 记录ID。
|
||
/// </summary>
|
||
public Guid Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 产品会话ID。
|
||
/// </summary>
|
||
public Guid SessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 层级会话ID。
|
||
/// </summary>
|
||
public Guid LayerSessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 检测时间(UTC)。
|
||
/// </summary>
|
||
public DateTime DetectedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 模型名称。
|
||
/// </summary>
|
||
public string ModelName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 模型版本。
|
||
/// </summary>
|
||
public string ModelVersion { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 推理耗时(毫秒)。
|
||
/// </summary>
|
||
public double InferenceTimeMs { get; set; }
|
||
|
||
/// <summary>
|
||
/// 检测结果JSON。
|
||
/// </summary>
|
||
public string DetectionResultJson { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 检测到的目标数量。
|
||
/// </summary>
|
||
public int DetectedObjectCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 图像路径。
|
||
/// </summary>
|
||
public string? ImagePath { get; set; }
|
||
|
||
/// <summary>
|
||
/// 图像宽度。
|
||
/// </summary>
|
||
public int ImageWidth { get; set; }
|
||
|
||
/// <summary>
|
||
/// 图像高度。
|
||
/// </summary>
|
||
public int ImageHeight { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否为NG检测。
|
||
/// </summary>
|
||
public bool IsNgDetection { get; set; }
|
||
|
||
/// <summary>
|
||
/// 规则引擎判定结果JSON。
|
||
/// </summary>
|
||
public string? RuleEngineResultJson { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建时间(UTC)。
|
||
/// </summary>
|
||
public DateTime CreatedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建人。
|
||
/// </summary>
|
||
public string CreatedBy { get; set; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 异常记录模型。
|
||
/// </summary>
|
||
public sealed class ExceptionRecordModel
|
||
{
|
||
/// <summary>
|
||
/// 记录ID。
|
||
/// </summary>
|
||
public Guid Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 产品会话ID。
|
||
/// </summary>
|
||
public Guid SessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 层级会话ID。
|
||
/// </summary>
|
||
public Guid? LayerSessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 异常类型。
|
||
/// </summary>
|
||
public ExceptionType Type { get; set; }
|
||
|
||
/// <summary>
|
||
/// 异常代码。
|
||
/// </summary>
|
||
public string ExceptionCode { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 异常消息。
|
||
/// </summary>
|
||
public string ExceptionMessage { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 异常详情JSON。
|
||
/// </summary>
|
||
public string? ExceptionDetailJson { get; set; }
|
||
|
||
/// <summary>
|
||
/// 发生时间(UTC)。
|
||
/// </summary>
|
||
public DateTime OccurredAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 严重程度。
|
||
/// </summary>
|
||
public ExceptionSeverity Severity { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否已处理。
|
||
/// </summary>
|
||
public bool IsHandled { get; set; }
|
||
|
||
/// <summary>
|
||
/// 处理时间(UTC)。
|
||
/// </summary>
|
||
public DateTime? HandledAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 处理人。
|
||
/// </summary>
|
||
public string? HandledBy { get; set; }
|
||
|
||
/// <summary>
|
||
/// 处理方式。
|
||
/// </summary>
|
||
public string? HandlingMethod { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建时间(UTC)。
|
||
/// </summary>
|
||
public DateTime CreatedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建人。
|
||
/// </summary>
|
||
public string CreatedBy { get; set; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 异常类型枚举。
|
||
/// </summary>
|
||
public enum ExceptionType
|
||
{
|
||
/// <summary>
|
||
/// 相机异常。
|
||
/// </summary>
|
||
Camera = 0,
|
||
|
||
/// <summary>
|
||
/// 推理异常。
|
||
/// </summary>
|
||
Inference = 1,
|
||
|
||
/// <summary>
|
||
/// 规则引擎异常。
|
||
/// </summary>
|
||
RuleEngine = 2,
|
||
|
||
/// <summary>
|
||
/// 状态机异常。
|
||
/// </summary>
|
||
StateMachine = 3,
|
||
|
||
/// <summary>
|
||
/// 系统异常。
|
||
/// </summary>
|
||
System = 4,
|
||
|
||
/// <summary>
|
||
/// 业务异常。
|
||
/// </summary>
|
||
Business = 5
|
||
}
|
||
|
||
/// <summary>
|
||
/// 异常严重程度枚举。
|
||
/// </summary>
|
||
public enum ExceptionSeverity
|
||
{
|
||
/// <summary>
|
||
/// 低。
|
||
/// </summary>
|
||
Low = 0,
|
||
|
||
/// <summary>
|
||
/// 中。
|
||
/// </summary>
|
||
Medium = 1,
|
||
|
||
/// <summary>
|
||
/// 高。
|
||
/// </summary>
|
||
High = 2,
|
||
|
||
/// <summary>
|
||
/// 严重。
|
||
/// </summary>
|
||
Critical = 3
|
||
}
|