diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 5d1cd4e54..9a9d333f7 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -4454,6 +4454,11 @@ 问题英文分组 + + + 问题名称 + + 自定义计算标记 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs index 41919985d..f1f58385c 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs @@ -1140,6 +1140,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid? ReadingQuestionId { get; set; } + public bool IsGetAll { get; set; } = false; + } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs index 6833682d8..3ca2a9992 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs @@ -420,7 +420,7 @@ namespace IRaCIS.Application.Services { var relationList = await GetQuestionCalculateRelation(new GetQuestionCalculateRelationInDto() { - + IsGetAll=true, TrialReadingCriterionId = indto.ReadingQuestionCriterionTrialId, }); @@ -504,8 +504,8 @@ namespace IRaCIS.Application.Services { if (inDto.TrialReadingCriterionId != null) { - return await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId - &&x.DataSource== DataSources.Automatic&&x.Type== "number") + return await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId) + .WhereIf(!inDto.IsGetAll,x=>x.DataSource== DataSources.Automatic&&x.Type== "number") .Select(x => new CalculateRelationDto() { QuestionId = x.Id, @@ -520,7 +520,8 @@ namespace IRaCIS.Application.Services } else { - return await _readingTableQuestionTrialRepository.Where(x => x.ReadingQuestionId == inDto.ReadingQuestionId && x.DataSource == DataSources.Automatic && x.Type == "number") + return await _readingTableQuestionTrialRepository.Where(x => x.ReadingQuestionId == inDto.ReadingQuestionId) + .WhereIf(!inDto.IsGetAll, x => x.DataSource == DataSources.Automatic && x.Type == "number") .Select(x => new CalculateRelationDto() { QuestionId = x.Id, @@ -673,9 +674,9 @@ namespace IRaCIS.Application.Services { var relationList = await GetQuestionCalculateRelation(new GetQuestionCalculateRelationInDto() { - + IsGetAll = true, ReadingQuestionId = indto.ReadingQuestionId, - }); + }) ; var relation = relationList.FirstOrDefault(x => x.QuestionId == indto.Id); List calculateInfoList = new List();