using F9WebAiTest.Application.Common; using F9WebAiTest.Application.Dtos.SYS.Employees; using F9WebAiTest.Domain.Enums.SYS.Employees; using F9WebAiTest.Domain.Interfaces; namespace F9WebAiTest.Application.Interfaces.Repositories.SYS.Employees; /// 职工读仓储(返回读模型 DTO) public interface IEmployeeReadRepository : IDInterface { /// 分页查询(部门含子部门;workStatus/banci 为 null 表示全部) Task> GetPagedAsync(long depId, long worktypeId, Employee_WorkStatus_Enum? workStatus, Prod_Banci_Enum? banci, string keyword, int pageIndex, int pageSize); Task GetByIdForEditAsync(long id); /// 变更记录(按日期倒序) Task> GetChangeRecordsAsync(long employeeId); /// 调岗记录(按日期倒序) Task> GetTiaogangRecordsAsync(long employeeId); /// 写变更记录 Task AddChangeRecordAsync(EmployeeChangeRecordDto record); /// 写调岗记录 Task AddTiaogangRecordAsync(long employeeId, long oldDepId, long oldWorktypeId, long newDepId, long newWorktypeId, DateTime date); /// 部门名称(用于变更记录说明) Task GetDepNameAsync(long depId); /// 工种名称(用于变更记录说明) Task GetWorktypeNameAsync(long worktypeId); }