版本260406
This commit is contained in:
@@ -0,0 +1,203 @@
|
||||
namespace OrpaonVision.Core.Production.Contracts.Queries;
|
||||
|
||||
/// <summary>
|
||||
/// 产品会话查询条件。
|
||||
/// </summary>
|
||||
public sealed class ProductSessionQueryDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 产品序列号(精确匹配)。
|
||||
/// </summary>
|
||||
public string? ProductSerialNumber { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 产品序列号(模糊匹配)。
|
||||
/// </summary>
|
||||
public string? ProductSerialNumberLike { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 机种ID。
|
||||
/// </summary>
|
||||
public Guid? ProductTypeId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 机种编码。
|
||||
/// </summary>
|
||||
public string? ProductTypeCode { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 工位ID。
|
||||
/// </summary>
|
||||
public Guid? WorkstationId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 工位名称。
|
||||
/// </summary>
|
||||
public string? WorkstationName { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作员ID。
|
||||
/// </summary>
|
||||
public Guid? OperatorId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作员姓名。
|
||||
/// </summary>
|
||||
public string? OperatorName { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 班次。
|
||||
/// </summary>
|
||||
public string? Shift { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 最终结果。
|
||||
/// </summary>
|
||||
public string? FinalResult { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 最终NG类型。
|
||||
/// </summary>
|
||||
public string? FinalNgType { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 开始时间范围开始(UTC)。
|
||||
/// </summary>
|
||||
public DateTime? StartedAtUtcStart { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 开始时间范围结束(UTC)。
|
||||
/// </summary>
|
||||
public DateTime? StartedAtUtcEnd { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 模型版本。
|
||||
/// </summary>
|
||||
public string? ModelVersion { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 规则版本。
|
||||
/// </summary>
|
||||
public string? RuleVersion { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否包含异常记录。
|
||||
/// </summary>
|
||||
public bool? HasAbnormalRecords { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否包含关键截图。
|
||||
/// </summary>
|
||||
public bool? HasKeyScreenshots { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 最小耗时(秒)。
|
||||
/// </summary>
|
||||
public decimal? MinDurationSeconds { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 最大耗时(秒)。
|
||||
/// </summary>
|
||||
public decimal? MaxDurationSeconds { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 页码(从1开始)。
|
||||
/// </summary>
|
||||
public int PageIndex { get; init; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 每页大小。
|
||||
/// </summary>
|
||||
public int PageSize { get; init; } = 20;
|
||||
|
||||
/// <summary>
|
||||
/// 排序字段。
|
||||
/// </summary>
|
||||
public string SortField { get; init; } = "StartedAtUtc";
|
||||
|
||||
/// <summary>
|
||||
/// 排序方向(ASC/DESC)。
|
||||
/// </summary>
|
||||
public string SortDirection { get; init; } = "DESC";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生产统计查询条件。
|
||||
/// </summary>
|
||||
public sealed class ProductionStatisticsQueryDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 统计时间范围开始(UTC)。
|
||||
/// </summary>
|
||||
public DateTime StartTimeUtc { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 统计时间范围结束(UTC)。
|
||||
/// </summary>
|
||||
public DateTime EndTimeUtc { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 工位ID。
|
||||
/// </summary>
|
||||
public Guid? WorkstationId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 工位名称。
|
||||
/// </summary>
|
||||
public string? WorkstationName { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 机种ID。
|
||||
/// </summary>
|
||||
public Guid? ProductTypeId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 机种编码。
|
||||
/// </summary>
|
||||
public string? ProductTypeCode { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 班次。
|
||||
/// </summary>
|
||||
public string? Shift { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作员ID。
|
||||
/// </summary>
|
||||
public Guid? OperatorId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作员姓名。
|
||||
/// </summary>
|
||||
public string? OperatorName { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否包含详细统计。
|
||||
/// </summary>
|
||||
public bool IncludeDetailedStatistics { get; init; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 统计粒度(Hour/Day/Week/Month)。
|
||||
/// </summary>
|
||||
public string Granularity { get; init; } = "Hour";
|
||||
|
||||
/// <summary>
|
||||
/// 是否按层级分组。
|
||||
/// </summary>
|
||||
public bool GroupByLayer { get; init; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 是否按NG类型分组。
|
||||
/// </summary>
|
||||
public bool GroupByNgType { get; init; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 是否按操作员分组。
|
||||
/// </summary>
|
||||
public bool GroupByOperator { get; init; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 最小样本数(用于统计过滤)。
|
||||
/// </summary>
|
||||
public int? MinSampleCount { get; init; }
|
||||
}
|
||||
Reference in New Issue
Block a user