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)