From 58250fe9938204e489405423909b011badc29963 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 19 Jun 2024 16:57:08 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=9Edicom=20=20zip=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingImageTask/ReadingNoDicomTaskService.cs | 6 +++--- .../Service/Visit/SubjectVisitService.cs | 10 +++++----- IRaCIS.Core.Domain/_Config/_StaticData.cs | 5 ++++- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingNoDicomTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingNoDicomTaskService.cs index c069570fb..1bade95a6 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingNoDicomTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingNoDicomTaskService.cs @@ -66,7 +66,7 @@ namespace IRaCIS.Application.Services /// /// [HttpPost] - public async Task<(List, object)> GetReadingImageFile(GetReadingImgInDto inDto) + public async Task> > GetReadingImageFile(GetReadingImgInDto inDto) { var task = await GetNextTask(new GetNextTaskInDto() { @@ -84,7 +84,7 @@ namespace IRaCIS.Application.Services // 阅片期取前面所有的图像 visitIds.AddRange(await _subjectVisitRepository.Where(x => x.VisitNum <= task.VisitNum && x.SubjectId == task.SubjectId).Select(x => x.Id).ToListAsync()); } - List result = await _noneDicomStudyRepository.Where(t => visitIds.Contains(t.SubjectVisitId)) + List result = await _noneDicomStudyRepository.Where(t => visitIds.Contains(t.SubjectVisitId) && t.NoneDicomFileList.Any(t=>!t.FileType.Contains(StaticData.FileType.Zip))) .ProjectTo(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken }).ToListAsync(); var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisistTaskId).FirstNotNullAsync(); @@ -121,7 +121,7 @@ namespace IRaCIS.Application.Services var taskInfo = await _visitTaskRepository.Where(x => x.Id == task.VisitTaskId).FirstNotNullAsync(); - return (result, new + return ResponseOutput.Ok (result, new { VisitTaskId = task.VisitTaskId, SubjectId = task.SubjectId, diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 8e7da9360..bddafe257 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -484,13 +484,13 @@ namespace IRaCIS.Core.Application.Services var studyList = new List(); - var taskInfo = await _visitTaskRepository.Where(x => x.Id == indto.VisitTaskId).Select(t => new {t.TrialReadingCriterionId,t.TrialReadingCriterion.IsImageFilter,t.TrialReadingCriterion.CriterionModalitys, t.ReadingTaskState ,TaskStudyCount=t.TaskStudyList.Count }).FirstNotNullAsync(); + var taskInfo = await _visitTaskRepository.Where(x => x.Id == indto.VisitTaskId).Select(t => new { t.TrialReadingCriterionId, t.TrialReadingCriterion.IsImageFilter, t.TrialReadingCriterion.CriterionModalitys, t.ReadingTaskState, TaskStudyCount = t.TaskStudyList.Count }).FirstNotNullAsync(); //影像后处理 上传了新的影像 if (taskInfo.TaskStudyCount > 0) { - var taskStudyList= await _repository.Where(t => t.TrialId == indto.TrialId && t.VisitTaskId == indto.VisitTaskId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + var taskStudyList = await _repository.Where(t => t.TrialId == indto.TrialId && t.VisitTaskId == indto.VisitTaskId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); foreach (var study in taskStudyList) { @@ -518,7 +518,7 @@ namespace IRaCIS.Core.Application.Services var isManualGenerate = await _trialReadingCriterionRepository.AnyAsync(t => t.Id == taskInfo.TrialReadingCriterionId && t.IsAutoCreate == false); var dicomStudyList = await _repository.Where(t => t.TrialId == indto.TrialId && t.SubjectVisitId == indto.SujectVisitId) - .WhereIf(taskInfo.IsImageFilter==true, t=> taskInfo.CriterionModalitys.Contains(t.ModalityForEdit)) + .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)) .Select(k => new VisitStudyDTO() { @@ -675,7 +675,7 @@ namespace IRaCIS.Core.Application.Services #region 非Dicom 检查查询 var noDicomList = await _noneDicomStudyRepository.Where(x => x.TrialId == indto.TrialId && x.SubjectVisitId == indto.SujectVisitId) - .WhereIf(taskInfo.IsImageFilter == true, t => taskInfo.CriterionModalitys.Contains(t.Modality)).ToListAsync(); + .WhereIf(taskInfo.IsImageFilter == true, t => taskInfo.CriterionModalitys.Contains(t.Modality) && t.NoneDicomFileList.Any(t=>!t.FileType.Contains(StaticData.FileType.Zip))).ToListAsync(); List noDicomStudyList = noDicomList.Select(x => new VisitStudyDTO() @@ -714,7 +714,7 @@ namespace IRaCIS.Core.Application.Services SubjectVisitId=nodicom.SubjectVisitId, SubjectId=nodicom.SubjectId, SeriesNumber=1, - NoneDicomFileFirstFile=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).Select(x=>x.Path).FirstOrDefaultAsync(), + NoneDicomFileFirstFile=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId && !x.FileType.Contains(StaticData.FileType.Zip)).Select(x=>x.Path).FirstOrDefaultAsync(), } }; diff --git a/IRaCIS.Core.Domain/_Config/_StaticData.cs b/IRaCIS.Core.Domain/_Config/_StaticData.cs index 0634a5323..ddcc620c9 100644 --- a/IRaCIS.Core.Domain/_Config/_StaticData.cs +++ b/IRaCIS.Core.Domain/_Config/_StaticData.cs @@ -112,7 +112,10 @@ public static class StaticData public static readonly string UploadFileFolder = "UploadFile"; } - + public static class FileType + { + public static readonly string Zip = "zip"; + } public static class TrialOpt {