From 50842718a792ceeb5a460fa09be0f4570adf209c Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 22 Jul 2022 13:21:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ReadingMedicalReviewService.cs | 34 ++++++++++++++++++- .../Allocation/TaskMedicalReview.cs | 2 +- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs index f399d810f..8a95f6e1c 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs @@ -252,6 +252,11 @@ namespace IRaCIS.Core.Application.Service [HttpPost] public async Task SaveMedicineQuestion(SaveMedicineQuestionInDto inDto) { + var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); + if (medicalReviewInfo.IsInvalid) + { + throw new BusinessValidationFailedException("该医学审核无效,操作失败"); + } await _readingMedicineQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.TaskMedicalReviewId == inDto.TaskMedicalReviewId); List questionAnswerList = inDto.QuestionAnswerList.Select(x => new ReadingMedicineQuestionAnswer() @@ -285,6 +290,11 @@ namespace IRaCIS.Core.Application.Service /// public async Task SaveMedicalReviewInfo(SaveMedicalReviewInfoInDto inDto) { + var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); + if (medicalReviewInfo.IsInvalid) + { + throw new BusinessValidationFailedException("该医学审核无效,操作失败"); + } if ((await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).Select(x => x.SaveQuestionTime).FirstOrDefaultAsync()) == null) { return ResponseOutput.NotOk("请先保存医审核问题"); @@ -357,6 +367,12 @@ namespace IRaCIS.Core.Application.Service /// public async Task SendMedicalReviewDialog(SendMedicalReviewDialogInDto inDto) { + var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); + if (medicalReviewInfo.IsInvalid) + { + throw new BusinessValidationFailedException("该医学审核无效,操作失败"); + } + var visitTaskId = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).Select(x => x.VisitTaskId).FirstOrDefaultAsync(); ReadingMedicalReviewDialog dialog = new ReadingMedicalReviewDialog() { @@ -384,6 +400,11 @@ namespace IRaCIS.Core.Application.Service /// public async Task IRSendMedicalReviewDialog(IRSendMedicalReviewDialogInDto inDto) { + var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); + if (medicalReviewInfo.IsInvalid) + { + throw new BusinessValidationFailedException("该医学审核无效,操作失败"); + } var visitTaskId = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).Select(x => x.VisitTaskId).FirstOrDefaultAsync(); if (inDto.IsApplyHeavyReading??false) { @@ -460,6 +481,11 @@ namespace IRaCIS.Core.Application.Service [NonDynamicMethod] public async Task FinishMedicalReview(FinishMedicalReviewInDto inDto) { + var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); + if (medicalReviewInfo.IsInvalid) + { + throw new BusinessValidationFailedException("该医学审核无效,操作失败"); + } var taskmedicalReview = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).Select(x => new { @@ -500,6 +526,12 @@ namespace IRaCIS.Core.Application.Service [HttpPost] public async Task IRConfirmMedicalReview(IRConfirmMedicalReviewInDto inDto) { + var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); + if (medicalReviewInfo.IsInvalid) + { + throw new BusinessValidationFailedException("该医学审核无效,操作失败"); + } + await _taskMedicalReviewRepository.UpdatePartialFromQueryAsync(inDto.TaskMedicalReviewId, x => new TaskMedicalReview() { DoctorUserIdeaEnum = inDto.DoctorUserIdeaEnum, @@ -534,7 +566,7 @@ namespace IRaCIS.Core.Application.Service public async Task> GetIRMedicalFeedbackList(GetIRMedicalFeedbackListInDto inDto) { var taskMedicalReviewquery = _taskMedicalReviewRepository.Where(x => x.TrialId == inDto.TrialId).Include(x => x.VisitTask) - .Where(x => x.MedicalManagerUserId == _userInfo.Id) + .Where(x => x.VisitTask.DoctorUserId == _userInfo.Id) .Where(x=>!x.IsHaveQuestion) .Select(x => new GetIRMedicalFeedbackListOutDto { diff --git a/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs b/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs index 1fdc612ad..f70c1c260 100644 --- a/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs +++ b/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs @@ -166,7 +166,7 @@ namespace IRaCIS.Core.Domain.Models /// - /// 无效的 + /// 无效的 为True无效 /// public bool IsInvalid { get; set; } }