Asoka.Wang 21f044712c 1
2025-08-27 18:39:19 +08:00

57 lines
1.5 KiB
C#

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;
/// <summary>
/// 生产班次服务接口
/// </summary>
public interface IShiftService
{
Task<ShiftGetOutput> GetAsync(long id);
Task<PageOutput<ShiftGetPageOutput>> GetPageAsync(PageInput<ShiftGetPageInput> input);
Task<long> AddAsync(ShiftAddInput input);
Task UpdateAsync(ShiftUpdateInput input);
Task DeleteAsync(long id);
Task SoftDeleteAsync(long id);
Task BatchSoftDeleteAsync(long[] ids);
/// <summary>
/// 启用班次
/// </summary>
/// <param name="id">班次ID</param>
/// <returns></returns>
Task EnableAsync(long id);
/// <summary>
/// 禁用班次
/// </summary>
/// <param name="id">班次ID</param>
/// <returns></returns>
Task DisableAsync(long id);
/// <summary>
/// 切换班次状态
/// </summary>
/// <param name="id">班次ID</param>
/// <param name="isEnabled">是否启用</param>
/// <returns></returns>
Task ToggleStatusAsync(long id, bool isEnabled);
/// <summary>
/// 获取班次相关的规则列表
/// </summary>
/// <param name="shiftId">班次ID</param>
/// <returns>班次规则列表</returns>
Task<List<ShiftRuleEntity>> GetShiftRulesAsync(long shiftId);
}