质控预览再次修改0214
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
hang 2025-02-14 10:54:00 +08:00
parent 44f74fd9e6
commit 1e9f4d890f
4 changed files with 27 additions and 7 deletions

View File

@ -19,8 +19,14 @@ namespace IRaCIS.Core.Application.Services
[HttpGet("{seriesId:guid}")]
public async Task<IResponseOutput<List<DicomInstanceDTO>>> List(Guid seriesId)
{
var list = await _instanceRepository.Where(s => s.SeriesId == seriesId).IgnoreQueryFilters().OrderBy(s => s.InstanceNumber).
ThenBy(s => s.InstanceTime).ThenBy(s => s.CreateTime)
var qcAuditState = await _instanceRepository.Where(s => s.SeriesId == seriesId).Select(t => t.DicomStudy.SubjectVisit.AuditState).FirstOrDefaultAsync();
//质控通过以后,过滤删除的 质控之前的不过滤
var isQCFinished = qcAuditState == AuditStateEnum.QCPassed;
var list = await _instanceRepository.Where(s => s.SeriesId == seriesId).IgnoreQueryFilters()
.WhereIf(isQCFinished, t => t.IsDeleted == false)
.OrderBy(s => s.InstanceNumber).ThenBy(s => s.InstanceTime).ThenBy(s => s.CreateTime)
.ProjectTo<DicomInstanceDTO>(_mapper.ConfigurationProvider).ToListAsync();
var seriesInfo = await _instanceRepository.Where(s => s.SeriesId == seriesId).Select(t => new { t.DicomSerie.ImageResizePath,t.DicomSerie.IsDeleted,t.DicomSerie.IsReading }).FirstOrDefaultAsync();

View File

@ -24,20 +24,24 @@ namespace IRaCIS.Core.Application.Services
{
//质控的时候要标记序列和instance 删除 ,所以要返回全部,但是 质控通过后pm 进去看的时候要看过滤后的
var isInQC = await _seriesRepository.Where(s => s.StudyId == studyId).AnyAsync(t => t.DicomStudy.SubjectVisit.AuditState > AuditStateEnum.ToAudit);
var qcAuditState = await _seriesRepository.Where(s => s.StudyId == studyId).Select(t => t.DicomStudy.SubjectVisit.AuditState).FirstOrDefaultAsync();
//质控通过以后,预览过滤删除的 质控之前的不过滤
var isQCFinished = qcAuditState == AuditStateEnum.QCPassed;
//断点
var seriesList = await _seriesRepository.Where(s => s.StudyId == studyId).IgnoreQueryFilters()
.WhereIf(isInQC, t => t.IsDeleted == false)
.WhereIf(isQCFinished, 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()
.WhereIf(isInQC, t => t.IsDeleted == false)
.WhereIf(isQCFinished, 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)
{

View File

@ -212,6 +212,13 @@ namespace IRaCIS.Core.Application.Services
[AllowAnonymous]
public async Task<List<VisitStudyDTO>> GetVisitStudyList(Guid trialId, Guid sujectVisitId, int isReading, [FromQuery] Guid? visitTaskId)
{
var qcAuditState = await _subjectVisitRepository.Where(s => s.Id == sujectVisitId).Select(t => t.AuditState).FirstOrDefaultAsync();
//质控通过以后,过滤删除的 质控之前的不过滤
var isQCFinished = qcAuditState == AuditStateEnum.QCPassed;
var isImageFilter = false;
var criterionModalitys = "";
if (visitTaskId != null)
@ -238,12 +245,15 @@ namespace IRaCIS.Core.Application.Services
var instanceList = await _dicomInstanceRepository.Where(t => studyIds.Contains(t.StudyId)).IgnoreQueryFilters()
.WhereIf(isReading == 1, s => s.IsReading && s.IsDeleted == false)
.WhereIf(isQCFinished, t => t.IsDeleted == false)
.Select(t => new { t.SeriesId, t.Id, t.InstanceNumber, t.Path, t.NumberOfFrames, t.HtmlPath, t.IsReading, t.IsDeleted }).ToListAsync();
foreach (var t in studyList)
{
t.SeriesList = await _dicomSeriesRepository.Where(s => s.StudyId == t.StudyId).IgnoreQueryFilters()
.WhereIf(isReading == 1, s => s.IsReading && s.IsDeleted == false).OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime)
.WhereIf(isReading == 1, s => s.IsReading && s.IsDeleted == false)
.WhereIf(isQCFinished, t => t.IsDeleted == false)
.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime)
.ProjectTo<DicomSeriesDTO>(_mapper.ConfigurationProvider).ToListAsync();

View File

@ -23,7 +23,7 @@ namespace IRaCIS.Core.Domain.Share
InSecondaryQC = 6,
//任何QC设置为QC Failed
//任何QC设置为QC Failed--去掉了
QCFailed = 7,
//2nd QC设置为QC Passed