版本260406
This commit is contained in:
220
OrpaonVision.Model/Configuration/LayerConfigModel.cs
Normal file
220
OrpaonVision.Model/Configuration/LayerConfigModel.cs
Normal file
@@ -0,0 +1,220 @@
|
||||
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
|
||||
}
|
||||
113
OrpaonVision.Model/Configuration/ProductTypeModel.cs
Normal file
113
OrpaonVision.Model/Configuration/ProductTypeModel.cs
Normal file
@@ -0,0 +1,113 @@
|
||||
namespace OrpaonVision.Model.Configuration;
|
||||
|
||||
/// <summary>
|
||||
/// 机种配置模型。
|
||||
/// </summary>
|
||||
public sealed class ProductTypeModel
|
||||
{
|
||||
/// <summary>
|
||||
/// 机种ID。
|
||||
/// </summary>
|
||||
public Guid Id { 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 ProductTypeStatus Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 总层级数。
|
||||
/// </summary>
|
||||
public int TotalLayers { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 默认相机配置。
|
||||
/// </summary>
|
||||
public string? DefaultCameraConfig { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 默认模型配置。
|
||||
/// </summary>
|
||||
public string? DefaultModelConfig { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否已发布。
|
||||
/// </summary>
|
||||
public bool IsPublished { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发布时间(UTC)。
|
||||
/// </summary>
|
||||
public DateTime? PublishedAtUtc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发布人。
|
||||
/// </summary>
|
||||
public string? PublishedBy { 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 ProductTypeStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 草稿。
|
||||
/// </summary>
|
||||
Draft = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 已发布。
|
||||
/// </summary>
|
||||
Published = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 已停用。
|
||||
/// </summary>
|
||||
Disabled = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 已归档。
|
||||
/// </summary>
|
||||
Archived = 3
|
||||
}
|
||||
287
OrpaonVision.Model/Configuration/RoiConfigModel.cs
Normal file
287
OrpaonVision.Model/Configuration/RoiConfigModel.cs
Normal file
@@ -0,0 +1,287 @@
|
||||
namespace OrpaonVision.Model.Configuration;
|
||||
|
||||
/// <summary>
|
||||
/// ROI配置模型。
|
||||
/// </summary>
|
||||
public sealed class RoiConfigModel
|
||||
{
|
||||
/// <summary>
|
||||
/// ROI ID。
|
||||
/// </summary>
|
||||
public Guid Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 部件ID。
|
||||
/// </summary>
|
||||
public Guid ComponentConfigId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ROI名称。
|
||||
/// </summary>
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// ROI描述。
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ROI类型。
|
||||
/// </summary>
|
||||
public RoiType Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// X坐标(相对坐标,0-1)。
|
||||
/// </summary>
|
||||
public double X { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Y坐标(相对坐标,0-1)。
|
||||
/// </summary>
|
||||
public double Y { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 宽度(相对坐标,0-1)。
|
||||
/// </summary>
|
||||
public double Width { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 高度(相对坐标,0-1)。
|
||||
/// </summary>
|
||||
public double Height { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ROI状态。
|
||||
/// </summary>
|
||||
public RoiStatus Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用。
|
||||
/// </summary>
|
||||
public bool IsEnabled { 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>
|
||||
/// ROI类型枚举。
|
||||
/// </summary>
|
||||
public enum RoiType
|
||||
{
|
||||
/// <summary>
|
||||
/// 矩形。
|
||||
/// </summary>
|
||||
Rectangle = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 圆形。
|
||||
/// </summary>
|
||||
Circle = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 多边形。
|
||||
/// </summary>
|
||||
Polygon = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 椭圆形。
|
||||
/// </summary>
|
||||
Ellipse = 3
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ROI状态枚举。
|
||||
/// </summary>
|
||||
public enum RoiStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 启用。
|
||||
/// </summary>
|
||||
Enabled = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 禁用。
|
||||
/// </summary>
|
||||
Disabled = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 隐藏。
|
||||
/// </summary>
|
||||
Hidden = 2
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 规则配置模型。
|
||||
/// </summary>
|
||||
public sealed class RuleConfigModel
|
||||
{
|
||||
/// <summary>
|
||||
/// 规则ID。
|
||||
/// </summary>
|
||||
public Guid Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 部件ID。
|
||||
/// </summary>
|
||||
public Guid ComponentConfigId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规则名称。
|
||||
/// </summary>
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 规则描述。
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规则类型。
|
||||
/// </summary>
|
||||
public RuleType Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规则参数JSON。
|
||||
/// </summary>
|
||||
public string RuleParametersJson { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 规则状态。
|
||||
/// </summary>
|
||||
public RuleStatus Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 优先级。
|
||||
/// </summary>
|
||||
public int Priority { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用。
|
||||
/// </summary>
|
||||
public bool IsEnabled { 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 RuleType
|
||||
{
|
||||
/// <summary>
|
||||
/// 数量规则。
|
||||
/// </summary>
|
||||
Quantity = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 位置规则。
|
||||
/// </summary>
|
||||
Position = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 到位规则。
|
||||
/// </summary>
|
||||
InPlace = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 顺序规则。
|
||||
/// </summary>
|
||||
Sequence = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 禁装规则。
|
||||
/// </summary>
|
||||
Forbidden = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 超时规则。
|
||||
/// </summary>
|
||||
Timeout = 5,
|
||||
|
||||
/// <summary>
|
||||
/// 层切换规则。
|
||||
/// </summary>
|
||||
LayerSwitch = 6,
|
||||
|
||||
/// <summary>
|
||||
/// 机完成规则。
|
||||
/// </summary>
|
||||
MachineComplete = 7
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 规则状态枚举。
|
||||
/// </summary>
|
||||
public enum RuleStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 启用。
|
||||
/// </summary>
|
||||
Enabled = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 禁用。
|
||||
/// </summary>
|
||||
Disabled = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 测试中。
|
||||
/// </summary>
|
||||
Testing = 2
|
||||
}
|
||||
Reference in New Issue
Block a user