Uat_Study
he 2023-03-28 15:02:29 +08:00
commit c8ee8a6081
2 changed files with 39 additions and 13 deletions

View File

@ -64,6 +64,10 @@ namespace IRaCIS.Core.Application.ViewModel
public string TrialSiteCode { get; set; } = string.Empty; public string TrialSiteCode { get; set; } = string.Empty;
public SubjectStatus? SubjectStatus { get; set; } public SubjectStatus? SubjectStatus { get; set; }
public bool? IsImageFiltering { get; set; }
public bool? IsJoinEvaluation { get; set; }
} }
///<summary> SubjectCriteriaEvaluationAddOrEdit 列表查询参数模型</summary> ///<summary> SubjectCriteriaEvaluationAddOrEdit 列表查询参数模型</summary>

View File

@ -109,7 +109,10 @@ namespace IRaCIS.Core.Application.Service
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.TrialSiteCode), t => t.TrialSite.TrialSiteCode.Contains(inQuery.TrialSiteCode)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.TrialSiteCode), t => t.TrialSite.TrialSiteCode.Contains(inQuery.TrialSiteCode))
.WhereIf(inQuery.SubjectStatus != null, t => t.Status == inQuery.SubjectStatus) .WhereIf(inQuery.SubjectStatus != null, t => t.Status == inQuery.SubjectStatus)
join subjectCriteriaEvaluation in _subjectCriteriaEvaluationRepository.Where(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId) on subject.Id equals subjectCriteriaEvaluation.SubjectId into d join subjectCriteriaEvaluation in _subjectCriteriaEvaluationRepository
.Where(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)
on subject.Id equals subjectCriteriaEvaluation.SubjectId into d
from subjectCriteriaEvaluation in d.DefaultIfEmpty() from subjectCriteriaEvaluation in d.DefaultIfEmpty()
select new SubjectCriteriaEvaluationView() select new SubjectCriteriaEvaluationView()
@ -141,7 +144,10 @@ namespace IRaCIS.Core.Application.Service
}; };
var pageList = await subjectCriteriaEvaluationQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField == string.Empty ? nameof(SubjectCriteriaEvaluationView.SubjectCode) : inQuery.SortField, inQuery.Asc); var pageList = await subjectCriteriaEvaluationQueryable
.WhereIf(inQuery.IsImageFiltering != null, t => t.IsImageFiltering==inQuery.IsImageFiltering)
.WhereIf(inQuery.IsJoinEvaluation != null, t => t.IsJoinEvaluation == inQuery.IsJoinEvaluation)
.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField == string.Empty ? nameof(SubjectCriteriaEvaluationView.SubjectCode) : inQuery.SortField, inQuery.Asc);
foreach (var item in pageList.CurrentPageData) foreach (var item in pageList.CurrentPageData)
@ -322,22 +328,29 @@ namespace IRaCIS.Core.Application.Service
var list = await _repository.Where<DicomSeries>(t => t.SubjectVisitId == subjectVisitId && t.SubjectId == subjectId).Select(t => new { SeriesId = t.Id, t.StudyId, t.BodyPartForEdit }).ToListAsync(); var list = await _repository.Where<DicomSeries>(t => t.SubjectVisitId == subjectVisitId && t.SubjectId == subjectId).Select(t => new { SeriesId = t.Id, t.StudyId, t.BodyPartForEdit }).ToListAsync();
//已经自动筛选过 ////已经自动筛选过
if (await _subjectCriteriaEvaluationVisitFilterRepository.AnyAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == subjectVisitId)) //if (await _subjectCriteriaEvaluationVisitFilterRepository.AnyAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == subjectVisitId))
{ //{
await _subjectCriteriaEvaluationVisitFilterRepository.BatchDeleteNoTrackingAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == subjectVisitId); // await _subjectCriteriaEvaluationVisitFilterRepository.BatchDeleteNoTrackingAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == subjectVisitId);
// await _subjectCriteriaEvaluationVisitStudyFilterRepository.BatchDeleteNoTrackingAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == subjectVisitId);
//}
var existEntity = await _subjectCriteriaEvaluationVisitFilterRepository.FirstOrDefaultAsync(t => t.SubjectId == subjectId && t.SubjectVisitId == subjectVisitId && t.TrialReadingCriterionId == trialReadingCriterionId);
//已经自动筛选过
if (existEntity != null)
{
await _subjectCriteriaEvaluationVisitStudyFilterRepository.BatchDeleteNoTrackingAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == subjectVisitId); await _subjectCriteriaEvaluationVisitStudyFilterRepository.BatchDeleteNoTrackingAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == subjectVisitId);
} }
//var existEntity = await _subjectCriteriaEvaluationVisitFilterRepository.FirstOrDefaultAsync(t => t.SubjectId == subjectId && t.SubjectVisitId == subjectVisitId && t.TrialReadingCriterionId == trialReadingCriterionId);
//有不是脑部的序列 //有不是脑部的序列
if (list.Any(t => t.BodyPartForEdit != "脑部")) if (list.Any(t => t.BodyPartForEdit != "脑部"))
{ {
//if (existEntity == null) if (existEntity == null)
{ {
var addItem = new SubjectCriteriaEvaluationVisitFilter var addItem = new SubjectCriteriaEvaluationVisitFilter
{ {
@ -351,13 +364,18 @@ namespace IRaCIS.Core.Application.Service
var subjectCriteriaEvaluationVisitFilter = await _subjectCriteriaEvaluationVisitFilterRepository.AddAsync(addItem); var subjectCriteriaEvaluationVisitFilter = await _subjectCriteriaEvaluationVisitFilterRepository.AddAsync(addItem);
} }
else
{
existEntity.ImageDeterminationResultState = ImageDeterminationResultState.None;
existEntity.ImageFilterState = ImageFilterState.None;
}
} }
//都是脑部的序列 //都是脑部的序列
else else
{ {
//if (existEntity == null) if (existEntity == null)
{ {
var addItem = new SubjectCriteriaEvaluationVisitFilter var addItem = new SubjectCriteriaEvaluationVisitFilter
{ {
@ -372,7 +390,11 @@ namespace IRaCIS.Core.Application.Service
var subjectCriteriaEvaluationVisitFilter = await _subjectCriteriaEvaluationVisitFilterRepository.AddAsync(addItem); var subjectCriteriaEvaluationVisitFilter = await _subjectCriteriaEvaluationVisitFilterRepository.AddAsync(addItem);
} }
else
{
existEntity.ImageDeterminationResultState = ImageDeterminationResultState.Passed;
existEntity.ImageFilterState = ImageFilterState.Finished;
}
foreach (var item in list) foreach (var item in list)
{ {