diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 5c461505c..21d11539f 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -753,8 +753,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid TrialId { get; set; } - [NotDefault] - public Guid TrialReadingCriterionId { get; set; } + + public Guid? TrialReadingCriterionId { get; set; } public Guid? VisistTaskId { get; set; } } @@ -778,6 +778,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public bool IsReadingShowPreviousResults { get; set; } = false; + public Guid TrialReadingCriterionId { get; set; } + } public class GetReadingImgInDto diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs index 364ebea6b..1f002c5b8 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs @@ -1227,6 +1227,13 @@ namespace IRaCIS.Application.Services { GetReadingTaskDto? task = new GetReadingTaskDto(); + var trialReadingCriterionId = inDto.TrialReadingCriterionId; + + if(trialReadingCriterionId==null && inDto.VisistTaskId == null) + { + throw new BusinessValidationFailedException("当没有任务Id的时候,标准Id必传"); + } + if (inDto.VisistTaskId != null) { task = await _visitTaskRepository.Where(x => x.Id == inDto.VisistTaskId).Select(x => new GetReadingTaskDto() @@ -1237,9 +1244,12 @@ namespace IRaCIS.Application.Services ReadingCategory = x.ReadingCategory, VisistId = x.SourceSubjectVisitId != null ? x.SourceSubjectVisitId.Value : default(Guid), VisitNum = x.VisitTaskNum, + TrialReadingCriterionId=x.TrialReadingCriterionId, }).FirstOrDefaultAsync(); + trialReadingCriterionId = task.TrialReadingCriterionId; + } else if (inDto.SubjectId != null) { @@ -1273,7 +1283,7 @@ namespace IRaCIS.Application.Services //}).OrderBy(x => x.VisitNum).ThenBy(x => x.ReadingCategory); #endregion - var subjectTaskList = await _visitTaskService.GetOrderReadingIQueryable(inDto.TrialId, inDto.TrialReadingCriterionId).Item2.ToListAsync(); + var subjectTaskList = await _visitTaskService.GetOrderReadingIQueryable(inDto.TrialId, trialReadingCriterionId).Item2.ToListAsync(); var index = 0; subjectTaskList.ForEach(x => @@ -1299,7 +1309,8 @@ namespace IRaCIS.Application.Services TaskBlindName = x.TaskBlindName, VisitNum = x.VisitNum, VisistId = x.VisistId ?? default(Guid), - VisitTaskId = x.Id + VisitTaskId = x.Id, + TrialReadingCriterionId = x.TrialReadingCriterionId, }).FirstOrDefault(); @@ -1307,7 +1318,7 @@ namespace IRaCIS.Application.Services } else { - task = await _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.DoctorUserId == _userInfo.Id && x.TaskState == TaskState.Effect).Select(x => new GetReadingTaskDto() + task = await _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId==trialReadingCriterionId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.DoctorUserId == _userInfo.Id && x.TaskState == TaskState.Effect).Select(x => new GetReadingTaskDto() { VisitTaskId = x.Id, TaskBlindName = x.TaskBlindName, @@ -1316,6 +1327,7 @@ namespace IRaCIS.Application.Services VisitNum = x.VisitTaskNum, SubjectId = x.SubjectId, SubjectCode = x.Subject.Code, + TrialReadingCriterionId = x.TrialReadingCriterionId, }).FirstOrDefaultAsync(); if (task == null) {