diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs index 6330be83d..12ab48a55 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs @@ -516,7 +516,7 @@ namespace IRaCIS.Core.Application.Service await _readingMedicineTrialQuestionRepository.BatchDeleteNoTrackingAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId); var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync(); List needAddCategory = new List() { ReadingCategory.Visit }; - if(criterionInfo.IsReadingPeriod) + if(criterionInfo.IsGlobalReading) { needAddCategory.Add(ReadingCategory.Global); } @@ -625,7 +625,7 @@ namespace IRaCIS.Core.Application.Service { throw new BusinessValidationFailedException(_localizer["ReadingMed_NoVisitQ"]); } - if (criterionInfo.IsReadingPeriod&& !(await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Global))) + if (criterionInfo.IsGlobalReading && !(await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Global))) { throw new BusinessValidationFailedException(_localizer["ReadingMed_NoGlobalQ"]); } @@ -637,6 +637,18 @@ namespace IRaCIS.Core.Application.Service { throw new BusinessValidationFailedException(_localizer["ReadingMed_NoOncologyQ"]); } + if (!criterionInfo.IsGlobalReading && (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Global))) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_HaveGlobalQ"]); + } + if (!criterionInfo.IsArbitrationReading && (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Judge))) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_HaveJudgeQ"]); + } + if (!criterionInfo.IsOncologyReading && (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Oncology))) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_HaveOncologyQ"]); + } } /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 603f1c566..cb630ae1d 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -181,6 +181,7 @@ namespace IRaCIS.Application.Services var taskInfoList = await _generalCalculateService.GetReadingReportTaskList(rowinfo.VisitTaskId); var visitTaskIds = taskInfoList.Select(x => x.VisitTaskId).ToList(); List result = await _readingTableAnswerRowInfoRepository.Where(x => x.QuestionId == rowinfo.QuestionId && x.RowIndex == rowinfo.RowIndex && visitTaskIds.Contains(x.VisitTaskId)) + .Where(x=>x.OtherPicturePath!=null&&x.OtherPicturePath!=string.Empty) .OrderBy(x => x.VisitTask.VisitTaskNum).Select(x => new GetPreviousOtherPicturePathOutDto() { VisitTaskId = x.VisitTaskId,