From ba8f22f26090c740f2a130c984e134e84b33795b Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Thu, 27 Jun 2024 14:21:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/Dto/ReadingMedicalReviewDto.cs | 22 ++++++++++- .../ReadingMedicalReviewService.cs | 39 +++++++++++++++++-- 2 files changed, 56 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs index c63e757d2..0e56ef61a 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs @@ -32,7 +32,19 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public bool IsApplyHeavyReading { get; set; } = false; } - public class GetIRMedicalFeedbackListInDto:PageInput + public class GetNextIRMedicalFeedbackInDto + { + /// + /// 项目Id + /// + [NotDefault] + public Guid TrialId { get; set; } + + public Guid? TrialReadingCriterionId { get; set; } + } + + + public class GetIRMedicalFeedbackListInDto:PageInput { /// /// 项目Id @@ -78,7 +90,13 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public bool? IsInvalid { get; set; } public Guid? TrialReadingCriterionId { get; set; } - } + + /// + /// 获取不加急的 + /// + public bool IsNotHaveSigned { get; set; } = false; + + } public class GetIRMedicalFeedbackListOutDto { diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs index b59c45897..a624d586c 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs @@ -780,13 +780,45 @@ namespace IRaCIS.Core.Application.Service return ResponseOutput.Result(result); } - /// - /// 获取IR医学审核信息 + /// 获取下一个IR医学反馈 /// /// /// + /// [HttpPost] + public async Task GetNextIRMedicalFeedback(GetNextIRMedicalFeedbackInDto inDto) + { + var list = await GetIRMedicalFeedbackList(new GetIRMedicalFeedbackListInDto() + { + TrialId=inDto.TrialId, + IsNotHaveSigned=true, + TrialReadingCriterionId=inDto.TrialReadingCriterionId, + PageIndex=1, + PageSize=1, + }); + + if (list.CurrentPageData.Count() > 0) + { + return list.CurrentPageData[0]; + } + else + { + throw new BusinessValidationFailedException(_localizer["MedicalReview_IRFinish"], ApiResponseCodeEnum.CloseCurrentWindows); + } + + + + + + } + + /// + /// 获取IR医学审核信息 + /// + /// + /// + [HttpPost] public async Task> GetIRMedicalFeedbackList(GetIRMedicalFeedbackListInDto inDto) { var taskMedicalReviewquery = _taskMedicalReviewRepository.Where(x => x.TrialId == inDto.TrialId).Include(x => x.VisitTask) @@ -795,7 +827,8 @@ namespace IRaCIS.Core.Application.Service .WhereIf(!inDto.TaskBlindName.IsNullOrEmpty(), x => x.VisitTask.TaskBlindName == inDto.TaskBlindName) .WhereIf(inDto.IsUrgent != null, x => x.VisitTask.IsUrgent == inDto.IsUrgent!) .WhereIf(inDto.AuditState != null, x => x.AuditState == inDto.AuditState!) - .WhereIf(inDto.ReadingCategory != null, x => x.VisitTask.ReadingCategory == inDto.ReadingCategory!) + .WhereIf(inDto.IsNotHaveSigned, x => x.AuditState != MedicalReviewAuditState.HaveSigned) + .WhereIf(inDto.ReadingCategory != null, x => x.VisitTask.ReadingCategory == inDto.ReadingCategory!) .WhereIf(inDto.AuditAdviceEnum != null, x => x.AuditAdviceEnum == inDto.AuditAdviceEnum!) .WhereIf(inDto.DoctorUserIdeaEnum != null, x => x.DoctorUserIdeaEnum == inDto.DoctorUserIdeaEnum!) .WhereIf(inDto.IsClosedDialog != null, x => x.IsClosedDialog == inDto.IsClosedDialog!)