namespace OrpaonVision.Model.Production; /// /// 运行部件判定模型。 /// public sealed class RunPartJudgmentModel { /// /// 判定ID。 /// public Guid JudgmentId { get; set; } /// /// 产品会话ID。 /// public Guid SessionId { get; set; } /// /// 层级会话ID。 /// public Guid LayerSessionId { get; set; } /// /// 部件序号(在层级中的序号)。 /// public int PartSequence { get; set; } /// /// 部件编码。 /// public string PartCode { get; set; } = string.Empty; /// /// 部件名称。 /// public string PartName { get; set; } = string.Empty; /// /// 检测到的类别。 /// public string DetectedClass { get; set; } = string.Empty; /// /// 置信度。 /// public decimal Confidence { get; set; } /// /// 边界框X坐标。 /// public float BoundingBoxX { get; set; } /// /// 边界框Y坐标。 /// public float BoundingBoxY { get; set; } /// /// 边界框宽度。 /// public float BoundingBoxWidth { get; set; } /// /// 边界框高度。 /// public float BoundingBoxHeight { get; set; } /// /// 实际中心点X坐标。 /// public float ActualCenterX { get; set; } /// /// 实际中心点Y坐标。 /// public float ActualCenterY { get; set; } /// /// 期望中心点X坐标。 /// public float ExpectedCenterX { get; set; } /// /// 期望中心点Y坐标。 /// public float ExpectedCenterY { get; set; } /// /// 位置偏差(像素)。 /// public float PositionDeviation { get; set; } /// /// 判定状态。 /// public RunPartJudgmentStatus Status { get; set; } /// /// 判定结果。 /// public RunPartJudgmentResult Result { get; set; } /// /// 判定规则ID。 /// public Guid? RuleId { get; set; } /// /// 判定规则名称。 /// public string? RuleName { get; set; } /// /// NG原因。 /// public string? NgReason { get; set; } /// /// 截图路径。 /// public string? ScreenshotPath { get; set; } /// /// 判定时间(UTC)。 /// public DateTime JudgedAtUtc { get; set; } /// /// 推理耗时(毫秒)。 /// public long InferenceTimeMs { 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 RunPartJudgmentStatus { /// /// 待检测。 /// Pending = 0, /// /// 检测中。 /// Detecting = 1, /// /// 已检测。 /// Detected = 2, /// /// 判定中。 /// Judging = 3, /// /// 已判定。 /// Judged = 4, /// /// 异常。 /// Error = 5 } /// /// 违行部件判定结果。 /// public enum RunPartJudgmentResult { /// /// 待定。 /// Pending = 0, /// /// 合格。 /// Ok = 1, /// /// 不合格。 /// Ng = 2, /// /// 缺失。 /// Missing = 3, /// /// 位置错误。 /// PositionError = 4, /// /// 禁装。 /// Forbidden = 5, /// /// 重复。 /// Duplicate = 6 }