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

221 lines
4.4 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.Configuration;
/// <summary>
/// 层级配置模型。
/// </summary>
public sealed class LayerConfigModel
{
/// <summary>
/// 层级ID。
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// 机种ID。
/// </summary>
public Guid ProductTypeId { get; set; }
/// <summary>
/// 层级序号。
/// </summary>
public int LayerNumber { get; set; }
/// <summary>
/// 层级名称。
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 层级描述。
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 层级状态。
/// </summary>
public LayerConfigStatus Status { get; set; }
/// <summary>
/// 切换条件JSON。
/// </summary>
public string? SwitchConditionJson { get; set; }
/// <summary>
/// 超时时间(秒)。
/// </summary>
public int TimeoutSeconds { get; set; }
/// <summary>
/// 是否必须完成。
/// </summary>
public bool IsRequired { get; set; }
/// <summary>
/// 排序序号。
/// </summary>
public int SortOrder { 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 string? Remark { get; set; }
}
/// <summary>
/// 层级配置状态枚举。
/// </summary>
public enum LayerConfigStatus
{
/// <summary>
/// 启用。
/// </summary>
Enabled = 0,
/// <summary>
/// 禁用。
/// </summary>
Disabled = 1,
/// <summary>
/// 隐藏。
/// </summary>
Hidden = 2
}
/// <summary>
/// 部件配置模型。
/// </summary>
public sealed class ComponentConfigModel
{
/// <summary>
/// 部件ID。
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// 层级ID。
/// </summary>
public Guid LayerConfigId { get; set; }
/// <summary>
/// 部件编码。
/// </summary>
public string Code { get; set; } = string.Empty;
/// <summary>
/// 部件名称。
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 部件描述。
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 部件状态。
/// </summary>
public ComponentConfigStatus Status { get; set; }
/// <summary>
/// 数量要求。
/// </summary>
public int RequiredQuantity { get; set; }
/// <summary>
/// 数量容差。
/// </summary>
public int QuantityTolerance { get; set; }
/// <summary>
/// 类别ID对应检测类别
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 类别名称。
/// </summary>
public string ClassName { get; set; } = string.Empty;
/// <summary>
/// 最小置信度。
/// </summary>
public float MinConfidence { get; set; }
/// <summary>
/// 是否关键部件。
/// </summary>
public bool IsKeyComponent { get; set; }
/// <summary>
/// 排序序号。
/// </summary>
public int SortOrder { 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 string? Remark { get; set; }
}
/// <summary>
/// 部件配置状态枚举。
/// </summary>
public enum ComponentConfigStatus
{
/// <summary>
/// 启用。
/// </summary>
Enabled = 0,
/// <summary>
/// 禁用。
/// </summary>
Disabled = 1,
/// <summary>
/// 可选。
/// </summary>
Optional = 2
}