压缩包下载
parent
913a8d75da
commit
33a8b4117c
|
@ -17,16 +17,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IRaCIS.Core.Infra.EFCore",
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IRaCIS.Core.Infrastructure", "IRaCIS.Core.Infrastructure\IRaCIS.Core.Infrastructure.csproj", "{07EED0F8-08E6-46F3-ACBE-17BC1391BD4C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EI_Image_Viewer_Installer", "Start\EI_Image_Viewer_Installer.csproj", "{D96F4B52-359C-43C9-8110-BAD1437F9280}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Install", "Install\Install.csproj", "{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnInstall", "UnInstall\UnInstall.csproj", "{60B9AC72-5744-4517-93A5-A1ECD573A529}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EI_Image_Viewer_Activation", "EI_Image_Viewer_Activation\EI_Image_Viewer_Activation.csproj", "{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EI_TestProject", "EI_TestProject\EI_TestProject.csproj", "{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -115,66 +105,6 @@ Global
|
|||
{07EED0F8-08E6-46F3-ACBE-17BC1391BD4C}.Release|x64.Build.0 = Release|x64
|
||||
{07EED0F8-08E6-46F3-ACBE-17BC1391BD4C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{07EED0F8-08E6-46F3-ACBE-17BC1391BD4C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Debug|x64.Build.0 = Debug|x64
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Release|x64.ActiveCfg = Release|x64
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Release|x64.Build.0 = Release|x64
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D96F4B52-359C-43C9-8110-BAD1437F9280}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Debug|x64.Build.0 = Debug|x64
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Release|x64.ActiveCfg = Release|x64
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Release|x64.Build.0 = Release|x64
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F5820DF0-DE23-4F4A-8D49-7E22F67B784D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Debug|x64.Build.0 = Debug|x64
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Release|x64.ActiveCfg = Release|x64
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Release|x64.Build.0 = Release|x64
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{60B9AC72-5744-4517-93A5-A1ECD573A529}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Debug|x64.Build.0 = Debug|x64
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Release|x64.ActiveCfg = Release|x64
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Release|x64.Build.0 = Release|x64
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1D8AC441-D578-4B38-BCEE-686BD5D59E5A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Release|x64.Build.0 = Release|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{47F99CA7-E55B-4A0E-A511-7EDF34C57A20}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -42,9 +42,11 @@ using System.Collections.Generic;
|
|||
using System.Data;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static IRaCIS.Core.Domain.Share.StaticData;
|
||||
using Path = System.IO.Path;
|
||||
|
||||
namespace IRaCIS.Core.API.Controllers
|
||||
|
@ -423,8 +425,61 @@ namespace IRaCIS.Core.API.Controllers
|
|||
}
|
||||
|
||||
|
||||
[HttpPost, Route("Study/CreateImageZip")]
|
||||
public async Task<IResponseOutput> CreateImageZipAsync(Guid visitTaskId, [FromServices] IHubContext<UploadHub, IUploadClient> _uploadHub)
|
||||
{
|
||||
await _repository.BatchUpdateAsync<VisitTask>(t => t.Id == visitTaskId, u => new VisitTask() { PackState = PackState.Packing });
|
||||
|
||||
var info = _repository.Where<VisitTask>(t => t.Id == visitTaskId).Select(t => new { t.TrialId, t.Subject.SiteId, t.SubjectId, t.SourceSubjectVisitId }).FirstOrDefault();
|
||||
|
||||
|
||||
var folderPath = FileStoreHelper.GetSubjectVisitDicomFolderPhysicalPath(_hostEnvironment, info.TrialId, info.SiteId, info.SubjectId, info.SourceSubjectVisitId.Value);
|
||||
|
||||
// 获取文件夹中的文件列表
|
||||
var files = Directory.GetFiles(folderPath);
|
||||
|
||||
// 创建一个唯一的ZIP文件名
|
||||
var zipFileName = $"archive_{DateTime.Now:yyyyMMddHHmmss}.zip";
|
||||
|
||||
var tempStoreFolder = Path.Combine(FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment), StaticData.Folder.TempFileFolder);
|
||||
|
||||
if (!Directory.Exists(tempStoreFolder))
|
||||
{
|
||||
Directory.CreateDirectory(tempStoreFolder);
|
||||
}
|
||||
|
||||
var zipFilePath = Path.Combine(tempStoreFolder, zipFileName);
|
||||
|
||||
var relativePath = $"/{StaticData.Folder.IRaCISDataFolder}/{StaticData.Folder.TempFileFolder}/{zipFileName}";
|
||||
|
||||
|
||||
await Task.Run(async () =>
|
||||
{
|
||||
ZipFile.CreateFromDirectory(folderPath, zipFilePath);
|
||||
await _repository.BatchUpdateAsync<VisitTask>(t => t.Id == visitTaskId, u => new VisitTask() { PackState = PackState.Packed, PackRelativePath = relativePath });
|
||||
|
||||
});
|
||||
|
||||
|
||||
// 发送最终进度信息到客户端
|
||||
//await _uploadHub.Clients.User(_userInfo.Id.ToString()).CompressProgressAsync(visitTaskId, $"打包完成");
|
||||
|
||||
return ResponseOutput.Ok(relativePath);
|
||||
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
[HttpGet("Study/DownloadImageZip")]
|
||||
public IActionResult DownloadImageZip(string relativePath)
|
||||
{
|
||||
|
||||
var fileStorePath = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment, relativePath);
|
||||
|
||||
new FileExtensionContentTypeProvider().Mappings.TryGetValue(Path.GetExtension(fileStorePath), out var contentType);
|
||||
|
||||
return File(System.IO.File.OpenRead(fileStorePath), contentType ?? "application/octet-stream", Path.GetFileName(fileStorePath));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<Version>1.0.1.001</Version>
|
||||
<ApplicationIcon>favicon.ico</ApplicationIcon>
|
||||
<Platforms>AnyCPU;x64</Platforms>
|
||||
<AssemblyName>EI_Image_Viewer</AssemblyName>
|
||||
<AssemblyName></AssemblyName>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>EI_Image_Viewer</name>
|
||||
<name>IRaCIS.Core.API</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="M:EasyCaching.Demo.Interceptors.Controllers.ErrorController.Error(System.Int32)">
|
||||
|
|
|
@ -16,43 +16,13 @@
|
|||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"IRaCIS.Development": {
|
||||
"IRaCIS.Test510K": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
"ASPNETCORE_ENVIRONMENT": "Test_510K"
|
||||
},
|
||||
"applicationUrl": "http://localhost:6100"
|
||||
},
|
||||
"Docker": {
|
||||
"commandName": "Docker",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
|
||||
"publishAllPorts": true
|
||||
},
|
||||
"IRaCIS.Staging": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Staging"
|
||||
},
|
||||
"applicationUrl": "http://localhost:6200"
|
||||
},
|
||||
"IRaCIS.Production": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Production"
|
||||
},
|
||||
"applicationUrl": "http://localhost:6300"
|
||||
},
|
||||
"IRaCIS.CertificateApply": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "CertificateApply"
|
||||
},
|
||||
"applicationUrl": "http://localhost:6400"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Authorization;
|
|||
using Microsoft.AspNetCore.Cors;
|
||||
using Microsoft.AspNetCore.SignalR;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace IRaCIS.Core.API
|
||||
|
@ -11,6 +12,9 @@ namespace IRaCIS.Core.API
|
|||
public interface IUploadClient
|
||||
{
|
||||
Task ReceivProgressAsync(string studyInstanceUid, int haveReceivedCount);
|
||||
|
||||
|
||||
Task CompressProgressAsync(Guid visitTaskId, string msg);
|
||||
}
|
||||
|
||||
|
||||
|
@ -28,6 +32,7 @@ namespace IRaCIS.Core.API
|
|||
{
|
||||
|
||||
public ILogger<UploadHub> _logger { get; set; }
|
||||
|
||||
//public IUserInfo _userInfo { get; set; }
|
||||
public UploadHub(/*IUserInfo userInfo,*/ ILogger<UploadHub> logger)
|
||||
{
|
||||
|
@ -38,7 +43,6 @@ namespace IRaCIS.Core.API
|
|||
|
||||
public override Task OnConnectedAsync()
|
||||
{
|
||||
//base.Context.User.id
|
||||
|
||||
|
||||
_logger.LogError("连接: " + Context.ConnectionId);
|
||||
|
@ -47,12 +51,7 @@ namespace IRaCIS.Core.API
|
|||
return base.OnConnectedAsync();
|
||||
}
|
||||
|
||||
//public async Task SendProgress(string studyInstanceUid, int haveReceivedCount)
|
||||
//{
|
||||
|
||||
|
||||
// await Clients.All.ReceivProgressAsync(studyInstanceUid, haveReceivedCount);
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
}
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"RemoteNew": "Server=123.56.94.154,1433\\MSSQLSERVER;Database=Test.EIImageViewer;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true",
|
||||
"Hangfire": "Server=123.56.94.154,1433\\MSSQLSERVER;Database=Hangfire_IRaCIS;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true"
|
||||
|
||||
"RemoteNew": "Server=192.168.3.69,1434;Database=Test_510K;User ID=sa;Password=xc@123456;TrustServerCertificate=true"
|
||||
},
|
||||
"BasicSystemConfig": {
|
||||
|
|
@ -182,7 +182,9 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
public Guid? SourceSubjectVisitId { get; set; }
|
||||
public Guid? SouceReadModuleId { get; set; }
|
||||
|
||||
public PackState PackState { get; set; }
|
||||
|
||||
public string PackRelativePath { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts.Dicom.DTO
|
||||
{
|
||||
public class ImageShareCommand
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public Guid SubjectId { get; set; }
|
||||
public Guid? StudyId { get; set; }
|
||||
[NotDefault]
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
public DateTime? ExpireTime { get; set; }
|
||||
public string RouteUrl { get; set; }
|
||||
|
||||
public string Password { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class ResourceInfo
|
||||
{
|
||||
public Guid StudyId { get; set; }
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
public string RouteUrl { get; set; }
|
||||
|
||||
public string Token { get; set; } = string.Empty;
|
||||
}
|
||||
|
|
|
@ -28,55 +28,24 @@ namespace IRaCIS.Core.Application.Services
|
|||
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> CreateImageShare(ImageShareCommand imageShareCommand)
|
||||
{
|
||||
if (imageShareCommand.StudyId == null)
|
||||
{
|
||||
|
||||
#region 上传不按照检查批次上传,基线没传,数据可能出错
|
||||
var imageShare = _mapper.Map<ImageShare>(imageShareCommand);
|
||||
|
||||
//var subjectVisit1 = _subjectVisitRepository.FirstOrDefault(t =>
|
||||
// t.TrialId == imageShareCommand.TrialId && t.SubjectId == imageShareCommand.SubjectId &&
|
||||
// t.VisitNum == 1);
|
||||
var addEntity = await _imageShareRepository.AddAsync(imageShare);
|
||||
|
||||
//if (subjectVisit1 == null)
|
||||
//{
|
||||
// return ResponseOutput.NotOk("当前无影像数据,无法分享!");
|
||||
//}
|
||||
|
||||
//imageShareCommand.StudyId =
|
||||
// _studyRepository.GetAll().First(t => t.SubjectVisitId == subjectVisit1.Id&&t.Status != (int)StudyStatus.Abandon).Id;
|
||||
|
||||
#endregion
|
||||
|
||||
var studyIds = await _studyRepository.AsQueryable()
|
||||
.Where(t => t.TrialId == imageShareCommand.TrialId && t.SubjectId == imageShareCommand.SubjectId &&
|
||||
t.SiteId == imageShareCommand.SiteId)
|
||||
.Select(u => u.Id).ToListAsync();
|
||||
|
||||
if (!studyIds.Any())
|
||||
{
|
||||
return ResponseOutput.NotOk("当前检查没有影像可以分享。 ");
|
||||
}
|
||||
|
||||
imageShareCommand.StudyId = studyIds.First();
|
||||
|
||||
}
|
||||
|
||||
//验证码 4位
|
||||
int verificationPassWord = new Random().Next(1000, 10000);
|
||||
|
||||
imageShareCommand.Password = verificationPassWord.ToString();
|
||||
addEntity.Password = verificationPassWord.ToString();
|
||||
|
||||
//配置文件读取过期时间
|
||||
|
||||
var days = AppSettings.ImageShareExpireDays;
|
||||
|
||||
|
||||
imageShareCommand.ExpireTime = DateTime.Now.AddDays(days);
|
||||
|
||||
var imageShare = _mapper.Map<ImageShare>(imageShareCommand);
|
||||
|
||||
await _imageShareRepository.AddAsync(imageShare);
|
||||
addEntity.ExpireTime = DateTime.Now.AddDays(days);
|
||||
|
||||
var success = await _imageShareRepository.SaveChangesAsync();
|
||||
|
||||
|
@ -108,7 +77,8 @@ namespace IRaCIS.Core.Application.Services
|
|||
|
||||
var resource = new ResourceInfo()
|
||||
{
|
||||
StudyId = imageShare.StudyId,
|
||||
VisitTaskId = imageShare.VisitTaskId,
|
||||
RouteUrl=imageShare.RouteUrl,
|
||||
Token = _tokenService.GetToken(IRaCISClaims.Create(new UserBasicInfo()
|
||||
{
|
||||
Id = Guid.Empty,
|
||||
|
|
|
@ -175,6 +175,10 @@ namespace IRaCIS.Core.Domain.Models
|
|||
|
||||
|
||||
|
||||
public PackState PackState { get; set; }
|
||||
|
||||
public string PackRelativePath { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 首次阅片时间
|
||||
/// </summary>
|
||||
|
@ -372,3 +376,25 @@ namespace IRaCIS.Core.Domain.Models
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 影像下载打包状态
|
||||
/// </summary>
|
||||
public enum PackState
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 待打包
|
||||
/// </summary>
|
||||
WaitPack = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 打包中
|
||||
/// </summary>
|
||||
Packing = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 打包完成
|
||||
/// </summary>
|
||||
Packed = 2
|
||||
}
|
|
@ -4,10 +4,9 @@ namespace IRaCIS.Core.Domain.Models
|
|||
{
|
||||
public class ImageShare: Entity
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
public Guid SiteId { get; set; }
|
||||
public Guid SubjectId { get; set; }
|
||||
public Guid StudyId { get; set; }
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
public string RouteUrl { get; set; }
|
||||
|
||||
public DateTime ExpireTime { get; set; }
|
||||
|
||||
|
|
|
@ -21,6 +21,8 @@ public static class StaticData
|
|||
{
|
||||
public static readonly string IRaCISDataFolder = "EIImageViewerData";
|
||||
|
||||
public static readonly string TempFileFolder = "TempFile";
|
||||
|
||||
public static readonly string TrialDataFolder = "TrialData";
|
||||
|
||||
public static readonly string SystemDataFolder = "SystemData";
|
||||
|
|
Loading…
Reference in New Issue