Test.EIImageViewer
he 2022-07-04 17:02:43 +08:00
parent b782c8acfc
commit 61445f1a1a
7 changed files with 87 additions and 25 deletions

View File

@ -460,7 +460,39 @@ namespace IRaCIS.Core.API.Controllers
}
/// <summary>
/// 上传医学审核图片
/// </summary>
/// <param name="trialId"></param>
/// <param name="taskMedicalReviewId"></param>
/// <returns></returns>
[HttpPost("TaskMedicalReview/UploadMedicalReviewImage/{trialId:guid}/{taskMedicalReviewId:guid}")]
[TypeFilter(typeof(TrialResourceFilter))]
public async Task<IResponseOutput> UploadMedicalReviewImage(Guid trialId, Guid taskMedicalReviewId)
{
string path = string.Empty;
await FileUploadAsync(async (fileName) =>
{
var (serverFilePath, relativePath, fileRealName) = FileStoreHelper.GetMedicalReviewImage(_hostEnvironment, fileName, trialId, taskMedicalReviewId);
await _repository.UpdatePartialFromQueryAsync<TaskMedicalReview>(x => x.Id == taskMedicalReviewId, x => new TaskMedicalReview()
{
ImagePath = relativePath
});
path = relativePath;
return serverFilePath;
});
await _repository.SaveChangesAsync();
return ResponseOutput.Ok(path);
}
/// <summary>
/// 上传非Dicom 文件 支持压缩包 多文件上传

View File

@ -215,6 +215,14 @@
<param name="readingId"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.API.Controllers.StudyController.UploadMedicalReviewImage(System.Guid,System.Guid)">
<summary>
上传医学审核图片
</summary>
<param name="trialId"></param>
<param name="taskMedicalReviewId"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.API.Controllers.StudyController.UploadNoneDicomFile(Microsoft.AspNetCore.Http.IFormCollection,System.Guid,System.Guid)">
<summary>
上传非Dicom 文件 支持压缩包 多文件上传

View File

@ -345,6 +345,23 @@ public static class FileStoreHelper
}
public static (string PhysicalPath, string RelativePath, string FileRealName) GetMedicalReviewImage(IWebHostEnvironment _hostEnvironment, string fileName, Guid trialId, Guid taskMedicalReviewId)
{
var rootPath = FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment);
string uploadFolderPath = Path.Combine(rootPath, StaticData.Folder.TrialDataFolder, trialId.ToString(), taskMedicalReviewId.ToString(), StaticData.Folder.NoneDicomFolder);
if (!Directory.Exists(uploadFolderPath)) Directory.CreateDirectory(uploadFolderPath);
var (trustedFileNameForFileStorage, fileRealName) = FileStoreHelper.GetStoreFileName(fileName);
var relativePath = $"/{StaticData.Folder.IRaCISDataFolder}/{StaticData.Folder.TrialDataFolder}/{trialId}/{taskMedicalReviewId}/{StaticData.Folder.NoneDicomFolder}/{trustedFileNameForFileStorage}";
var serverFilePath = Path.Combine(uploadFolderPath, trustedFileNameForFileStorage);
return (serverFilePath, relativePath, fileRealName);
}
//获取非dicom文件存放路径
public static (string PhysicalPath, string RelativePath, string FileRealName) GetNoneDicomFilePath(IWebHostEnvironment _hostEnvironment, string fileName, Guid trialId, Guid siteId, Guid subjectId, Guid subjectVisitId)

View File

@ -1472,6 +1472,16 @@
答案
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetMedicalReviewReadingTaskOutDto.IsReviewFinish">
<summary>
是否完成
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetMedicalReviewReadingTaskOutDto.IsClosedDialog">
<summary>
是否关闭
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SaveMedicalReviewInfoInDto.IsHaveQuestion">
<summary>
是否有问题
@ -1492,12 +1502,7 @@
审核建议
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SaveMedicalReviewInfoInDto.IsFinish">
<summary>
是否完成
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SaveMedicalReviewInfoInDto.IsClosed">
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SaveMedicalReviewInfoInDto.IsClosedDialog">
<summary>
是否关闭
</summary>
@ -1522,12 +1527,12 @@
审核建议
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.MedicalReviewInfo.IsFinish">
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.MedicalReviewInfo.IsReviewFinish">
<summary>
是否完成
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.MedicalReviewInfo.IsClosed">
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.MedicalReviewInfo.IsClosedDialog">
<summary>
是否关闭
</summary>

View File

@ -12,9 +12,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class SendMedicalReviewDialogInDto
{
public Guid TaskMedicalReviewId { get; set; }
public Guid VisitTaskId { get; set; }
public string Content { get; set; }
}
@ -65,7 +62,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary>
/// 是否关闭
/// </summary>
public bool IsClosedDialo { get; set; }
public bool IsClosedDialog { get; set; }
public List<TaskInfo> TaskList { get; set; } = new List<TaskInfo>();
@ -103,15 +100,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public AuditAdvice AuditAdviceEnum { get; set; }
/// <summary>
/// 是否完成
/// </summary>
public bool IsReviewFinish { get; set; }
/// <summary>
/// 是否关闭
/// </summary>
public bool IsClosedDialo { get; set; }
public bool IsClosedDialog { get; set; }
}
public class MedicalReviewInfo
@ -148,7 +140,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary>
/// 是否关闭
/// </summary>
public bool IsClosedDialo { get; set; }
public bool IsClosedDialog { get; set; }
}
public class ReadingMedicineQuestion
@ -224,6 +216,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string TaskName { get; set; }
/// <summary>
/// 是否有全局更新
/// </summary>
public bool IsGlobalChange { get; set; }
/// <summary>
/// 盲态名称
/// </summary>

View File

@ -66,7 +66,7 @@ namespace IRaCIS.Core.Application.Service
medicalReviewInfo.VisitTaskId = taskInfo.Id;
medicalReviewInfo.ArmEnum = taskInfo.ArmEnum;
medicalReviewInfo.IsClosedDialo = medicalReviewInfo.MedicalReviewInfo.IsClosedDialo;
medicalReviewInfo.IsClosedDialog = medicalReviewInfo.MedicalReviewInfo.IsClosedDialog;
medicalReviewInfo.IsReviewFinish = medicalReviewInfo.MedicalReviewInfo.IsReviewFinish;
@ -250,8 +250,7 @@ namespace IRaCIS.Core.Application.Service
Questioning = inDto.Questioning,
ImagePath = inDto.ImagePath,
AuditAdviceEnum = inDto.AuditAdviceEnum,
IsReviewFinish = inDto.IsReviewFinish,
IsClosedDialo = inDto.IsClosedDialo
IsClosedDialog = inDto.IsClosedDialog
});
var result = await _taskMedicalReviewRepository.SaveChangesAsync();
@ -265,13 +264,14 @@ namespace IRaCIS.Core.Application.Service
/// <returns></returns>
public async Task<IResponseOutput> SendMedicalReviewDialog(SendMedicalReviewDialogInDto inDto)
{
var visitTaskId = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).Select(x => x.VisitTaskId).FirstOrDefaultAsync();
ReadingMedicalReviewDialog dialog = new ReadingMedicalReviewDialog()
{
TaskMedicalReviewId = inDto.TaskMedicalReviewId,
UserTypeShortName = _userInfo.UserTypeShortName,
Content = inDto.Content,
UserTypeEnumInt = _userInfo.UserTypeEnumInt,
VisitTaskId = inDto.VisitTaskId,
VisitTaskId = visitTaskId,
};
await _readingMedicalReviewDialogRepository.AddAsync(dialog);
@ -281,6 +281,9 @@ namespace IRaCIS.Core.Application.Service
}
//public async Task<IResponseOutput>
}
}

View File

@ -117,7 +117,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary>
/// 是否关闭对话
/// </summary>
public bool IsClosedDialo { get; set; }
public bool IsClosedDialog { get; set; }
/// <summary>
/// 保存问题的时间