using System;
using System.Collections.Generic;
using CncModels.Dto.Dashboard;

namespace CncService.Interface
{
    /// <summary>
    /// 仪表盘服务接口
    /// </summary>
    public interface IDashboardService
    {
        DashboardSummaryResponse GetSummary();

        List<WorkshopProductionResponse> GetWorkshopProduction(DateTime? startDate, DateTime? endDate);

        List<MachineRankResponse> GetMachineRank(DateTime? startDate, DateTime? endDate, int top = 10, string sortOrder = "desc");

        List<WorkerRankResponse> GetWorkerRank(DateTime? startDate, DateTime? endDate, int top = 10, string sortOrder = "desc");

        object GetProductionTrend(int days = 7);

        object GetMachineStatusDistribution();

        List<AlertListItem> GetRecentAlerts(int count = 5);

        object GetCollectorStatus();
    }
}
