Asoka.Wang 0a2e2d9b18 123
2025-09-02 18:52:35 +08:00

91 lines
2.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using ZhonTai.Admin.Core.Dto;
using NPP.SmartSchedue.Api.Contracts.Services.Time.Input;
using NPP.SmartSchedue.Api.Contracts.Services.Time.Output;
namespace NPP.SmartSchedue.Api.Contracts.Services.Time;
/// <summary>
/// 班次规则服务接口
/// </summary>
public interface IShiftRuleService
{
/// <summary>
/// 根据ID获取班次规则详细信息
/// </summary>
/// <param name="id">规则ID</param>
/// <returns>班次规则详细信息</returns>
Task<ShiftRuleGetOutput> GetAsync(long id);
/// <summary>
/// 返回班次列表数据
/// </summary>
/// <returns></returns>
Task<List<ShiftRuleGetPageOutput>> GetListAsync();
/// <summary>
/// 获取班次规则分页列表
/// </summary>
/// <param name="input">查询条件</param>
/// <returns>分页结果</returns>
Task<PageOutput<ShiftRuleGetPageOutput>> GetPageAsync(PageInput<ShiftRuleGetPageInput> input);
/// <summary>
/// 添加班次规则
/// </summary>
/// <param name="input">添加输入参数</param>
/// <returns>新创建的规则ID</returns>
Task<long> AddAsync(ShiftRuleAddInput input);
/// <summary>
/// 更新班次规则
/// </summary>
/// <param name="input">更新输入参数</param>
/// <returns></returns>
Task UpdateAsync(ShiftRuleUpdateInput input);
/// <summary>
/// 删除班次规则
/// </summary>
/// <param name="id">规则ID</param>
/// <returns></returns>
Task DeleteAsync(long id);
/// <summary>
/// 软删除班次规则
/// </summary>
/// <param name="id">规则ID</param>
/// <returns></returns>
Task SoftDeleteAsync(long id);
/// <summary>
/// 批量软删除班次规则
/// </summary>
/// <param name="ids">规则ID数组</param>
/// <returns></returns>
Task BatchSoftDeleteAsync(long[] ids);
/// <summary>
/// 切换班次规则启用状态
/// </summary>
/// <param name="id">规则ID</param>
/// <param name="isEnabled">是否启用</param>
/// <returns></returns>
Task ToggleStatusAsync(long id, bool isEnabled);
/// <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);
}