影响筛选过滤
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) 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 subjectCode = string.Empty;
var subjectId = inQuery.SubjectId; var subjectId = inQuery.SubjectId;
@ -129,9 +129,10 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
throw new Exception("无序阅片,前端参数传递错误"); throw new Exception("无序阅片,前端参数传递错误");
} }
//考虑到一致性分析,必须要这个编号进行过滤 //考虑到一致性分析,必须要这个编号进行过滤
var taskInfo = _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId).Select(t => new { var taskInfo = _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId).Select(t => new
SubjectCode= t.IsAnalysisCreate ? t.BlindSubjectCode : t.Subject.Code, {
SubjectId= t.SubjectId, SubjectCode = t.IsAnalysisCreate ? t.BlindSubjectCode : t.Subject.Code,
SubjectId = t.SubjectId,
}).FirstOrDefault(); }).FirstOrDefault();
subjectId = taskInfo.SubjectId; subjectId = taskInfo.SubjectId;
subjectCode = taskInfo.SubjectCode; 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, SubjectCode = t.IsAnalysisCreate ? t.BlindSubjectCode : t.Subject.Code,
SubjectId = t.SubjectId, SubjectId = t.SubjectId,
t.DoctorUserId, t.DoctorUserId,
@ -865,7 +867,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, SubjectCode = t.IsAnalysisCreate ? t.BlindSubjectCode : t.Subject.Code,
SubjectId = t.SubjectId, SubjectId = t.SubjectId,
t.DoctorUserId, t.DoctorUserId,
@ -1047,39 +1050,44 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
[HttpPost] [HttpPost]
public async Task<IResponseOutput> GetTaskUploadedDicomStudyList(IRTaskUploadedDicomStudyQuery inQuery) public async Task<IResponseOutput> GetTaskUploadedDicomStudyList(IRTaskUploadedDicomStudyQuery inQuery)
{ {
var query = _taskStudyRepository.Where(t => t.VisitTaskId == inQuery.VisitTaskId).Select(t => new var info = await _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId)
{ .Select(t => new { t.TrialReadingCriterion.IsImageFilter, t.TrialReadingCriterion.CriterionModalitys }).FirstNotNullAsync();
StudyId = t.Id,
t.Modalities, var query = _taskStudyRepository.Where(t => t.VisitTaskId == inQuery.VisitTaskId)
t.InstanceCount, .Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
t.SeriesCount, .Select(t => new
t.StudyCode,
SeriesList = t.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).Select(u => new
{ {
u.SeriesTime, StudyId = t.Id,
u.InstanceCount, t.Modalities,
u.ImageResizePath, t.InstanceCount,
u.Modality, t.SeriesCount,
u.Description, t.StudyCode,
u.SeriesInstanceUid, SeriesList = t.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).Select(u => new
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()
{ {
Id = k.Id, u.SeriesTime,
NumberOfFrames = k.NumberOfFrames, u.InstanceCount,
HtmlPath = k.HtmlPath, u.ImageResizePath,
Path = k.Path, u.Modality,
InstanceNumber = k.InstanceNumber, 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(); var list = await query.ToListAsync();
return ResponseOutput.Ok(list); return ResponseOutput.Ok(list);