diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index a05ec4760..0612eb76e 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -276,7 +276,9 @@ namespace IRaCIS.Core.Application.Service result.AnswerList = new List>(); result.QuestionList=await _trialClinicalQuestionRepository.Where(x=>x.TrialClinicalId==inDto.ClinicalDataTrialSetId &&x.ClinicalQuestionType!= ReadingQestionType.Group - && x.ClinicalQuestionType != ReadingQestionType.Table).OrderByDescending(x=>x.IsCheckDate).ThenBy(x=>x.ShowOrder) + && x.ClinicalQuestionType != ReadingQestionType.Table + && x.ClinicalQuestionType != ReadingQestionType.BasicTable + ).OrderByDescending(x=>x.IsCheckDate).ThenBy(x=>x.ShowOrder) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); if (_userInfo.IsEn_Us) { @@ -603,7 +605,7 @@ namespace IRaCIS.Core.Application.Service ClinicalDataTrialSetId= x.ClinicalDataTrialSet.Id, ClinicalDataSetName =x.ClinicalDataTrialSet.ClinicalDataSetName, ClinicalDataSetEnName=x.ClinicalDataTrialSet.ClinicalDataSetEnName, - IsHaveTableQuestion=x.ClinicalDataTrialSet.TrialClinicalQuestionList.Any(y=>y.ClinicalQuestionType== ReadingQestionType.Table), + IsHaveTableQuestion=x.ClinicalDataTrialSet.TrialClinicalQuestionList.Any(y=>y.ClinicalQuestionType== ReadingQestionType.Table|| y.ClinicalQuestionType== ReadingQestionType.BasicTable), }).ToListAsync(); var confirmList = await _readModuleCriterionFromRepository.Where(x => x.TrialId == inDto.TrialId &&x.ClinicalForm.ClinicalDataTrialSet.UploadRole== UploadRole.CRC @@ -616,7 +618,7 @@ namespace IRaCIS.Core.Application.Service ClinicalFormId = x.ClinicalFormId, ClinicalDataTrialSetId = x.ClinicalForm.ClinicalDataTrialSet.Id, ReadModuleId=x.ReadModuleId, - IsHaveTableQuestion=x.ClinicalForm.ClinicalDataTrialSet.TrialClinicalQuestionList.Any(y => y.ClinicalQuestionType == ReadingQestionType.Table) + IsHaveTableQuestion=x.ClinicalForm.ClinicalDataTrialSet.TrialClinicalQuestionList.Any(y => y.ClinicalQuestionType == ReadingQestionType.Table || y.ClinicalQuestionType == ReadingQestionType.BasicTable) }).ToListAsync(); @@ -712,7 +714,9 @@ namespace IRaCIS.Core.Application.Service var questionList = await _trialClinicalQuestionRepository.Where(x => clinicalDataTrialSetIds.Contains( x.TrialClinicalId) && x.ClinicalQuestionType != ReadingQestionType.Group - && x.ClinicalQuestionType != ReadingQestionType.Table).OrderBy(x=>x.TrialClinicalId).ThenBy(x => x.ShowOrder) + && x.ClinicalQuestionType != ReadingQestionType.Table + && x.ClinicalQuestionType != ReadingQestionType.BasicTable + ).OrderBy(x=>x.TrialClinicalId).ThenBy(x => x.ShowOrder) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); var answers = await _clinicalQuestionAnswerRepository.Where(x => clinicalFormIds.Contains(x.ClinicalFormId)) .Select(x => new diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 285332b0b..7d689472c 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -795,8 +795,8 @@ namespace IRaCIS.Application.Services //排除表格问题 var questions = await _readingQuestionTrialRepository .WhereIf(questionClassify != null, x => x.QuestionClassify == questionClassify) - .WhereIf(criterionIdInfo.IseCRFShowInDicomReading, x => x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table) - .WhereIf(!criterionIdInfo.IseCRFShowInDicomReading, x => x.IsShowInDicom && x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table) + .WhereIf(criterionIdInfo.IseCRFShowInDicomReading, x => x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table&& x.Type != ReadingQestionType.BasicTable) + .WhereIf(!criterionIdInfo.IseCRFShowInDicomReading, x => x.IsShowInDicom && x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table && x.Type != ReadingQestionType.BasicTable) .ProjectTo(_mapper.ConfigurationProvider, new { @@ -1138,7 +1138,13 @@ namespace IRaCIS.Application.Services { if (!criterionInfo.IseCRFShowInDicomReading) { - qusetionList = qusetionList.Where(x => x.IsShowInDicom && (x.Type == ReadingQestionType.Table || x.Type == ReadingQestionType.Group)).OrderBy(x => x.ShowOrder).ToList(); + List types = new List() + { + ReadingQestionType.Table, + ReadingQestionType.BasicTable, + ReadingQestionType.Group, + }; + qusetionList = qusetionList.Where(x => x.IsShowInDicom && types.Contains(x.Type)).OrderBy(x => x.ShowOrder).ToList(); } @@ -1155,7 +1161,7 @@ namespace IRaCIS.Application.Services } - var usedGuropIds = qusetionList.Where(x => x.Type == ReadingQestionType.Table).Select(x => x.GroupId).ToList(); + var usedGuropIds = qusetionList.Where(x => x.Type == ReadingQestionType.Table|| x.Type== ReadingQestionType.BasicTable).Select(x => x.GroupId).ToList(); qusetionList = qusetionList.Where(x => usedGuropIds.Contains(x.Id) || usedGuropIds.Contains(x.GroupId)).ToList(); } break; diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs index 68f314c54..e108d8a5b 100644 --- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs +++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs @@ -13,6 +13,8 @@ namespace IRaCIS.Core.Domain.Share public static readonly string Table = "table"; + public static readonly string BasicTable = "basicTable"; + public static readonly string Group = "group"; }