删除废弃的dicom 路径帮助类

Uat_Study
hang 2022-06-01 17:18:40 +08:00
parent 9dc4d13d6e
commit e63c235f8a
10 changed files with 5 additions and 1152 deletions

View File

@ -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>();

View File

@ -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;

View File

@ -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;

View File

@ -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);
//}
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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_-]+)+$"))
{ {