using System;
using System.Collections.Generic;
using CncModels.Dto;
using CncModels.Dto.Production;
using CncModels.Entity;
namespace CncRepository.Interface
{
///
/// cnc_daily_production 产量仓储接口(业务库)
///
public interface IDailyProductionRepository
{
DailyProduction GetById(int id);
PagedResult GetList(ProductionQuery query);
List GetByMachineAndDate(int machineId, DateTime date);
List GetByDateRange(DateTime startDate, DateTime endDate);
decimal GetTotalByDateRange(DateTime startDate, DateTime endDate, int? workshopId);
decimal GetTotalByWorkerAndDateRange(int workerId, DateTime startDate, DateTime endDate);
List GetMachineRankByDateRange(DateTime startDate, DateTime endDate, int top);
List GetWorkerRankByDateRange(DateTime startDate, DateTime endDate, int top);
MachineProductionSummaryResponse GetMachineSummary(DateTime startDate, DateTime endDate, int? workshopId);
List GetMachineList(DateTime startDate, DateTime endDate, int? workshopId, string machineIds);
WorkerProductionSummaryResponse GetWorkerSummary(DateTime startDate, DateTime endDate);
List GetWorkerList(DateTime startDate, DateTime endDate, int? workerId, string sortOrder = "desc");
ProgramProductionSummaryResponse GetProgramSummary(DateTime startDate, DateTime endDate, int? workshopId);
List GetProgramList(DateTime startDate, DateTime endDate, string programNames);
}
}