diff --git a/IRaCIS.Core.API/appsettings.json b/IRaCIS.Core.API/appsettings.json index 8fa44ed41..75bc653af 100644 --- a/IRaCIS.Core.API/appsettings.json +++ b/IRaCIS.Core.API/appsettings.json @@ -88,6 +88,7 @@ "QCChallengeCodePrefix": "Q", "NoneDicomStudyCodePrefix": "NST", "DicomStudyCodePrefix": "ST", + "TaskStudyCodePrefix": "P-ST", "SystemSiteCodePrefix": "S", "DefaultPassword": "123456", "ImageShareExpireDays": 10 diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs index 150d90103..c19e0db99 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs @@ -397,6 +397,11 @@ namespace IRaCIS.Core.Application.Contracts public string SubjectCode { get; set; } } + public class IRTaskUploadedDicomStudyQuery + { + public Guid VisitTaskId { get; set; } + } + public class IRUploadTaskDicomStudyDto : DicomStudyBasicInfo { diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs index 2838c683a..38ce72e8f 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs @@ -1,5 +1,6 @@ using FellowOakDicom; using IRaCIS.Core.Application.Contracts; +using IRaCIS.Core.Application.Contracts.Dicom.DTO; using IRaCIS.Core.Application.Filter; using IRaCIS.Core.Application.Helper; using IRaCIS.Core.Application.Service.ImageAndDoc.DTO; @@ -301,7 +302,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc int currentNextCodeInt = cacheMaxCodeInt > dbStudyCodeIntMax ? cacheMaxCodeInt + 1 : dbStudyCodeIntMax + 1; study.Code = currentNextCodeInt; - study.StudyCode = AppSettings.GetCodeStr(currentNextCodeInt, nameof(DicomStudy)); + study.StudyCode = AppSettings.GetCodeStr(currentNextCodeInt, nameof(TaskStudy)); await _fusionCache.SetAsync(CacheKeys.TrialStudyMaxCode(trialId), study.Code, TimeSpan.FromMinutes(30)); @@ -484,6 +485,310 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc return ResponseOutput.Ok(); } + + + + /// + /// IR 上传任务 nonedicom 列表 后处理的数据UploadedFileCount不能排序 --new + /// + /// + /// + [HttpPost] + public async Task> GetIRUploadTaskNoneDicomStudyList(IRUploadStudyQuery inQuery) + { + var query = from u in _visitTaskRepository.Where(t => t.SubjectId == inQuery.SubjectId && t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId + && t.SourceSubjectVisitId != null && t.DoctorUserId == _userInfo.Id && t.TaskState == TaskState.Effect) + join ns in _noneDicomStudyReposiotry.Where(t => t.SubjectId == inQuery.SubjectId) on u.SourceSubjectVisitId equals ns.SubjectVisitId + + select new TaskNoneDicomStudyDTO() + { + SubjectId = u.SubjectId, + SubjectCode = u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code, + TaskBlindName = u.TaskBlindName, + TaskName = u.TaskName, + SourceSubjectVisitId = u.SourceSubjectVisitId, + VisitTaskId = u.Id, + + Id = ns.Id, + Description = ns.Description, + ImageDate = ns.ImageDate, + BodyPart = ns.BodyPart, + FileCount = ns.FileCount, + Modality = ns.Modality, + StudyCode = ns.StudyCode, + + FileList = ns.NoneDicomFileList.Select(t => new NoneDicomFileInfo() + { + FileType = t.FileType, + FileName = t.FileName, + FileSize = t.FileSize, + Path = t.Path + }).ToList() + + }; + + var list = await query.Where(t => t.SubjectCode == inQuery.SubjectCode).SortToListAsync(inQuery); + + var noneDicomStudyTaskIdList = list.Select(t => t.VisitTaskId).ToList(); + + + var taskNoneDicomStudyList = _visitTaskRepository.Where(t => noneDicomStudyTaskIdList.Contains(t.Id)) + .SelectMany(t => t.TaskNoneDicomStudyFileList).Where(t => noneDicomStudyTaskIdList.Contains((Guid)t.VisitTaskId)) + .Select(u => new NoneDicomFileInfo + { + OriginNoneDicomStudyId = u.OriginNoneDicomStudyId, + + FileType = u.FileType, + FileName = u.FileName, + FileSize = u.FileSize, + Path = u.Path + }) + .ToList(); + + foreach (var item in list) + { + item.UploadedFileCount = taskNoneDicomStudyList.Where(t => t.OriginNoneDicomStudyId == item.Id).Count(); + item.UploadedFileList = taskNoneDicomStudyList.Where(t => t.OriginNoneDicomStudyId == item.Id).ToList(); + } + + return list; + + } + + + /// + /// IQC 获取CRC 上传到某一个访视的的检查信息 (原始影像信息 包含dicom 非dicom) + /// + /// + /// + [HttpPost] + public async Task GetCRCUploadedStudyInfo(CRCUploadedStudyQuqry inQuery) + { + var isQueryDicom = inQuery.DicomStudyIdList.Count > 0; + var isQueryNoneDicom = inQuery.NoneDicomStudyIdList.Count > 0; + + var query = from sv in _subjectVisitRepository.Where(t => t.Id == inQuery.SubjectVisitId) + + + select new + { + SubjectCode = sv.Subject.Code, + VisitName = sv.VisitName, + + StudyList = sv.StudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) + + .Select(u => new + { + u.PatientId, + u.StudyTime, + u.StudyCode, + + SeriesList = u.SeriesList.Select(z => new + { + z.Modality, + + InstanceList = z.DicomInstanceList.Select(k => new + { + k.Path, + k.FileSize + }) + }) + + }).ToList(), + + NoneDicomStudyList = sv.NoneDicomStudyList.Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false) + + .Select(nd => new + { + nd.Modality, + nd.StudyCode, + nd.ImageDate, + + FileList = nd.NoneDicomFileList.Select(file => new + { + file.FileName, + file.Path, + file.FileType + }) + }).ToList() + }; + + var result = query.FirstOrDefault(); + + return ResponseOutput.Ok(result); + } + + + /// + /// IR 阅片页面 和IR 任务列表页面下载 勾选下载列表(后端要考虑到一致性分析 subjectCode的问题) + /// + /// + /// + [HttpPost] + public async Task> GetSubjectImageDownloadSelectList(IRReadingDownloadQuery inQuery) + { + + var query = _visitTaskRepository.Where(t => t.SubjectId == inQuery.SubjectId && t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId + && t.SourceSubjectVisitId != null && t.DoctorUserId == _userInfo.Id && t.TaskState == TaskState.Effect) + .ProjectTo(_mapper.ConfigurationProvider); + + + var list = await query.Where(t => t.SubjectCode == inQuery.SubjectCode).ToListAsync(); + + #region 将任务级别转为检查级别 + + var result = new List(); + + var dicomStudyList = list.Where(item => item.DicomStudyList.Count > 0) + .Select(item => new SubjectCRCImageUploadedStudyDto + { + VisitTaskId = item.VisitTaskId, + SubjectId = item.SubjectId, + SubjectCode = item.SubjectCode, + TaskBlindName = item.TaskBlindName, + TaskName = item.TaskName, + IsImageFilter = item.IsImageFilter, + CriterionModalitys = item.CriterionModalitys, + SourceSubjectVisitId = item.SourceSubjectVisitId, + //取dicom + DicomStudyList = item.DicomStudyList, + }).ToList(); + + var noneStudyList = list.Where(item => item.NoneDicomStudyList.Count > 0) + .Select(item => new SubjectCRCImageUploadedStudyDto + { + VisitTaskId = item.VisitTaskId, + SubjectId = item.SubjectId, + SubjectCode = item.SubjectCode, + TaskBlindName = item.TaskBlindName, + TaskName = item.TaskName, + IsImageFilter = item.IsImageFilter, + CriterionModalitys = item.CriterionModalitys, + SourceSubjectVisitId = item.SourceSubjectVisitId, + //非dicom + NoneDicomStudyList = item.NoneDicomStudyList, + }).ToList(); + + + result.AddRange(dicomStudyList); + result.AddRange(noneStudyList); + #endregion + + + return result; + + } + + /// + /// IR 阅片页面获取下载检查的信息 会根据标准进行过滤检查,(后端要考虑到一致性分析 subjectCode的问题) + /// 检查在访视下面,所以需要传递下载的访视Id,另外下载访视下面那些检查,就把访视下的对应的检查Id 丢到数组里就好 + /// + /// + /// + /// + [HttpPost] + public async Task GetIRReadingDownloadStudyInfo(IRDownloadQuery inQuery, [FromServices] IRepository _subjectRepository) + { + var info = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId) + .Select(t => new { t.IsImageFilter, t.CriterionModalitys }).FirstNotNullAsync(); + + var isQueryDicom = inQuery.DicomStudyIdList.Count > 0; + var isQueryNoneDicom = inQuery.NoneDicomStudyIdList.Count > 0; + + var query = from sv in _subjectRepository.Where(t => t.Id == inQuery.SubjectId).SelectMany(t => t.SubjectVisitList.Where(t => inQuery.SubjectVisitIdList.Contains(t.Id))) + + select new + { + SubjectCode = sv.Subject.Code, + VisitName = sv.VisitName, + StudyList = sv.StudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) + .Select(u => new + { + u.PatientId, + u.StudyTime, + u.StudyCode, + + SeriesList = u.SeriesList.Select(z => new + { + z.Modality, + + InstancePathList = z.DicomInstanceList.Select(k => new + { + k.Path + }) + }) + + }), + + NoneDicomStudyList = sv.NoneDicomStudyList.Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false) + .Select(nd => new + { + nd.Modality, + nd.StudyCode, + nd.ImageDate, + + FileList = nd.NoneDicomFileList.Select(file => new + { + file.FileName, + file.Path, + file.FileType + }) + }) + }; + + + + var result = await query.FirstOrDefaultAsync(); + + return ResponseOutput.Ok(result); + } + + [HttpPost] + public async Task 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 + { + 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() + { + 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); + + } + + + + #region 之前后端下载废弃 + /// /// 打包和匿名化影像 默认是匿名化打包,也可以不匿名化打包 /// @@ -493,6 +798,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc /// /// + [Obsolete] public async Task RequestPackageAndAnonymizImage(Guid trialId, Guid subjectVisitId, bool isDicom, bool isAnonymize = true) { @@ -547,6 +853,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc /// /// /// + [Obsolete] public async Task GetSubejectOrVisitZipInfo([FromServices] IRepository _subjectRepository, SubejctZipInfoQuery inQuery) { var isImageFilter = false; @@ -678,6 +985,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc /// /// [HttpPost] + [Obsolete] public async Task PackageAndAnonymizImage(Guid trialId, Guid subjectVisitId, bool isDicom, bool isAnonymize = true) { @@ -901,6 +1209,9 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc } + #endregion + + #region 按照任务为维度 展示上传的列表 废弃 @@ -910,6 +1221,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc /// /// [HttpPost] + [Obsolete] public async Task> GetIRUploadTaskList_Old(CRCUploadTaskQuery inQuery) { var query = _visitTaskRepository.Where(t => t.SubjectId == inQuery.SubjectId && t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId @@ -927,6 +1239,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc /// /// [HttpPost] + [Obsolete] public async Task> GetIRUploadTaskDicomStudyList_Old(CRCUploadTaskStudyQuery inQuery) { var list = await _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId) @@ -965,6 +1278,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc /// /// [HttpPost] + [Obsolete] public async Task> GetIRUploadTaskNoneDicomStudyList_Old(CRCUploadTaskStudyQuery inQuery) { var list = await _visitTaskRepository.Where(t => t.Id == inQuery.VisitTaskId) @@ -989,270 +1303,6 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc } #endregion - - - #region IR 上传 列表,dicom 上以任务为维度,非dicom 以检查为维度 - - - - - - /// - /// IR 上传任务 nonedicom 列表 后处理的数据UploadedFileCount不能排序 --new - /// - /// - /// - [HttpPost] - public async Task> GetIRUploadTaskNoneDicomStudyList(IRUploadStudyQuery inQuery) - { - var query = from u in _visitTaskRepository.Where(t => t.SubjectId == inQuery.SubjectId && t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId - && t.SourceSubjectVisitId != null && t.DoctorUserId == _userInfo.Id && t.TaskState == TaskState.Effect) - join ns in _noneDicomStudyReposiotry.Where(t => t.SubjectId == inQuery.SubjectId) on u.SourceSubjectVisitId equals ns.SubjectVisitId - - select new TaskNoneDicomStudyDTO() - { - SubjectId = u.SubjectId, - SubjectCode = u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code, - TaskBlindName = u.TaskBlindName, - TaskName = u.TaskName, - SourceSubjectVisitId = u.SourceSubjectVisitId, - VisitTaskId=u.Id, - - Id = ns.Id, - Description = ns.Description, - ImageDate = ns.ImageDate, - BodyPart = ns.BodyPart, - FileCount = ns.FileCount, - Modality = ns.Modality, - StudyCode = ns.StudyCode, - - FileList = ns.NoneDicomFileList.Select(t => new NoneDicomFileInfo() - { - FileType=t.FileType, - FileName = t.FileName, - FileSize = t.FileSize, - Path = t.Path - }).ToList() - - }; - - var list = await query.Where(t => t.SubjectCode == inQuery.SubjectCode).SortToListAsync(inQuery); - - var noneDicomStudyTaskIdList = list.Select(t => t.VisitTaskId).ToList(); - - - var taskNoneDicomStudyList = _visitTaskRepository.Where(t => noneDicomStudyTaskIdList.Contains(t.Id)) - .SelectMany(t => t.TaskNoneDicomStudyFileList).Where(t => noneDicomStudyTaskIdList.Contains((Guid)t.VisitTaskId)) - .Select(u => new NoneDicomFileInfo - { - OriginNoneDicomStudyId = u.OriginNoneDicomStudyId, - - FileType=u.FileType, - FileName = u.FileName, - FileSize = u.FileSize, - Path = u.Path - }) - .ToList(); - - foreach (var item in list) - { - item.UploadedFileCount = taskNoneDicomStudyList.Where(t => t.OriginNoneDicomStudyId == item.Id).Count(); - item.UploadedFileList = taskNoneDicomStudyList.Where(t => t.OriginNoneDicomStudyId == item.Id).ToList(); - } - - return list; - - } - #endregion - - - /// - /// IQC 获取CRC 上传到某一个访视的的检查信息 (原始影像信息 包含dicom 非dicom) - /// - /// - /// - [HttpPost] - public async Task GetCRCUploadedStudyInfo(CRCUploadedStudyQuqry inQuery) - { - var isQueryDicom = inQuery.DicomStudyIdList.Count > 0; - var isQueryNoneDicom = inQuery.NoneDicomStudyIdList.Count > 0; - - var query = from sv in _subjectVisitRepository.Where(t => t.Id == inQuery.SubjectVisitId) - - - select new - { - SubjectCode = sv.Subject.Code, - VisitName = sv.VisitName, - - StudyList = sv.StudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) - - .Select(u => new - { - u.PatientId, - u.StudyTime, - u.StudyCode, - - SeriesList = u.SeriesList.Select(z => new - { - z.Modality, - - InstanceList = z.DicomInstanceList.Select(k => new - { - k.Path, - k.FileSize - }) - }) - - }).ToList(), - - NoneDicomStudyList = sv.NoneDicomStudyList.Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false) - - .Select(nd => new - { - nd.Modality, - nd.StudyCode, - nd.ImageDate, - - FileList = nd.NoneDicomFileList.Select(file => new - { - file.FileName, - file.Path, - file.FileType - }) - }).ToList() - }; - - var result = query.FirstOrDefault(); - - return ResponseOutput.Ok(result); - } - - - /// - /// IR 阅片页面 和IR 任务列表页面下载 勾选下载列表(后端要考虑到一致性分析 subjectCode的问题) - /// - /// - /// - [HttpPost] - public async Task> GetSubjectImageDownloadSelectList(IRReadingDownloadQuery inQuery) - { - - var query = _visitTaskRepository.Where(t => t.SubjectId == inQuery.SubjectId && t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId - && t.SourceSubjectVisitId != null && t.DoctorUserId == _userInfo.Id && t.TaskState == TaskState.Effect) - .ProjectTo(_mapper.ConfigurationProvider); - - - var list = await query.Where(t => t.SubjectCode == inQuery.SubjectCode).ToListAsync(); - - #region 将任务级别转为检查级别 - - var result = new List(); - - var dicomStudyList = list.Where(item => item.DicomStudyList.Count > 0) - .Select(item => new SubjectCRCImageUploadedStudyDto - { - VisitTaskId = item.VisitTaskId, - SubjectId = item.SubjectId, - SubjectCode = item.SubjectCode, - TaskBlindName = item.TaskBlindName, - TaskName = item.TaskName, - IsImageFilter = item.IsImageFilter, - CriterionModalitys = item.CriterionModalitys, - SourceSubjectVisitId = item.SourceSubjectVisitId, - //取dicom - DicomStudyList = item.DicomStudyList, - }).ToList(); - - var noneStudyList = list.Where(item => item.NoneDicomStudyList.Count > 0) - .Select(item => new SubjectCRCImageUploadedStudyDto - { - VisitTaskId = item.VisitTaskId, - SubjectId = item.SubjectId, - SubjectCode = item.SubjectCode, - TaskBlindName = item.TaskBlindName, - TaskName = item.TaskName, - IsImageFilter = item.IsImageFilter, - CriterionModalitys = item.CriterionModalitys, - SourceSubjectVisitId = item.SourceSubjectVisitId, - //非dicom - NoneDicomStudyList = item.NoneDicomStudyList, - }).ToList(); - - - result.AddRange(dicomStudyList); - result.AddRange(noneStudyList); - #endregion - - - return result; - - } - - /// - /// IR 阅片页面获取下载检查的信息 会根据标准进行过滤检查,(后端要考虑到一致性分析 subjectCode的问题) - /// 检查在访视下面,所以需要传递下载的访视Id,另外下载访视下面那些检查,就把访视下的对应的检查Id 丢到数组里就好 - /// - /// - /// - /// - [HttpPost] - public async Task GetIRReadingDownloadStudyInfo(IRDownloadQuery inQuery, [FromServices] IRepository _subjectRepository) - { - var info = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId) - .Select(t => new { t.IsImageFilter, t.CriterionModalitys }).FirstNotNullAsync(); - - var isQueryDicom = inQuery.DicomStudyIdList.Count > 0; - var isQueryNoneDicom = inQuery.NoneDicomStudyIdList.Count > 0; - - var query = from sv in _subjectRepository.Where(t => t.Id == inQuery.SubjectId).SelectMany(t => t.SubjectVisitList.Where(t => inQuery.SubjectVisitIdList.Contains(t.Id))) - - select new - { - SubjectCode = sv.Subject.Code, - VisitName = sv.VisitName, - StudyList = sv.StudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) - .Select(u => new - { - u.PatientId, - u.StudyTime, - u.StudyCode, - - SeriesList = u.SeriesList.Select(z => new - { - z.Modality, - - InstancePathList = z.DicomInstanceList.Select(k => new - { - k.Path - }) - }) - - }), - - NoneDicomStudyList = sv.NoneDicomStudyList.Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false) - .Select(nd => new - { - nd.Modality, - nd.StudyCode, - nd.ImageDate, - - FileList = nd.NoneDicomFileList.Select(file => new - { - file.FileName, - file.Path, - file.FileType - }) - }) - }; - - - - var result = await query.FirstOrDefaultAsync(); - - return ResponseOutput.Ok(result); - } - } diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs index 63a74b56f..6bf86433b 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs @@ -137,14 +137,14 @@ namespace IRaCIS.Core.Application.Contracts public async Task> GetNoneDicomStudyFileList(Guid noneDicomStudyId) { return await _noneDicomStudyFileRepository.Where(t => t.NoneDicomStudyId == noneDicomStudyId) - .ProjectTo(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken }).ToListAsync(); + .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); } [HttpGet("{subjectVisitId:guid}")] public async Task> GetVisitNoneDicomStudyFileList(Guid subjectVisitId) { return await _noneDicomStudyFileRepository.Where(t => t.NoneDicomStudy.SubjectVisitId == subjectVisitId) - .ProjectTo(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken }).ToListAsync(); + .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); } diff --git a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs index 3ad2ace1a..4be1b0a52 100644 --- a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs @@ -590,7 +590,7 @@ namespace IRaCIS.Core.Application.Service CreateMap() - .ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path + "?access_token=" + token)); + .ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path)); CreateMap() //.ForMember(d => d.FileCount, u => u.MapFrom(s => s.NoneDicomFileList.Count)) diff --git a/IRaCIS.Core.Domain/_Config/_AppSettings.cs b/IRaCIS.Core.Domain/_Config/_AppSettings.cs index fac748828..ef84fe0c5 100644 --- a/IRaCIS.Core.Domain/_Config/_AppSettings.cs +++ b/IRaCIS.Core.Domain/_Config/_AppSettings.cs @@ -108,9 +108,12 @@ namespace IRaCIS.Core.Domain.Share public static string DicomStudyCodePrefix { get; set; } + public static string TaskStudyCodePrefix { get; set; } + public static string NoneDicomStudyCodePrefix { get; set; } + public static int ImageShareExpireDays { get; set; } = 7; @@ -141,7 +144,7 @@ namespace IRaCIS.Core.Domain.Share DicomStudyCodePrefix = configuration.GetSection("IRaCISBasicConfig").GetValue("DicomStudyCodePrefix"); DefaultPassword = configuration.GetSection("IRaCISBasicConfig").GetValue("DefaultPassword"); SystemSiteCodePrefix = configuration.GetSection("IRaCISBasicConfig").GetValue("SystemSiteCodePrefix"); - + TaskStudyCodePrefix = configuration.GetSection("IRaCISBasicConfig").GetValue("TaskStudyCodePrefix"); ImageShareExpireDays = configuration.GetSection("IRaCISBasicConfig").GetValue("ImageShareExpireDays"); @@ -175,6 +178,10 @@ namespace IRaCIS.Core.Domain.Share return DicomStudyCodePrefix + codeInt.ToString("D5"); + case nameof(TaskStudy): + + return TaskStudyCodePrefix + codeInt.ToString("D5"); + case nameof(VisitTask): return "W" + codeInt.ToString("D5");