using OrpaonVision.Core.Results;
using OrpaonVision.Core.Production.Contracts;
using OrpaonVision.Core.Production.Contracts.Queries;
using OrpaonVision.Core.Training.Contracts;
namespace OrpaonVision.Core.Production;
///
/// 生产应用服务接口。
///
public interface IProductionAppService
{
///
/// 分页查询产品会话。
///
/// 查询条件。
/// 取消令牌。
/// 分页结果。
Task>> GetProductSessionsAsync(ProductSessionQueryDto query, CancellationToken cancellationToken = default);
///
/// 获取产品会话详情。
///
/// 会话ID。
/// 取消令牌。
/// 产品会话详情。
Task> GetProductSessionDetailAsync(Guid sessionId, CancellationToken cancellationToken = default);
///
/// 获取生产统计。
///
/// 统计查询条件。
/// 取消令牌。
/// 生产统计结果。
Task> GetProductionStatisticsAsync(ProductionStatisticsQueryDto query, CancellationToken cancellationToken = default);
///
/// 获取实时生产状态。
///
/// 工位ID。
/// 取消令牌。
/// 实时生产状态。
Task> GetRealtimeProductionStatusAsync(Guid workstationId, CancellationToken cancellationToken = default);
///
/// 导出生产数据。
///
/// 导出查询条件。
/// 导出格式。
/// 取消令牌。
/// 导出文件信息。
Task> ExportProductionDataAsync(ProductSessionQueryDto query, string format = "Excel", CancellationToken cancellationToken = default);
///
/// 获取质量分析报告。
///
/// 分析查询条件。
/// 取消令牌。
/// 质量分析报告。
Task> GetQualityAnalysisReportAsync(ProductionStatisticsQueryDto query, CancellationToken cancellationToken = default);
}