using System.Threading.Tasks;
using System.Collections.Generic;
using ZhonTai.Admin.Core.Dto;
using NPP.SmartSchedue.Api.Contracts.Services.Time.Input;
using NPP.SmartSchedue.Api.Contracts.Services.Time.Output;
using NPP.SmartSchedue.Api.Contracts.Domain.Time;
namespace NPP.SmartSchedue.Api.Contracts.Services.Time;
///
/// 生产班次服务接口
///
public interface IShiftService
{
Task GetAsync(long id);
Task> GetPageAsync(PageInput input);
Task AddAsync(ShiftAddInput input);
Task UpdateAsync(ShiftUpdateInput input);
Task DeleteAsync(long id);
Task SoftDeleteAsync(long id);
Task BatchSoftDeleteAsync(long[] ids);
///
/// 启用班次
///
/// 班次ID
///
Task EnableAsync(long id);
///
/// 禁用班次
///
/// 班次ID
///
Task DisableAsync(long id);
///
/// 切换班次状态
///
/// 班次ID
/// 是否启用
///
Task ToggleStatusAsync(long id, bool isEnabled);
///
/// 获取班次相关的规则列表
///
/// 班次ID
/// 班次规则列表
Task> GetShiftRulesAsync(long shiftId);
}