From a08570d701978ffa4a0645d77aef16ae8e696e69 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 8 Aug 2023 11:35:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=8F=AF=E4=BC=A0=E4=B8=8E=E5=90=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/Dto/ReadingImageTaskViewModel.cs | 3 +-- .../ReadingImageTaskService.cs | 27 +++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index b01c8e1ef..60cc90cc6 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -1398,8 +1398,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid? SubjectId { get; set; } - [NotDefault] - public Guid TrialReadingCriterionId { get; set; } + public Guid? TrialReadingCriterionId { get; set; } public Guid? VisitTaskId { get; set; } } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 8ed453112..69fafccdb 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -2259,12 +2259,19 @@ namespace IRaCIS.Application.Services var trialReadingCriterionId = inDto.TrialReadingCriterionId; - var trialReadingCriterion= await _readingQuestionCriterionTrialRepository.FindAsync(trialReadingCriterionId); - //if (trialReadingCriterionId == null && inDto.VisitTaskId == null) - //{ - // throw new BusinessValidationFailedException(_localizer["ReadingImage_IDMust"]); - //} + if (trialReadingCriterionId == null && inDto.VisitTaskId == null) + { + throw new BusinessValidationFailedException(_localizer["ReadingImage_IDMust"]); + } + + if (inDto.VisitTaskId != null) + { + trialReadingCriterionId = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(t => t.TrialReadingCriterionId).FirstOrDefaultAsync(); + } + + var trialReadingCriterion = await _readingQuestionCriterionTrialRepository.FindAsync(trialReadingCriterionId ?? Guid.Empty); + //看已阅的任务 if (inDto.VisitTaskId != null) @@ -2282,15 +2289,13 @@ namespace IRaCIS.Application.Services }).FirstOrDefaultAsync(); - trialReadingCriterionId = task.TrialReadingCriterionId; - } else if (inDto.SubjectId != null && trialReadingCriterion.IsReadingTaskViewInOrder) { var subjectTaskList = (await _visitTaskService.GetOrderReadingIQueryable(new GetOrderReadingIQueryableInDto() { TrialId = inDto.TrialId, - TrialReadingCriterionId = trialReadingCriterionId, + TrialReadingCriterionId = trialReadingCriterionId.Value, Page = new PageInput() { PageIndex = 1, @@ -2357,11 +2362,11 @@ namespace IRaCIS.Application.Services // }).OrderByDescending(t => t.TaskBlindName).FirstOrDefaultAsync(); #endregion - var taskQuery = await _visitTaskService.GetNotOrderReadingQueryableAsync(inDto.TrialId,(Guid) trialReadingCriterionId); + var taskQuery = await _visitTaskService.GetNotOrderReadingQueryableAsync(inDto.TrialId, (Guid)trialReadingCriterionId); var list = taskQuery.ToList(); - task = await taskQuery.OrderByDescending(t => t.TaskBlindName) + task = await taskQuery.OrderByDescending(t => t.TaskBlindName) .Select(x => new GetReadingTaskDto() { VisitTaskId = x.Id, @@ -2373,7 +2378,7 @@ namespace IRaCIS.Application.Services SubjectId = x.SubjectId, SubjectCode = x.Subject.Code, TrialReadingCriterionId = x.TrialReadingCriterionId, - }).OrderByDescending(t => t.TaskBlindName).FirstOrDefaultAsync(); + }).OrderByDescending(t => t.TaskBlindName).FirstOrDefaultAsync(); if (task != null) {