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 1/2] =?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!) From 27d9104607416fc14b80f2dc391d44319e072e32 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Thu, 27 Jun 2024 14:25:20 +0800 Subject: [PATCH 2/2] =?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 | 9 ++++++-- .../ReadingMedicalReviewService.cs | 22 ++++++++++++++++--- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs index 0e56ef61a..b89ece8e1 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs @@ -40,7 +40,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto [NotDefault] public Guid TrialId { get; set; } - public Guid? TrialReadingCriterionId { get; set; } + public Guid TrialReadingCriterionId { get; set; } + + public Guid SubjectId { get; set; } } @@ -55,7 +57,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public bool? IsUrgent { get; set; } - public MedicalReviewAuditState? AuditState { get; set; } + public Guid? SubjectId { get; set; } + + + public MedicalReviewAuditState? AuditState { get; set; } public string SubjectCode { get; set; } = string.Empty; diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs index a624d586c..3a16532c3 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs @@ -792,13 +792,28 @@ namespace IRaCIS.Core.Application.Service var list = await GetIRMedicalFeedbackList(new GetIRMedicalFeedbackListInDto() { TrialId=inDto.TrialId, - IsNotHaveSigned=true, + AuditState= MedicalReviewAuditState.Auditing, TrialReadingCriterionId=inDto.TrialReadingCriterionId, + SubjectId=inDto.SubjectId, PageIndex=1, PageSize=1, }); - if (list.CurrentPageData.Count() > 0) + + if (list.CurrentPageData.Count() == 0) + { + list = await GetIRMedicalFeedbackList(new GetIRMedicalFeedbackListInDto() + { + TrialId = inDto.TrialId, + AuditState = MedicalReviewAuditState.Auditing, + TrialReadingCriterionId = inDto.TrialReadingCriterionId, + PageIndex = 1, + PageSize = 1, + }); + } + + + if (list.CurrentPageData.Count() > 0) { return list.CurrentPageData[0]; } @@ -825,7 +840,8 @@ namespace IRaCIS.Core.Application.Service .Where(x => x.VisitTask.DoctorUserId == _userInfo.Id) .Where(x => x.IsHaveQuestion) .WhereIf(!inDto.TaskBlindName.IsNullOrEmpty(), x => x.VisitTask.TaskBlindName == inDto.TaskBlindName) - .WhereIf(inDto.IsUrgent != null, x => x.VisitTask.IsUrgent == inDto.IsUrgent!) + .WhereIf(inDto.SubjectId != null, x => x.VisitTask.SubjectId == inDto.SubjectId!) + .WhereIf(inDto.IsUrgent != null, x => x.VisitTask.IsUrgent == inDto.IsUrgent!) .WhereIf(inDto.AuditState != null, x => x.AuditState == inDto.AuditState!) .WhereIf(inDto.IsNotHaveSigned, x => x.AuditState != MedicalReviewAuditState.HaveSigned) .WhereIf(inDto.ReadingCategory != null, x => x.VisitTask.ReadingCategory == inDto.ReadingCategory!)