修改查询
continuous-integration/drone/push Build is passing

This commit is contained in:
he
2025-03-10 14:17:22 +08:00
parent 4cdfb60fdf
commit e5fa3a09b3
4 changed files with 51 additions and 3 deletions
@@ -198,6 +198,26 @@ namespace IRaCIS.Application.Contracts
}
public class GetTrialDoctorListInDto : PageInput
{
public Guid TrialId { get; set; } = Guid.Empty;
/// <summary>
/// 亚专业
/// </summary>
public Guid? SubspecialityId { get; set; }
/// <summary>
/// 专业
/// </summary>
public Guid? SpecialityId { get; set; }
/// <summary>
/// 机构
/// </summary>
public Guid? HospitalId { get; set; }
}
public class TrialDoctorInfo : ConfirmationReviewerDTO
{
@@ -245,6 +265,8 @@ namespace IRaCIS.Application.Contracts
public string OptUserName { get; set; } = String.Empty;
public DateTime? OptTime { get; set; }
}
#endregion
@@ -278,14 +278,19 @@ namespace IRaCIS.Core.Application.Service
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<TrialDoctorInfo>> GetTrialDoctorList(
ReviewerConfirmationQueryDTO inQuery)
GetTrialDoctorListInDto inQuery)
{
var doctorQuery = _enrollRepository.Where(x => x.TrialId == inQuery.TrialId && x.EnrollStatus == EnrollStatus.ConfirmIntoGroup)
.ProjectTo<TrialDoctorInfo>(_mapper.ConfigurationProvider);
var doctorPageList = await doctorQuery.ToPagedListAsync(inQuery);
var doctorPageList = await doctorQuery
.WhereIf(inQuery.HospitalId!=null,x=>x.HospitalId==inQuery.HospitalId.Value)
.WhereIf(inQuery.SpecialityId != null, x => x.SpecialityId == inQuery.SpecialityId.Value)
.WhereIf(inQuery.SubspecialityId != null, x => x.SubspecialityIds.Contains(inQuery.SpecialityId.Value))
.ToPagedListAsync(inQuery);
var enrollStateList = await _enrollDetailRepository.Where(x => x.TrialId == inQuery.TrialId && x.EnrollStatus > EnrollStatus.InviteIntoGroup)
.ProjectTo<DoctorStateModelDTO>(_mapper.ConfigurationProvider).ToListAsync();