71 lines
3.0 KiB
C#
71 lines
3.0 KiB
C#
using System.Threading.Tasks;
|
||
using System.Collections.Generic;
|
||
using NPP.SmartSchedue.Api.Contracts.Domain.Personnel;
|
||
using ZhonTai.Admin.Core.Dto;
|
||
using NPP.SmartSchedue.Api.Contracts.Services.Personnel.Input;
|
||
using NPP.SmartSchedue.Api.Contracts.Services.Personnel.Output;
|
||
|
||
namespace NPP.SmartSchedue.Api.Contracts.Services.Personnel;
|
||
|
||
/// <summary>
|
||
/// 人员资质绑定服务接口
|
||
/// </summary>
|
||
public interface IPersonnelQualificationService
|
||
{
|
||
Task<PersonnelQualificationGetOutput> GetAsync(long id);
|
||
|
||
Task<PageOutput<PersonnelQualificationGetPageOutput>> GetPageAsync(PageInput<PersonnelQualificationGetPageInput> input);
|
||
|
||
Task<long> AddAsync(PersonnelQualificationAddInput input);
|
||
|
||
Task UpdateAsync(PersonnelQualificationUpdateInput input);
|
||
|
||
Task DeleteAsync(long id);
|
||
|
||
Task SoftDeleteAsync(long id);
|
||
|
||
Task BatchSoftDeleteAsync(long[] ids);
|
||
|
||
/// <summary>
|
||
/// 根据资质ID列表获取具有这些资质的人员基础信息列表(ID + 姓名)
|
||
/// </summary>
|
||
/// <param name="qualificationIds">资质ID列表</param>
|
||
/// <returns></returns>
|
||
Task<List<PersonnelBasicInfo>> GetPersonnelIdsByQualificationIdsAsync(long[] qualificationIds);
|
||
|
||
/// <summary>
|
||
/// 根据资质ID字符串(逗号分隔)获取具有这些资质的人员基础信息列表(ID + 姓名)
|
||
/// </summary>
|
||
/// <param name="qualificationIds">资质ID字符串,使用逗号分隔</param>
|
||
/// <returns></returns>
|
||
Task<List<PersonnelBasicInfo>> GetPersonnelIdsByQualificationIdsAsync(string qualificationIds);
|
||
|
||
/// <summary>
|
||
/// 根据人员ID获取其所有有效资质信息
|
||
/// </summary>
|
||
/// <param name="personnelId">人员ID</param>
|
||
/// <returns></returns>
|
||
Task<List<PersonnelQualificationGetPageOutput>> GetActiveQualificationsByPersonnelIdAsync(long personnelId);
|
||
|
||
/// <summary>
|
||
/// 获取所有有资质记录的人员列表(用于人员池构建)
|
||
/// 深度业务思考:从资质表获取所有关联人员,确保智能分配系统的人员池完整性
|
||
/// </summary>
|
||
/// <returns>所有有资质记录的人员资质信息</returns>
|
||
Task<List<PersonnelQualificationGetPageOutput>> GetAllPersonnelWithQualificationsAsync();
|
||
|
||
/// <summary>
|
||
/// 根据人员ID获取其所有资质记录(包括无效的)
|
||
/// </summary>
|
||
/// <param name="personnelId">人员ID</param>
|
||
/// <returns>人员的所有资质记录</returns>
|
||
Task<List<PersonnelQualificationGetPageOutput>> GetByPersonnelIdAsync(long personnelId);
|
||
|
||
/// <summary>
|
||
/// 根据人员ID获取其所有有效的资质实体列表(用于智能分配系统资质匹配)
|
||
/// 深度业务思考:智能分配系统需要完整的资质实体信息进行精确匹配计算
|
||
/// </summary>
|
||
/// <param name="personnelId">人员ID</param>
|
||
/// <returns>人员有效资质实体列表</returns>
|
||
Task<List<NPP.SmartSchedue.Api.Contracts.Domain.Personnel.PersonnelQualificationEntity>> GetPersonnelQualificationsAsync(long personnelId);
|
||
} |