删除废弃的dicom 路径帮助类
parent
9dc4d13d6e
commit
e63c235f8a
|
@ -58,7 +58,6 @@ namespace IRaCIS.Core.API
|
||||||
//containerBuilder.RegisterType<Dictionary>().InstancePerLifetimeScope();
|
//containerBuilder.RegisterType<Dictionary>().InstancePerLifetimeScope();
|
||||||
|
|
||||||
|
|
||||||
containerBuilder.RegisterType<DicomFileStoreHelper>().SingleInstance();
|
|
||||||
|
|
||||||
//Autofac 注册拦截器 需要注意的是生成api上服务上的动态代理AOP失效 间接掉用不影响
|
//Autofac 注册拦截器 需要注意的是生成api上服务上的动态代理AOP失效 间接掉用不影响
|
||||||
containerBuilder.RegisterType<TrialStatusAutofacAOP>();
|
containerBuilder.RegisterType<TrialStatusAutofacAOP>();
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
using IRaCIS.Core.Domain.Models;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using IRaCIS.Core.Application.Interfaces;
|
using IRaCIS.Core.Application.Interfaces;
|
||||||
using IRaCIS.Core.Application.ViewModel;
|
using IRaCIS.Core.Application.ViewModel;
|
||||||
|
|
|
@ -18,7 +18,6 @@ namespace IRaCIS.Core.Application.Services
|
||||||
private readonly IRepository<DicomInstance> _instanceRepository;
|
private readonly IRepository<DicomInstance> _instanceRepository;
|
||||||
private readonly IRepository<DataInspection> _inspectionService;
|
private readonly IRepository<DataInspection> _inspectionService;
|
||||||
private readonly IEasyCachingProvider _provider;
|
private readonly IEasyCachingProvider _provider;
|
||||||
private readonly DicomFileStoreHelper _dicomFileStoreHelper;
|
|
||||||
|
|
||||||
private readonly IWebHostEnvironment _hostEnvironment;
|
private readonly IWebHostEnvironment _hostEnvironment;
|
||||||
|
|
||||||
|
@ -29,10 +28,8 @@ namespace IRaCIS.Core.Application.Services
|
||||||
IRepository<DicomInstance> instanceRepository,
|
IRepository<DicomInstance> instanceRepository,
|
||||||
IWebHostEnvironment hostEnvironment,
|
IWebHostEnvironment hostEnvironment,
|
||||||
IRepository<DataInspection> inspectionService,
|
IRepository<DataInspection> inspectionService,
|
||||||
DicomFileStoreHelper dicomFileStoreHelper,
|
|
||||||
IEasyCachingProvider provider)
|
IEasyCachingProvider provider)
|
||||||
{
|
{
|
||||||
_dicomFileStoreHelper = dicomFileStoreHelper;
|
|
||||||
_hostEnvironment = hostEnvironment;
|
_hostEnvironment = hostEnvironment;
|
||||||
_studyRepository = studyRepository;
|
_studyRepository = studyRepository;
|
||||||
|
|
||||||
|
|
|
@ -1,82 +0,0 @@
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using IRaCIS.Core.Domain.Models;
|
|
||||||
using Microsoft.AspNetCore.Hosting;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using IRaCIS.Core.Domain.Share;
|
|
||||||
using IRaCIS.Core.Infrastructure.Extention;
|
|
||||||
using IRaCIS.Core.Application.Helper;
|
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application
|
|
||||||
{
|
|
||||||
public class DicomFileStoreHelper
|
|
||||||
{
|
|
||||||
private readonly IWebHostEnvironment _hostEnvironment;
|
|
||||||
private static string _fileStorePath = string.Empty;
|
|
||||||
|
|
||||||
private readonly ILogger<DicomFileStoreHelper> _logger;
|
|
||||||
|
|
||||||
public DicomFileStoreHelper(IWebHostEnvironment hostEnvironment, ILogger<DicomFileStoreHelper> logger)
|
|
||||||
{
|
|
||||||
_logger = logger;
|
|
||||||
_hostEnvironment = hostEnvironment;
|
|
||||||
var rootPath = FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment);
|
|
||||||
|
|
||||||
//上传根路径
|
|
||||||
_fileStorePath = Path.Combine(rootPath, StaticData.Folder.TrialDataFolder);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public string GetInstanceFilePath(DicomStudy dicomStudy, Guid seriesId, string instanceId)
|
|
||||||
{
|
|
||||||
return Path.Combine(_fileStorePath, dicomStudy.TrialId.ToString(),
|
|
||||||
dicomStudy.SiteId.ToString(), dicomStudy.SubjectId.ToString(), dicomStudy.SubjectVisitId.ToString(), StaticData.Folder.DicomFolder, dicomStudy.Id.ToString(), instanceId.ToString() + ".dcm");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public string CreateInstanceFilePath(DicomStudy dicomStudy, Guid seriesId, Guid instanceId)
|
|
||||||
{
|
|
||||||
|
|
||||||
//加入访视层级 和Data
|
|
||||||
var path = Path.Combine(_fileStorePath, dicomStudy.TrialId.ToString(),
|
|
||||||
dicomStudy.SiteId.ToString(), dicomStudy.SubjectId.ToString(), dicomStudy.SubjectVisitId.ToString(), StaticData.Folder.DicomFolder, dicomStudy.Id.ToString());
|
|
||||||
|
|
||||||
if (!Directory.Exists(path))
|
|
||||||
{
|
|
||||||
Directory.CreateDirectory(path);
|
|
||||||
}
|
|
||||||
return Path.Combine(path, instanceId.ToString() + ".dcm");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public string GetSubjectVisitPath(Guid trialId,Guid siteId,Guid subjectId, Guid subjectVisitId)
|
|
||||||
{
|
|
||||||
return Path.Combine(_fileStorePath, trialId.ToString(),
|
|
||||||
siteId.ToString(), subjectId.ToString(), subjectVisitId.ToString(), StaticData.Folder.DicomFolder);
|
|
||||||
}
|
|
||||||
|
|
||||||
//public static string CreateInstanceFilePath(DicomStudy dicomStudy, Guid seriesId, Guid instanceId)
|
|
||||||
//{
|
|
||||||
// string path = Path.Combine(_fileStorePath, "Dicom", dicomStudy.CreateTime.Year.ToString(), dicomStudy.TrialId.ToString(),
|
|
||||||
// dicomStudy.SiteId.ToString(), dicomStudy.SubjectId.ToString(), dicomStudy.Id.ToString());
|
|
||||||
// if (!Directory.Exists(path)) Directory.CreateDirectory(path);
|
|
||||||
|
|
||||||
// return Path.Combine(path, instanceId.ToString() + ".dcm");
|
|
||||||
//}
|
|
||||||
|
|
||||||
//public static string GetInstanceFilePath(DicomStudy dicomStudy, Guid seriesId, Guid instanceId)
|
|
||||||
//{
|
|
||||||
// return Path.Combine(_fileStorePath, "Dicom", dicomStudy.CreateTime.Year.ToString(), dicomStudy.TrialId.ToString(),
|
|
||||||
// dicomStudy.SiteId.ToString(), dicomStudy.SubjectId.ToString(), dicomStudy.Id.ToString(), instanceId.ToString() + ".dcm");
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
//public static void RemoveStudyDirectory(DicomStudy dicomStudy)
|
|
||||||
//{
|
|
||||||
// string path = Path.Combine(_fileStorePath, "Dicom", dicomStudy.CreateTime.Year.ToString(), dicomStudy.TrialId.ToString(),
|
|
||||||
// dicomStudy.SiteId.ToString(), dicomStudy.SubjectId.ToString(), dicomStudy.Id.ToString());
|
|
||||||
// if (Directory.Exists(path)) Directory.Delete(path, true);
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -12,11 +12,9 @@ namespace IRaCIS.Core.Application.Services
|
||||||
private readonly IRepository<DicomInstance> _instanceRepository;
|
private readonly IRepository<DicomInstance> _instanceRepository;
|
||||||
private readonly IRepository<DicomStudy> _studyRepository;
|
private readonly IRepository<DicomStudy> _studyRepository;
|
||||||
private readonly IRepository<KeyInstance> _keyInstanceRepository;
|
private readonly IRepository<KeyInstance> _keyInstanceRepository;
|
||||||
private readonly DicomFileStoreHelper _dicomFileStoreHelper;
|
|
||||||
public InstanceService(IRepository<DicomInstance> instanceRepository, IRepository<DicomStudy> studyRepository,
|
public InstanceService(IRepository<DicomInstance> instanceRepository, IRepository<DicomStudy> studyRepository,
|
||||||
IRepository<KeyInstance> keyInstanceRepository, DicomFileStoreHelper dicomFileStoreHelper)
|
IRepository<KeyInstance> keyInstanceRepository )
|
||||||
{
|
{
|
||||||
_dicomFileStoreHelper = dicomFileStoreHelper;
|
|
||||||
_instanceRepository = instanceRepository;
|
_instanceRepository = instanceRepository;
|
||||||
_studyRepository = studyRepository;
|
_studyRepository = studyRepository;
|
||||||
_keyInstanceRepository = keyInstanceRepository;
|
_keyInstanceRepository = keyInstanceRepository;
|
||||||
|
|
|
@ -15,12 +15,10 @@ namespace IRaCIS.Core.Application.Services
|
||||||
private readonly IRepository<DicomInstance> _instanceRepository;
|
private readonly IRepository<DicomInstance> _instanceRepository;
|
||||||
private readonly IRepository<DicomStudy> _studyRepository;
|
private readonly IRepository<DicomStudy> _studyRepository;
|
||||||
private readonly IRepository<KeyInstance> _keyInstanceRepository;
|
private readonly IRepository<KeyInstance> _keyInstanceRepository;
|
||||||
private readonly DicomFileStoreHelper _dicomFileStoreHelper;
|
|
||||||
public SeriesService(IRepository<DicomInstance> instanceRepository, IRepository<DicomStudy> studyRepository,
|
public SeriesService(IRepository<DicomInstance> instanceRepository, IRepository<DicomStudy> studyRepository,
|
||||||
IRepository<KeyInstance> keyInstanceRepository, DicomFileStoreHelper dicomFileStoreHelper, IRepository<DicomSeries> seriesRepository, IRepository<ImageLabel> imageLabelRepository)
|
IRepository<KeyInstance> keyInstanceRepository, IRepository<DicomSeries> seriesRepository, IRepository<ImageLabel> imageLabelRepository)
|
||||||
{
|
{
|
||||||
_seriesRepository = seriesRepository;
|
_seriesRepository = seriesRepository;
|
||||||
_dicomFileStoreHelper = dicomFileStoreHelper;
|
|
||||||
_instanceRepository = instanceRepository;
|
_instanceRepository = instanceRepository;
|
||||||
_studyRepository = studyRepository;
|
_studyRepository = studyRepository;
|
||||||
_keyInstanceRepository = keyInstanceRepository;
|
_keyInstanceRepository = keyInstanceRepository;
|
||||||
|
|
|
@ -13,7 +13,6 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
public class StudyService : BaseService, IStudyService
|
public class StudyService : BaseService, IStudyService
|
||||||
{
|
{
|
||||||
|
|
||||||
private readonly DicomFileStoreHelper _dicomFileStoreHelper;
|
|
||||||
private readonly IEasyCachingProvider _provider;
|
private readonly IEasyCachingProvider _provider;
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,12 +20,11 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
|
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
|
||||||
private readonly IRepository<DicomSeries> _dicomSeriesRepository;
|
private readonly IRepository<DicomSeries> _dicomSeriesRepository;
|
||||||
|
|
||||||
public StudyService(DicomFileStoreHelper dicomFileStoreHelper, IEasyCachingProvider provider
|
public StudyService( IEasyCachingProvider provider
|
||||||
, IRepository<SubjectVisit> subjectVisitRepository,
|
, IRepository<SubjectVisit> subjectVisitRepository,
|
||||||
IRepository<DicomInstance> dicomInstanceRepository,
|
IRepository<DicomInstance> dicomInstanceRepository,
|
||||||
IRepository<DicomSeries> dicomSeriesRepository)
|
IRepository<DicomSeries> dicomSeriesRepository)
|
||||||
{
|
{
|
||||||
_dicomFileStoreHelper = dicomFileStoreHelper;
|
|
||||||
_provider = provider;
|
_provider = provider;
|
||||||
_subjectVisitRepository = subjectVisitRepository;
|
_subjectVisitRepository = subjectVisitRepository;
|
||||||
_dicomInstanceRepository = dicomInstanceRepository;
|
_dicomInstanceRepository = dicomInstanceRepository;
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -21,7 +21,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
public class QCOperationService : BaseService, IQCOperationService
|
public class QCOperationService : BaseService, IQCOperationService
|
||||||
{
|
{
|
||||||
|
|
||||||
private readonly DicomFileStoreHelper _dicomFileStoreHelper;
|
|
||||||
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
||||||
private readonly IRepository<QCChallenge> _qcChallengeRepository;
|
private readonly IRepository<QCChallenge> _qcChallengeRepository;
|
||||||
private readonly IRepository<DicomStudy> _dicomStudyRepository;
|
private readonly IRepository<DicomStudy> _dicomStudyRepository;
|
||||||
|
@ -33,7 +32,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
|
|
||||||
private readonly AsyncLock _mutex = new AsyncLock();
|
private readonly AsyncLock _mutex = new AsyncLock();
|
||||||
|
|
||||||
public QCOperationService(DicomFileStoreHelper dicomFileStoreHelper, IRepository<SubjectVisit> subjectVisitRepository,
|
public QCOperationService( IRepository<SubjectVisit> subjectVisitRepository,
|
||||||
IRepository<QCChallenge> qcChallengeRepository,
|
IRepository<QCChallenge> qcChallengeRepository,
|
||||||
IRepository<Trial> trialRepository,
|
IRepository<Trial> trialRepository,
|
||||||
IRepository<DicomStudy> dicomStudyRepository,
|
IRepository<DicomStudy> dicomStudyRepository,
|
||||||
|
@ -43,7 +42,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
IRepository<CheckChallengeDialog> checkChallengeDialogrepository
|
IRepository<CheckChallengeDialog> checkChallengeDialogrepository
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
_dicomFileStoreHelper = dicomFileStoreHelper;
|
|
||||||
_subjectVisitRepository = subjectVisitRepository;
|
_subjectVisitRepository = subjectVisitRepository;
|
||||||
_qcChallengeRepository = qcChallengeRepository;
|
_qcChallengeRepository = qcChallengeRepository;
|
||||||
_dicomStudyRepository = dicomStudyRepository;
|
_dicomStudyRepository = dicomStudyRepository;
|
||||||
|
@ -1685,7 +1683,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
var info = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).ProjectTo<DicomTrialSiteSubjectInfo>(_mapper.ConfigurationProvider).FirstOrDefaultAsync();
|
var info = (await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).ProjectTo<DicomTrialSiteSubjectInfo>(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
|
||||||
var targetPath = "/IMPORT-IMAGES/" + info.TrialCode + "_" + info.SubjectCode + "_" + info.VisitName;
|
var targetPath = "/IMPORT-IMAGES/" + info.TrialCode + "_" + info.SubjectCode + "_" + info.VisitName;
|
||||||
|
|
|
@ -57,7 +57,6 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
public async Task<IResponseOutput> SendVerifyCode(SiteSurveySendVerifyCode userInfo)
|
public async Task<IResponseOutput> SendVerifyCode(SiteSurveySendVerifyCode userInfo)
|
||||||
{
|
{
|
||||||
var verificationType = VerifyType.Email;
|
|
||||||
//检查手机或者邮箱是否有效
|
//检查手机或者邮箱是否有效
|
||||||
if (!Regex.IsMatch(userInfo.Email, @"^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$"))
|
if (!Regex.IsMatch(userInfo.Email, @"^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$"))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue