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

namespace CncService.Interface
{
    /// <summary>
    /// 产量管理服务接口
    /// </summary>
    public interface IProductionService
    {
        /// <summary>分页查询产量记录</summary>
        PagedResult<DailyProductionListItem> GetList(ProductionQuery query);

        /// <summary>获取日汇总统计</summary>
        DailySummaryResponse GetSummary(DateTime? startDate, DateTime? endDate, int? workshopId, int? machineId, int? workerId);

        /// <summary>获取日期范围总产量</summary>
        decimal GetTotalByDateRange(DateTime startDate, DateTime endDate, int? workshopId);

        /// <summary>产量修正</summary>
        bool Adjust(ProductionAdjustRequest request);

        /// <summary>
        /// 获取某条产量记录的修正历史
        /// </summary>
        List<AdjustmentHistoryItem> GetAdjustmentHistory(int recordId);
    }
}
