质控预览再次修改0214
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
44f74fd9e6
commit
1e9f4d890f
|
@ -19,8 +19,14 @@ namespace IRaCIS.Core.Application.Services
|
||||||
[HttpGet("{seriesId:guid}")]
|
[HttpGet("{seriesId:guid}")]
|
||||||
public async Task<IResponseOutput<List<DicomInstanceDTO>>> List(Guid seriesId)
|
public async Task<IResponseOutput<List<DicomInstanceDTO>>> List(Guid seriesId)
|
||||||
{
|
{
|
||||||
var list = await _instanceRepository.Where(s => s.SeriesId == seriesId).IgnoreQueryFilters().OrderBy(s => s.InstanceNumber).
|
var qcAuditState = await _instanceRepository.Where(s => s.SeriesId == seriesId).Select(t => t.DicomStudy.SubjectVisit.AuditState).FirstOrDefaultAsync();
|
||||||
ThenBy(s => s.InstanceTime).ThenBy(s => s.CreateTime)
|
|
||||||
|
//质控通过以后,过滤删除的 质控之前的不过滤
|
||||||
|
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();
|
.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();
|
var seriesInfo = await _instanceRepository.Where(s => s.SeriesId == seriesId).Select(t => new { t.DicomSerie.ImageResizePath,t.DicomSerie.IsDeleted,t.DicomSerie.IsReading }).FirstOrDefaultAsync();
|
||||||
|
|
|
@ -24,20 +24,24 @@ namespace IRaCIS.Core.Application.Services
|
||||||
{
|
{
|
||||||
//质控的时候,要标记序列,和instance 删除 ,所以要返回全部,但是 质控通过后,pm 进去看的时候要看过滤后的
|
//质控的时候,要标记序列,和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()
|
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)
|
.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).ThenBy(s => s.CreateTime)
|
||||||
.ProjectTo<DicomSeriesDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
.ProjectTo<DicomSeriesDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
var instanceList = await _instanceRepository.Where(s => s.StudyId == studyId).IgnoreQueryFilters()
|
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)
|
.OrderBy(t => t.SeriesId).ThenBy(t => t.InstanceNumber)
|
||||||
.ThenBy(s => s.InstanceTime).ThenBy(s => s.CreateTime)
|
.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);
|
.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)
|
foreach (var series in seriesList)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -212,6 +212,13 @@ namespace IRaCIS.Core.Application.Services
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
public async Task<List<VisitStudyDTO>> GetVisitStudyList(Guid trialId, Guid sujectVisitId, int isReading, [FromQuery] Guid? visitTaskId)
|
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 isImageFilter = false;
|
||||||
var criterionModalitys = "";
|
var criterionModalitys = "";
|
||||||
if (visitTaskId != null)
|
if (visitTaskId != null)
|
||||||
|
@ -238,12 +245,15 @@ namespace IRaCIS.Core.Application.Services
|
||||||
|
|
||||||
var instanceList = await _dicomInstanceRepository.Where(t => studyIds.Contains(t.StudyId)).IgnoreQueryFilters()
|
var instanceList = await _dicomInstanceRepository.Where(t => studyIds.Contains(t.StudyId)).IgnoreQueryFilters()
|
||||||
.WhereIf(isReading == 1, s => s.IsReading && s.IsDeleted == false)
|
.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();
|
.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)
|
foreach (var t in studyList)
|
||||||
{
|
{
|
||||||
t.SeriesList = await _dicomSeriesRepository.Where(s => s.StudyId == t.StudyId).IgnoreQueryFilters()
|
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();
|
.ProjectTo<DicomSeriesDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace IRaCIS.Core.Domain.Share
|
||||||
InSecondaryQC = 6,
|
InSecondaryQC = 6,
|
||||||
|
|
||||||
|
|
||||||
//任何QC设置为QC Failed
|
//任何QC设置为QC Failed--去掉了
|
||||||
QCFailed = 7,
|
QCFailed = 7,
|
||||||
|
|
||||||
//2nd QC设置为QC Passed
|
//2nd QC设置为QC Passed
|
||||||
|
|
Loading…
Reference in New Issue