diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index 9dfacdcfe..81092d152 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -1546,6 +1546,20 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public QuestionClassify? QuestionClassify { get; set; }
}
+ public class GetFilterTableQuestionInDto
+ {
+ public Guid TrialId { get; set; }
+
+ public Guid VisitTaskId { get; set; }
+
+ public Guid QuestionId { get; set; }
+
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
+ }
+
#endregion
public class GetHistoryGlobalInfoOutDto
{
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index d2a04e586..2b0534458 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -1401,6 +1401,38 @@ namespace IRaCIS.Core.Application.Service
}); ;
}
+ ///
+ /// 获取单个表格问题及答案 过滤问题
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task GetFilterTableQuestion(GetFilterTableQuestionInDto inDto)
+ {
+ var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
+ var tableAnswers = await _readingTableQuestionAnswerRepository
+ .ProjectTo(_mapper.ConfigurationProvider)
+ .Where(x => x.VisitTaskId == inDto.VisitTaskId).ToListAsync();
+ var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+ var organIds = tableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
+ var organList = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
+ var questionPage = await GetReadingTableQuestion(
+ new GetReadingTableQuestionOrAnswerInDto()
+ {
+ TrialReadingCriterionId = taskinfo.TrialReadingCriterionId,
+ TaskId = inDto.VisitTaskId,
+ TableAnswers = tableAnswers,
+ TableAnsweRowInfos = tableAnsweRowInfos,
+ OrganInfos = organList,
+ QuestionClassify = inDto.QuestionClassify,
+ });
+
+
+ var result = questionPage.SinglePage.SelectMany(x => x.Childrens).Where(x => x.Id == inDto.QuestionId).FirstOrDefault();
+
+ return result;
+ }
+
///
/// 获取自定义问题以及答案
///