影响筛选过滤
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-09-27 10:12:29 +08:00
parent 2461646d5f
commit da6746beea
1 changed files with 46 additions and 38 deletions

View File

@ -117,7 +117,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
//要根据标准阅片顺序,确定是否查询单个任务的,还是查询所有的
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId)
.Select(t => new { t.IsReadingTaskViewInOrder }).FirstNotNullAsync();
.Select(t => new { t.IsReadingTaskViewInOrder }).FirstNotNullAsync();
var subjectCode = string.Empty;
var subjectId = inQuery.SubjectId;
@ -129,9 +129,10 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
throw new Exception("无序阅片,前端参数传递错误");
}
//考虑到一致性分析,必须要这个编号进行过滤
var taskInfo = _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId).Select(t => new {
SubjectCode= t.IsAnalysisCreate ? t.BlindSubjectCode : t.Subject.Code,
SubjectId= t.SubjectId,
var taskInfo = _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId).Select(t => new
{
SubjectCode = t.IsAnalysisCreate ? t.BlindSubjectCode : t.Subject.Code,
SubjectId = t.SubjectId,
}).FirstOrDefault();
subjectId = taskInfo.SubjectId;
subjectCode = taskInfo.SubjectCode;
@ -658,7 +659,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
//考虑到一致性分析,必须要这个编号进行过滤
//医学审核查看下载按钮,这个时候需要知道医生
var taskInfo = await _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId).Select(t => new {
var taskInfo = await _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId).Select(t => new
{
SubjectCode = t.IsAnalysisCreate ? t.BlindSubjectCode : t.Subject.Code,
SubjectId = t.SubjectId,
t.DoctorUserId,
@ -847,7 +849,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
{
throw new Exception("无序阅片,前端参数传递错误");
}
}
else
{
@ -859,13 +861,14 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
//考虑到一致性分析,必须要这个编号进行过滤
subjectCode = inQuery.SubjectCode;
}
if (inQuery.VisitTaskId != null)
{
//考虑到一致性分析,必须要这个编号进行过滤
//医学审核查看下载按钮,这个时候需要知道医生
var taskInfo = await _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId).Select(t => new {
var taskInfo = await _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId).Select(t => new
{
SubjectCode = t.IsAnalysisCreate ? t.BlindSubjectCode : t.Subject.Code,
SubjectId = t.SubjectId,
t.DoctorUserId,
@ -1047,39 +1050,44 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
[HttpPost]
public async Task<IResponseOutput> GetTaskUploadedDicomStudyList(IRTaskUploadedDicomStudyQuery inQuery)
{
var query = _taskStudyRepository.Where(t => t.VisitTaskId == inQuery.VisitTaskId).Select(t => new
{
StudyId = t.Id,
t.Modalities,
t.InstanceCount,
t.SeriesCount,
t.StudyCode,
SeriesList = t.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).Select(u => new
var info = await _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId)
.Select(t => new { t.TrialReadingCriterion.IsImageFilter, t.TrialReadingCriterion.CriterionModalitys }).FirstNotNullAsync();
var query = _taskStudyRepository.Where(t => t.VisitTaskId == inQuery.VisitTaskId)
.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
.Select(t => new
{
u.SeriesTime,
u.InstanceCount,
u.ImageResizePath,
u.Modality,
u.Description,
u.SeriesInstanceUid,
u.SeriesNumber,
u.SliceThickness,
u.StudyInstanceUid,
IsExistMutiFrames = u.InstanceList.Any(t => t.NumberOfFrames > 1),
InstanceInfoList = u.InstanceList.OrderBy(t => t.InstanceNumber).Select(k =>
new InstanceBasicInfo()
StudyId = t.Id,
t.Modalities,
t.InstanceCount,
t.SeriesCount,
t.StudyCode,
SeriesList = t.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).Select(u => new
{
Id = k.Id,
NumberOfFrames = k.NumberOfFrames,
HtmlPath = k.HtmlPath,
Path = k.Path,
InstanceNumber = k.InstanceNumber,
u.SeriesTime,
u.InstanceCount,
u.ImageResizePath,
u.Modality,
u.Description,
u.SeriesInstanceUid,
u.SeriesNumber,
u.SliceThickness,
u.StudyInstanceUid,
}).ToList()
})
});
IsExistMutiFrames = u.InstanceList.Any(t => t.NumberOfFrames > 1),
InstanceInfoList = u.InstanceList.OrderBy(t => t.InstanceNumber).Select(k =>
new InstanceBasicInfo()
{
Id = k.Id,
NumberOfFrames = k.NumberOfFrames,
HtmlPath = k.HtmlPath,
Path = k.Path,
InstanceNumber = k.InstanceNumber,
}).ToList()
})
});
var list = await query.ToListAsync();
return ResponseOutput.Ok(list);