非dicom 预览阅片影像 过滤是否阅片
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
17f131cf63
commit
959b49a2cc
|
@ -29,11 +29,12 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
|
||||
[HttpGet]
|
||||
public async Task<IResponseOutput<List<NoneDicomStudyView>> > GetNoneDicomStudyList(
|
||||
public async Task<IResponseOutput<List<NoneDicomStudyView>>> GetNoneDicomStudyList(
|
||||
[FromQuery, NotDefault] Guid subjectVisitId,
|
||||
[FromQuery] Guid? nonedicomStudyId,
|
||||
[FromQuery] bool isFilterZip,
|
||||
[FromQuery] Guid? visitTaskId)
|
||||
[FromQuery] Guid? visitTaskId,
|
||||
[FromQuery] bool isReading)
|
||||
{
|
||||
var qcAuditState = await _subjectVisitRepository.Where(s => s.Id == subjectVisitId).Select(t => t.AuditState).FirstOrDefaultAsync();
|
||||
|
||||
|
@ -41,15 +42,18 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
var isQCFinished = qcAuditState == AuditStateEnum.QCPassed;
|
||||
|
||||
//质控过程中并且不是IQC时, 不需要忽略过滤器+质控设置删除的
|
||||
var isIgnoreDelete = !(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.IQC && !isQCFinished);
|
||||
var isIgnoreDelete = !(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.IQC && !isQCFinished);
|
||||
|
||||
IQueryable<NoneDicomStudyView> noneDicomStudyQueryable = default;
|
||||
if (visitTaskId == null)
|
||||
{
|
||||
//质控过程中,需要忽略过滤质控设置删除的检查,以及设置删除的文件,质控通过后才
|
||||
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId, ignoreQueryFilters: isIgnoreDelete).WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId)
|
||||
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId, ignoreQueryFilters: isIgnoreDelete)
|
||||
.WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId)
|
||||
.WhereIf(isReading, t => t.IsReading)
|
||||
|
||||
.ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip });
|
||||
|
||||
.ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip, isReading= isReading });
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -57,16 +61,17 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
|
||||
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.TaskNoneDicomFileList.Any(t => t.VisitTaskId == visitTaskId), ignoreQueryFilters: isIgnoreDelete)
|
||||
.WhereIf(isReading, t => t.IsReading)
|
||||
.Where(t => taskinfo.IsImageFilter ? ("|" + taskinfo.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true)
|
||||
.WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId)
|
||||
.ProjectTo<TaskDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip, visiTaskId = visitTaskId });
|
||||
.ProjectTo<TaskDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip, visiTaskId = visitTaskId, isReading = isReading });
|
||||
}
|
||||
|
||||
|
||||
var list = await noneDicomStudyQueryable.OrderBy(x => x.ImageDate).ThenBy(x => x.CreateTime).ToListAsync();
|
||||
|
||||
var config = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList ,t.Trial.IsShowStudyName, AuditState = qcAuditState }).FirstOrDefaultAsync();
|
||||
return ResponseOutput.Ok(list, config) ;
|
||||
var config = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList, t.Trial.IsShowStudyName, AuditState = qcAuditState }).FirstOrDefaultAsync();
|
||||
return ResponseOutput.Ok(list, config);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -404,7 +404,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
bool isIgnoreDelete = false;
|
||||
|
||||
bool isFilterReading = false;
|
||||
bool isReading = false;
|
||||
|
||||
|
||||
string token = string.Empty;
|
||||
|
@ -726,15 +726,15 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
CreateMap<NoneDicomStudy, NoneDicomStudyView>()
|
||||
.ForMember(d => d.NoneDicomStudyFileList, u => u.MapFrom(s => isFilterZip ?
|
||||
s.NoneDicomFileList.Where(t => !t.FileType.Contains(StaticData.FileType.Zip) && isFilterReading ? t.IsReading : true).OrderBy(t => t.CreateTime).ThenBy(t => t.FileName) :
|
||||
s.NoneDicomFileList.Where(t => isFilterReading ? t.IsReading : true).OrderBy(t => t.CreateTime).ThenBy(t => t.FileName)))
|
||||
s.NoneDicomFileList.Where(t => !t.FileType.Contains(StaticData.FileType.Zip) && isReading ? t.IsReading : true).OrderBy(t => t.CreateTime).ThenBy(t => t.FileName) :
|
||||
s.NoneDicomFileList.Where(t => isReading ? t.IsReading : true).OrderBy(t => t.CreateTime).ThenBy(t => t.FileName)))
|
||||
.ForMember(d => d.CodeView, u => u.MapFrom(s => s.StudyCode));
|
||||
|
||||
Guid? visiTaskId = null;
|
||||
CreateMap<NoneDicomStudy, TaskDicomStudyView>()
|
||||
.ForMember(d => d.NoneDicomStudyFileList, u => u.MapFrom(s => isFilterZip ?
|
||||
s.TaskNoneDicomFileList.Where(t => visiTaskId != null ? t.VisitTaskId == visiTaskId : true).Where(t => !t.FileType.Contains(StaticData.FileType.Zip)).OrderBy(t => t.CreateTime).ThenBy(t => t.FileName)
|
||||
: s.TaskNoneDicomFileList.Where(t => visiTaskId != null ? t.VisitTaskId == visiTaskId : true).OrderBy(t => t.CreateTime).ThenBy(t => t.FileName)))
|
||||
s.TaskNoneDicomFileList.Where(t => visiTaskId != null ? t.VisitTaskId == visiTaskId : true).Where(t => !t.FileType.Contains(StaticData.FileType.Zip) && isReading ? t.IsReading : true).OrderBy(t => t.CreateTime).ThenBy(t => t.FileName)
|
||||
: s.TaskNoneDicomFileList.Where(t => visiTaskId != null ? t.VisitTaskId == visiTaskId : true).Where(t => isReading ? t.IsReading : true).OrderBy(t => t.CreateTime).ThenBy(t => t.FileName)))
|
||||
.ForMember(d => d.CodeView, u => u.MapFrom(s => s.StudyCode));
|
||||
|
||||
}
|
||||
|
|
|
@ -138,7 +138,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.IsReading)
|
||||
.Where(t => visitIds.Contains(t.SubjectVisitId) && t.NoneDicomFileList.Any(t => !t.FileType.Contains(StaticData.FileType.Zip)))
|
||||
.WhereIf(taskinfo.IsImageFilter == true, t => taskinfo.CriterionModalitys.Contains(t.Modality))
|
||||
.ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = true, isFilterReading = true });
|
||||
.ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = true, isReading = true });
|
||||
|
||||
if (inDto.VisistTaskId != null && _noneDicomStudyFileSystem.Any(t => t.VisitTaskId == inDto.VisistTaskId))
|
||||
{
|
||||
|
@ -146,7 +146,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
.Where(t => t.TaskNoneDicomFileList.Any(t => t.VisitTaskId == inDto.VisistTaskId))
|
||||
.Where(t => taskinfo.IsImageFilter ? ("|" + taskinfo.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true)
|
||||
.Where(t => visitIds.Contains(t.SubjectVisitId))
|
||||
.ProjectTo<TaskDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = true, isFilterReading = true, visiTaskId = inDto.VisistTaskId });
|
||||
.ProjectTo<TaskDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = true, isReading = true, visiTaskId = inDto.VisistTaskId });
|
||||
}
|
||||
|
||||
List<NoneDicomStudyView> result = await noneDicomStudyQueryable.OrderBy(x => x.ImageDate).ThenBy(x => x.CreateTime).ToListAsync();
|
||||
|
|
Loading…
Reference in New Issue