diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs index b9175ac2b..5557ae305 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs @@ -1168,7 +1168,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc #region 影像汇总页面 - + [HttpPost] public async Task>> GetTrialVisitImageStatList(TrialVisitImageQuery inQuery) { var query = _subjectVisitRepository.Where(t => t.TrialId == inQuery.TrialId) @@ -1216,7 +1216,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc /// /// /// - public async Task GetTrialVisitImageStatInfo(Guid trialId) + public async Task> GetTrialVisitImageStatInfo(Guid trialId) { var subjectImageList = _subjectVisitRepository.Where(t => t.TrialId == trialId) .Where(t => t.StudyList.Sum(t => t.InstanceCount) > 0 || t.NoneDicomStudyList.Sum(t => t.FileCount) > 0) @@ -1246,6 +1246,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc /// /// /// + [HttpPost] public async Task GetExportSubjectVisitImageList(TrialExportImageCommand inCommand) { diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs index f20d86207..ff93bdf25 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs @@ -1115,6 +1115,12 @@ namespace IRaCIS.Core.Application.Contracts public List ClinicalDataSetNames { get; set; } = new List(); + + public List StudyUseModalityList { get; set; } + + public List StudyUseStudyNameList { get; set; } + + //public bool IsTrialStart { get; set; } = false; diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index b3c3b34ee..ecc94cf0f 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -1274,12 +1274,38 @@ namespace IRaCIS.Core.Application [HttpGet("{trialId:guid}")] public async Task GetTrialConfigInfo(Guid trialId) { - return await _trialRepository.Where(t => t.Id == trialId).ProjectTo(_mapper.ConfigurationProvider, new + var result= await _trialRepository.Where(t => t.Id == trialId).ProjectTo(_mapper.ConfigurationProvider, new { isEn_Us = _userInfo.IsEn_Us }) .FirstOrDefaultAsync().IfNullThrowException(); + + var use = _trialRepository.Where(t => t.Id == trialId).Select(t => new + { + DicomModalityList = t.StudyList.Where(t => t.ModalityForEdit != "") + .Select(c => c.ModalityForEdit) + .Distinct(), + + DicomStudyNameList= t.StudyList.Where(t => t.StudyName != "") + .Select(c => c.StudyName) + .Distinct(), + + NoneDicomStudyNameList = t.NoneDicomStudyList.Where(t => t.StudyName != "") + .Select(c => c.StudyName) + .Distinct(), + + NoneDicomModalityList = t.NoneDicomStudyList.Where(t => t.Modality != "") + .Select(c => c.Modality) + .Distinct(), + + }).FirstOrDefault(); + + result.StudyUseModalityList= use.DicomModalityList.Union(use.NoneDicomModalityList).Distinct().ToList(); + + result.StudyUseStudyNameList = use.DicomStudyNameList.Union(use.NoneDicomStudyNameList).Distinct().ToList(); + + return result; } [TrialGlobalLimit("BeforeOngoingCantOpt", "AfterStopCannNotOpt")]