diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs index 77e58b9b9..b23b0c9ca 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs @@ -39,6 +39,43 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// [NotDefault] public Guid TrialId { get; set; } + + + public bool? IsUrgent { get; set; } + + public MedicalReviewAuditState? AuditState { get; set; } + + public string SubjectCode { get; set; } + + public string TaskBlindName { get; set; } + + public ReadingCategory? ReadingCategory { get; set; } + + /// + /// 审核建议 + /// + public AuditAdvice? AuditAdviceEnum { get; set; } + /// + /// 阅片人是否认同 + /// + public MedicalReviewDoctorUserIdea? DoctorUserIdeaEnum { get; set; } + /// + /// 是否关闭对话 + /// + public bool? IsClosedDialog { get; set; } + /// + /// 是否有问题 + /// + public bool? IsHaveQuestion { get; set; } + /// + /// 医学审核对话关闭原因 + /// + public MedicalDialogClose? MedicalDialogCloseEnum { get; set; } + + /// + /// 无效的 为True无效 + /// + public bool? IsInvalid { get; set; } } public class GetIRMedicalFeedbackListOutDto diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs index fecb90728..83fd5db5a 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs @@ -573,7 +573,17 @@ namespace IRaCIS.Core.Application.Service { var taskMedicalReviewquery = _taskMedicalReviewRepository.Where(x => x.TrialId == inDto.TrialId).Include(x => x.VisitTask) .Where(x => x.VisitTask.DoctorUserId == _userInfo.Id) - .Where(x=>x.IsHaveQuestion) + .Where(x => x.IsHaveQuestion) + .WhereIf(!inDto.TaskBlindName.IsNullOrEmpty(), x => x.VisitTask.TaskBlindName == inDto.TaskBlindName) + .WhereIf(inDto.IsUrgent != null, x => x.VisitTask.IsUrgent == inDto.IsUrgent.Value) + .WhereIf(inDto.AuditState != null, x => x.AuditState == inDto.AuditState.Value) + .WhereIf(inDto.ReadingCategory != null, x => x.VisitTask.ReadingCategory == inDto.ReadingCategory.Value) + .WhereIf(inDto.AuditAdviceEnum != null, x => x.AuditAdviceEnum == inDto.AuditAdviceEnum.Value) + .WhereIf(inDto.DoctorUserIdeaEnum != null, x => x.DoctorUserIdeaEnum == inDto.DoctorUserIdeaEnum.Value) + .WhereIf(inDto.IsClosedDialog != null, x => x.IsClosedDialog == inDto.IsClosedDialog.Value) + .WhereIf(inDto.IsHaveQuestion != null, x => x.IsHaveQuestion == inDto.IsHaveQuestion.Value) + .WhereIf(inDto.MedicalDialogCloseEnum != null, x => x.MedicalDialogCloseEnum == inDto.MedicalDialogCloseEnum.Value) + .WhereIf(inDto.IsInvalid != null, x => x.IsInvalid == inDto.IsInvalid.Value) .Select(x => new GetIRMedicalFeedbackListOutDto { TaskState=x.VisitTask.TaskState, @@ -594,7 +604,7 @@ namespace IRaCIS.Core.Application.Service MedicalDialogCloseEnum=x.MedicalDialogCloseEnum, IsInvalid=x.IsInvalid, - }); + }).WhereIf(!inDto.SubjectCode.IsNullOrEmpty(), x => x.SubjectCode == inDto.SubjectCode); var result=await taskMedicalReviewquery.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField.IsNullOrEmpty() ? nameof(GetIRMedicalFeedbackListOutDto.AuditState) : inDto.SortField, inDto.Asc);