修改 预览根据质控状态过滤
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
hang 2025-02-13 18:01:17 +08:00
parent f1c8415899
commit 44f74fd9e6
1 changed files with 11 additions and 4 deletions

View File

@ -22,13 +22,20 @@ namespace IRaCIS.Core.Application.Services
[HttpGet, Route("{studyId:guid}")]
public async Task<IResponseOutput<List<DicomSeriesDTO>>> List(Guid studyId)
{
//质控的时候要标记序列和instance 删除 ,所以要返回全部,但是 质控通过后pm 进去看的时候要看过滤后的
var isInQC = await _seriesRepository.Where(s => s.StudyId == studyId).AnyAsync(t => t.DicomStudy.SubjectVisit.AuditState > AuditStateEnum.ToAudit);
//断点
var seriesList = await _seriesRepository.Where(s => s.StudyId == studyId).IgnoreQueryFilters().OrderBy(s => s.SeriesNumber).
ThenBy(s => s.SeriesTime).ThenBy(s => s.CreateTime)
var seriesList = await _seriesRepository.Where(s => s.StudyId == studyId).IgnoreQueryFilters()
.WhereIf(isInQC, t => t.IsDeleted == false)
.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).ThenBy(s => s.CreateTime)
.ProjectTo<DicomSeriesDTO>(_mapper.ConfigurationProvider).ToListAsync();
var instanceList = await _instanceRepository.Where(s => s.StudyId == studyId).IgnoreQueryFilters().OrderBy(t => t.SeriesId).ThenBy(t => t.InstanceNumber)
.ThenBy(s => s.InstanceTime).ThenBy(s => s.CreateTime)
var instanceList = await _instanceRepository.Where(s => s.StudyId == studyId).IgnoreQueryFilters()
.WhereIf(isInQC, t => t.IsDeleted == false)
.OrderBy(t => t.SeriesId).ThenBy(t => t.InstanceNumber)
.ThenBy(s => s.InstanceTime).ThenBy(s => s.CreateTime)
.Select(t => new { t.SeriesId, t.Id, t.Path, t.NumberOfFrames, t.InstanceNumber, t.HtmlPath, t.IsReading, t.IsDeleted }).ToListAsync();//.GroupBy(u => u.SeriesId);
foreach (var series in seriesList)