diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index 4fa795ad6..0b00ab56f 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -407,7 +407,7 @@ namespace IRaCIS.Core.Application.Service.Common /// /// [HttpPost] - public async Task GetImageBackList_Export(ImageBackQueryDto inQuery, + public async Task GetImageBackList_Export(ImageBackQueryDto inQuery, [FromServices] IRepository _subjectVisitImageBackRecordReposiotry, [FromServices] IDictionaryService _dictionaryService) { var svExpression = QCCommon.GetSubjectVisitImageBackRecordFilter(inQuery.VisitPlanArray); @@ -428,7 +428,7 @@ namespace IRaCIS.Core.Application.Service.Common var defalutSortArray = new string[] { nameof(ImageBackViewModel.IsUrgent) + " desc", nameof(ImageBackViewModel.SubjectCode), nameof(ImageBackViewModel.VisitNum) }; - var list = await query.OrderByDescending(t=>t.IsUrgent).ThenBy(t=>t.SubjectCode).ThenBy(t=>t.VisitNum).ToListAsync(); + var list = await query.OrderByDescending(t => t.IsUrgent).ThenBy(t => t.SubjectCode).ThenBy(t => t.VisitNum).ToListAsync(); var exportInfo = (await _trialRepository.Where(t => t.Id == inQuery.TrialId).IgnoreQueryFilters().ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException(); @@ -1292,7 +1292,7 @@ namespace IRaCIS.Core.Application.Service.Common //Uploader = t.Uploader.UserName, //UploadTime = t.CreateTime - SubjectStatus=t.Subject.Status + SubjectStatus = t.Subject.Status }); @@ -2619,33 +2619,21 @@ namespace IRaCIS.Core.Application.Service.Common // 配置在外层问题 或者表格问题上 taskList = await query.ProjectTo(_mapper.ConfigurationProvider, - new - { - readingExportType = inQuery.ReadingExportType, - criterionType = criterion.CriterionType, - arbitrationRule = criterion.ArbitrationRule, - trialReadingCriterionId = inQuery.TrialReadingCriterionId, - isEn_Us = _userInfo.IsEn_Us - }).ToListAsync(); + new + { + readingExportType = inQuery.ReadingExportType, + criterionType = criterion.CriterionType, + arbitrationRule = criterion.ArbitrationRule, + trialReadingCriterionId = inQuery.TrialReadingCriterionId, + isEn_Us = _userInfo.IsEn_Us + }).ToListAsync(); } // CDISC 导出 只管到 外层问题层级 和阅片结果表是保持一致 else if (inQuery.ReadingExportType == ExportResult.CDISC) { - if (criterion.CriterionType == CriterionType.SelfDefine) - { - taskList = await query.ProjectTo(_mapper.ConfigurationProvider, - new - { - readingExportType = inQuery.ReadingExportType, - criterionType = criterion.CriterionType, - arbitrationRule = criterion.ArbitrationRule, - trialReadingCriterionId = inQuery.TrialReadingCriterionId, - isEn_Us = _userInfo.IsEn_Us - }).ToListAsync(); - } - else + if (criterion.CriterionGroup == CriterionGroup.Tumor) { list = await query.ProjectTo(_mapper.ConfigurationProvider, @@ -2658,8 +2646,18 @@ namespace IRaCIS.Core.Application.Service.Common isEn_Us = _userInfo.IsEn_Us }).ToListAsync(); } - - + else + { + taskList = await query.ProjectTo(_mapper.ConfigurationProvider, + new + { + readingExportType = inQuery.ReadingExportType, + criterionType = criterion.CriterionType, + arbitrationRule = criterion.ArbitrationRule, + trialReadingCriterionId = inQuery.TrialReadingCriterionId, + isEn_Us = _userInfo.IsEn_Us + }).ToListAsync(); + } } @@ -3150,7 +3148,7 @@ namespace IRaCIS.Core.Application.Service.Common { //遍历病灶的每个问题 - foreach (var lessionItem in lession.LessionAnswerList.OrderBy(t=>t.ShowOrder)) + foreach (var lessionItem in lession.LessionAnswerList.OrderBy(t => t.ShowOrder)) { var cloneItem = item.Clone(); diff --git a/IRaCIS.Core.Application/Service/QC/QCListService.cs b/IRaCIS.Core.Application/Service/QC/QCListService.cs index d5ba73af0..a5a60c9e3 100644 --- a/IRaCIS.Core.Application/Service/QC/QCListService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCListService.cs @@ -83,6 +83,7 @@ namespace IRaCIS.Core.Application.Image.QA var svExpression = QCCommon.GetSubjectVisitFilter(inQuery.VisitPlanArray); var query = _subjectVisitRepository.Where(x => x.TrialId == inQuery.TrialId) + .Where(t => !(t.Subject.Status == SubjectStatus.EndOfVisit && t.SubmitState == SubmitStateEnum.None && !t.Subject.SubjectVisitList.Any(c => c.VisitNum > t.VisitNum && c.SubmitState > SubmitStateEnum.None))) .Where(t => t.Subject.FinalSubjectVisitId != null ? t.VisitNum <= t.Subject.FinalSubjectVisit.VisitNum : true) .WhereIf(inQuery.TrialSiteId != null, t => t.TrialSiteId == inQuery.TrialSiteId) .WhereIf(inQuery.SubjectId != null, t => t.Subject.Id == inQuery.SubjectId)