using System;
using System.Collections.Generic;
using CncModels.Dto;
using CncModels.Dto.Production;
namespace CncService.Interface
{
///
/// 产量管理服务接口
///
public interface IProductionService
{
/// 分页查询产量记录
PagedResult GetList(ProductionQuery query);
/// 获取日汇总统计
DailySummaryResponse GetSummary(DateTime? startDate, DateTime? endDate, int? workshopId, int? machineId, int? workerId);
/// 获取日期范围总产量
decimal GetTotalByDateRange(DateTime startDate, DateTime endDate, int? workshopId);
/// 产量修正
bool Adjust(ProductionAdjustRequest request);
///
/// 获取某条产量记录的修正历史
///
List GetAdjustmentHistory(int recordId);
/// 获取设备产量汇总(按日期范围)
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);
/// 获取程序产量汇总(按日期范围)
ProgramProductionSummaryResponse GetProgramSummary(DateTime? startDate, DateTime? endDate, int? workshopId);
/// 获取程序产量明细列表(按日期范围)
List GetProgramList(DateTime? startDate, DateTime? endDate, string programNames);
}
}