using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using NPP.SmartSchedue.Api.Contracts.Domain.Time;
using ZhonTai.Admin.Core.Repositories;
namespace NPP.SmartSchedue.Api.Contracts;
///
/// 班次规则仓储接口
///
public interface IShiftRuleRepository : IRepositoryBase
{
///
/// 获取适用于特定人员、日期和班次的排班规则
///
/// 人员ID
/// 目标日期
/// 班次ID(可选)
/// 适用的排班规则列表
Task> GetApplicableRulesAsync(long personnelId, DateTime targetDate, long? shiftId);
}