From 8174237a825925a6742d0906a42778a420c0d54c Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 13 Mar 2024 16:31:22 +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 --- .../IRaCIS.Core.Application.xml | 8 +++++ .../Dto/ReadingMedicineQuestionViewModel.cs | 6 +++- .../ReadingMedicineQuestionService.cs | 34 +++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 01aa79d6c..fd58e4f9d 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -8599,6 +8599,14 @@ + + + 验证医学审核问题是否可确认 + + + + + 从系统里面选择问题添加到项目里面 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs index f6f47de0d..b231084fa 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs @@ -263,8 +263,12 @@ namespace IRaCIS.Core.Application.ViewModel public ReadingCategory? ReadingCategory { get; set; } } + public class VerifyIsCanConfirmInDto + { + public Guid TrialReadingCriterionId { get; set; } + } - public class GetMedicineQuestionPreviewOutDto + public class GetMedicineQuestionPreviewOutDto { public Guid Id { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs index 84962df64..6330be83d 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs @@ -36,6 +36,7 @@ namespace IRaCIS.Core.Application.Service this._readingMedicineSystemQuestionRepository = readingMedicineSystemQuestionRepository; } + #region 系统 @@ -605,6 +606,39 @@ namespace IRaCIS.Core.Application.Service } + /// + /// 验证医学审核问题是否可确认 + /// + /// + /// + /// + [HttpPost] + public async Task VerifyIsCanConfirm(VerifyIsCanConfirmInDto inDto) + { + var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync(); + + if (!criterionInfo.IsSigned) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_NoConfirmed"]); + } + if (!(await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Visit))) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_NoVisitQ"]); + } + if (criterionInfo.IsReadingPeriod&& !(await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Global))) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_NoGlobalQ"]); + } + if (criterionInfo.IsArbitrationReading&&!(await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Judge))) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_NoJudgeQ"]); + } + if (criterionInfo.IsOncologyReading&& !(await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Oncology))) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_NoOncologyQ"]); + } + } + /// /// 从系统里面选择问题添加到项目里面 ///