影像质控,质控人看到的是过滤了删除的,其他人看到的是原始的
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-02-14 13:09:26 +08:00
parent 1e9f4d890f
commit 45b469682a
4 changed files with 18 additions and 5 deletions
@@ -519,9 +519,16 @@ namespace IRaCIS.Core.Application.Image.QA
[HttpGet("{subjectVisitId:guid}")]
public async Task<IResponseOutput<List<QAStudyInfoDTO>>> GetSubjectVisitUploadedStudyList(Guid subjectVisitId)
{
var qcAuditState = await _subjectVisitRepository.Where(s => s.Id == subjectVisitId).Select(t => t.AuditState).FirstOrDefaultAsync();
//质控过程中,因为会修改统计数字,但是此时其他人看,应该看到完整的影像
var isQCFinished = qcAuditState == AuditStateEnum.QCPassed;
var isNeedStat = _userInfo.UserTypeEnumInt != (int)UserTypeEnum.IQC && !isQCFinished;
var visit = await _subjectVisitRepository.Where(x => x.Id == subjectVisitId).FirstNotNullAsync();
var list = await _dicomStudyRepository.Where(s => s.SubjectVisitId == subjectVisitId).IgnoreQueryFilters().ProjectTo<QAStudyInfoDTO>(_mapper.ConfigurationProvider).OrderBy(t => t.StudyCode).ToListAsync();
var list = await _dicomStudyRepository.Where(s => s.SubjectVisitId == subjectVisitId).IgnoreQueryFilters().ProjectTo<QAStudyInfoDTO>(_mapper.ConfigurationProvider,new { isNeedStat= isNeedStat }).OrderBy(t => t.StudyCode).ToListAsync();
var config = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => t.Trial).ProjectTo<TrialSubjectAndSVConfig>(_mapper.ConfigurationProvider).FirstOrDefaultAsync().IfNullThrowException();
@@ -530,7 +537,7 @@ namespace IRaCIS.Core.Application.Image.QA
config.IsPacsConnectConfiged = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).AnyAsync(t => t.Trial.IsPACSConnect && t.Subject.TrialSite.TrialSiteDicomAEList.Any());
return ResponseOutput.Ok (list, config);
return ResponseOutput.Ok(list, config);
}