uat-标注-15
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
hang 2025-11-27 10:38:48 +08:00
parent 139438133d
commit 4f91874b82
3 changed files with 18 additions and 17 deletions

View File

@ -174,7 +174,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
.Select(t => new StudyBasicInfo()
{
Id = t.Id,
SubjectVisitId=t.SubjectVisitId,
SubjectVisitId = t.SubjectVisitId,
StudyInstanceUid = t.StudyInstanceUid,
ModalityForEdit = t.ModalityForEdit,
@ -196,7 +196,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
UploadStudyList = u.TaskStudyList.Select(t => new StudyBasicInfo()
{
Id = t.Id,
SubjectVisitId=t.SubjectVisitId,
SubjectVisitId = t.SubjectVisitId,
StudyInstanceUid = t.StudyInstanceUid,
ModalityForEdit = t.ModalityForEdit,
BodyPartExamined = t.BodyPartExamined,
@ -255,7 +255,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
OrginalStudyList = u.SourceSubjectVisit.StudyList
.Where(t => u.TrialReadingCriterion.IsImageFilter ? ("|" + u.TrialReadingCriterion.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" : true)
.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true)
.Select(t => new StudyBasicInfo()
{
Id = t.Id,
@ -1346,7 +1346,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
foreach (var item in list)
{
var dicomList = item.DicomStudyList.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" : true).ToList();
var dicomList = item.DicomStudyList.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true).ToList();
dicomList.AddRange(preDicomStudyList.Where(t => t.SubjectVisitId == item.SourceSubjectVisitId).ToList());
@ -1446,7 +1446,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
var dirInfolist = _subjectRepository.Where(t => t.Id == inQuery.SubjectId).SelectMany(t => t.SubjectVisitList.Where(t => subjectVisitIdList.Contains(t.Id))).SelectMany(t => t.StudyList)
.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" : true)
.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true)
.SelectMany(t => t.InstanceList.Where(t => t.IsReading && t.DicomSerie.IsReading))
.Select(t => new StudyDIRInfo()
{
@ -1489,7 +1489,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
var taskDirInfolist = _taskInstanceRepository.Where(t => t.SubjectVisitId != null)
.Where(t => subjectVisitIdList.Contains((Guid)t.SubjectVisitId)).Select(t => new StudyDIRInfo()
{
IsTaskStudy=true,
IsTaskStudy = true,
SubjectVisitId = (Guid)t.SubjectVisitId,
DicomStudyId = t.TaskStudy.Id,
@ -1573,7 +1573,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
TaskBlindName = leftVisitTask.TaskBlindName,
StudyList = sv.StudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" : true)
.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true)
.Select(u => new DownloadDicomStudyDto()
{
PatientId = u.PatientId,
@ -1722,9 +1722,9 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
.Select(t => new { t.TrialReadingCriterion.IsImageFilter, t.TrialReadingCriterion.CriterionModalitys }).FirstNotNullAsync();
var query = _taskStudyRepository
.WhereIf(inQuery.VisitTaskId != null, t => t.Id == inQuery.VisitTaskId)//正常后处理
.WhereIf(inQuery.SubjectVisitId != null, t => t.SubjectVisitId == inQuery.SubjectVisitId)//靶段标注处理的影像
.WhereIf( info.IsImageFilter && inQuery.VisitTaskId != null, t => ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") )
.WhereIf(inQuery.VisitTaskId != null, t => t.VisitTaskId == inQuery.VisitTaskId)//正常后处理
.WhereIf(inQuery.VisitTaskId == null && inQuery.SubjectVisitId != null, t => t.SubjectVisitId == inQuery.SubjectVisitId)//靶段标注处理的影像
.WhereIf(info.IsImageFilter && inQuery.VisitTaskId != null, t => ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|"))
.Select(t => new
{
StudyId = t.Id,
@ -2226,7 +2226,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
[HttpPost]
public async Task<IResponseOutput<PageOutput<SubjectVisitMarkDTO>>> GetTrialSubjectVisitMarkList(SubjectVisitMarkQuery inQuery)
{
var list = await _subjectRepository.Where(t => t.TrialId == inQuery.TrialId)
var list = await _subjectRepository.Where(t => t.TrialId == inQuery.TrialId && t.SubjectDoctorList.Any())
.WhereIf(inQuery.SubjectCode.IsNotNullOrEmpty(), t => t.Code.Contains(inQuery.SubjectCode))
.WhereIf(inQuery.IsUrgent != null, t => t.IsUrgent == inQuery.IsUrgent)
.Select(t => new SubjectVisitMarkDTO()

View File

@ -62,7 +62,7 @@ namespace IRaCIS.Core.Application.Contracts
{
//靶段标注上传后查看影像
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => true, ignoreQueryFilters: isViewDelete)
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId, ignoreQueryFilters: isViewDelete)
.WhereIf(isReading, t => t.IsReading && t.IsDeleted == false)
.WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId)
.ProjectTo<ImageLabelNoneDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip, isReading = isReading });
@ -75,12 +75,13 @@ namespace IRaCIS.Core.Application.Contracts
{
var taskinfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Select(t => new { t.BlindSubjectCode, t.TrialReadingCriterionId, t.TrialReadingCriterion.CriterionType, t.TrialReadingCriterion.IsImageFilter, t.TrialReadingCriterion.CriterionModalitys }).FirstNotNullAsync();
if (taskinfo.CriterionType == CriterionType.IVUS || taskinfo.CriterionType == CriterionType.OCT && isImageSegmentLabel == true)
if ((taskinfo.CriterionType == CriterionType.IVUS || taskinfo.CriterionType == CriterionType.OCT) && isImageSegmentLabel == false)
{
//后处理原始影像预览
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => true, ignoreQueryFilters: isViewDelete)
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId, ignoreQueryFilters: isViewDelete)
.WhereIf(isReading, t => t.IsReading && t.IsDeleted == false)
.WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId)
.Where(t => taskinfo.IsImageFilter ? ("|" + taskinfo.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true)
.ProjectTo<ImageLabelNoneDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip, visiTaskId = visitTaskId, isReading = isReading });
}
else

View File

@ -251,7 +251,7 @@ namespace IRaCIS.Core.Application.Services
.Where(t => isImageFilter ? ("|" + criterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
.WhereIf(isReading == 1 || isQCFinished, s => s.IsDeleted == false)
//预览靶段标注上传的影像 影像后处理 上传了新的影像 还要原始dsa
.WhereIf(isImageSegmentLabel == true && isVisitTask && (criterionType == CriterionType.OCT || criterionType == CriterionType.IVUS), t => t.ModalityForEdit == "XA")
.WhereIf(isImageSegmentLabel == true && isVisitTask && (criterionType == CriterionType.OCT || criterionType == CriterionType.IVUS), t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT")
.Select(k => new VisitStudyDTO()
{
InstanceCount = k.InstanceCount,
@ -516,7 +516,7 @@ namespace IRaCIS.Core.Application.Services
.WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|"))
.WhereIf(isManualGenerate, t => t.SubjectCriteriaEvaluationVisitStudyFilterList.Any(t => t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.IsConfirmed && t.IsReading))
//影像后处理 上传了新的影像 还要原始dsa
.WhereIf(taskInfo.TaskStudyCount > 0 && (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS), t => t.ModalityForEdit == "XA")
.WhereIf(taskInfo.TaskStudyCount > 0 && (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS), t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT")
.WhereIf(taskInfo.TaskStudyCount > 0 && (taskInfo.CriterionType != CriterionType.OCT || taskInfo.CriterionType != CriterionType.IVUS), t => false)
.Select(k => new VisitStudyDTO()
{