上传监控
parent
f2202daa75
commit
8eb5476f8e
|
@ -199,19 +199,19 @@ namespace IRaCIS.Core.API.Controllers
|
|||
public IMapper _mapper { get; set; }
|
||||
public IUserInfo _userInfo { get; set; }
|
||||
private readonly IMediator _mediator;
|
||||
|
||||
|
||||
private readonly IWebHostEnvironment _hostEnvironment;
|
||||
|
||||
private readonly IRepository _repository;
|
||||
|
||||
|
||||
public StudyController(IMapper mapper, IUserInfo userInfo, IWebHostEnvironment hostEnvironment, IMediator mediator,
|
||||
|
||||
|
||||
IRepository repository)
|
||||
{
|
||||
_hostEnvironment = hostEnvironment;
|
||||
_mediator = mediator;
|
||||
|
||||
|
||||
_mapper = mapper;
|
||||
_userInfo = userInfo;
|
||||
_repository = repository;
|
||||
|
@ -227,7 +227,7 @@ namespace IRaCIS.Core.API.Controllers
|
|||
[FromServices] ILogger<UploadDownLoadController> _logger,
|
||||
[FromServices] IEasyCachingProvider _provider,
|
||||
[FromServices] IStudyService _studyService,
|
||||
|
||||
|
||||
[FromServices] IDicomArchiveService _dicomArchiveService,
|
||||
[FromServices] IRepository _repository
|
||||
)
|
||||
|
@ -293,9 +293,27 @@ namespace IRaCIS.Core.API.Controllers
|
|||
|
||||
});
|
||||
|
||||
var studyMonitor = new StudyMonitor()
|
||||
{
|
||||
TrialId = savedInfo.TrialId,
|
||||
SiteId = savedInfo.SiteId,
|
||||
SubjectId = savedInfo.SubjectId,
|
||||
SubjectVisitId = savedInfo.SubjectVisitId,
|
||||
StudyId = archivedStudyIds[0],
|
||||
|
||||
StudyCode = studycode,
|
||||
UploadStartTime = startTime,
|
||||
UploadFinishedTime = DateTime.Now,
|
||||
FileSize = (decimal)HttpContext.Request.ContentLength,
|
||||
FileCount = archiveResult.ReceivedFileCount,
|
||||
IsDicom = true,
|
||||
IsDicomReUpload = archiveStudyCommand.AbandonStudyId != null,
|
||||
IP = _userInfo.IP
|
||||
};
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
if (archivedStudyIds.Count > 0) // 上传成功,处理逻辑
|
||||
{
|
||||
|
||||
|
@ -305,24 +323,9 @@ namespace IRaCIS.Core.API.Controllers
|
|||
|
||||
archiveResult.ReuploadNewStudyId = archivedStudyIds[0] == archiveStudyCommand.AbandonStudyId ? archivedStudyIds[0] : Guid.Empty;
|
||||
|
||||
await _repository.AddAsync(new StudyMonitor()
|
||||
{
|
||||
TrialId = savedInfo.TrialId,
|
||||
SiteId = savedInfo.SiteId,
|
||||
SubjectId = savedInfo.SubjectId,
|
||||
SubjectVisitId = savedInfo.SubjectVisitId,
|
||||
StudyId = archivedStudyIds[0],
|
||||
|
||||
StudyCode = studycode,
|
||||
UploadStartTime = startTime,
|
||||
UploadFinishedTime = DateTime.Now,
|
||||
FileSize = (decimal)HttpContext.Request.ContentLength,
|
||||
FileCount = archiveResult.ReceivedFileCount,
|
||||
IsDicom = true,
|
||||
IsDicomReUpload = archiveStudyCommand.AbandonStudyId != null,
|
||||
IP = _userInfo.IP
|
||||
}, true);
|
||||
|
||||
studyMonitor.IsSuccess = true;
|
||||
|
||||
|
||||
//_studyService.UploadOrReUploadNeedTodo(archiveStudyCommand, archivedStudyIds, ref archiveResult, );
|
||||
|
||||
|
@ -331,20 +334,32 @@ namespace IRaCIS.Core.API.Controllers
|
|||
}
|
||||
else
|
||||
{
|
||||
studyMonitor.IsSuccess = false;
|
||||
studyMonitor.Note= JsonConvert.SerializeObject(archiveResult);
|
||||
|
||||
return ResponseOutput.NotOk(archiveResult);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
studyMonitor.IsSuccess = false;
|
||||
studyMonitor.Note = JsonConvert.SerializeObject(new { Message=e.Message,Result= archiveResult });
|
||||
|
||||
_logger.LogError(e.Message + e.StackTrace);
|
||||
|
||||
_provider.Remove("StudyUid_" + archiveStudyCommand.StudyInstanceUid);
|
||||
|
||||
return ResponseOutput.NotOk(e.Message, ApiResponseCodeEnum.ProgramException);
|
||||
|
||||
}
|
||||
finally
|
||||
{
|
||||
await _repository.AddAsync(studyMonitor, true);
|
||||
|
||||
}
|
||||
|
||||
return ResponseOutput.Ok(archiveResult);
|
||||
|
@ -354,7 +369,7 @@ namespace IRaCIS.Core.API.Controllers
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -370,19 +385,24 @@ namespace IRaCIS.Core.API.Controllers
|
|||
{
|
||||
await QCCommon.VerifyIsCRCSubmmitAsync(_repository, _userInfo, subjectVisitId);
|
||||
var sv = _repository.Where<SubjectVisit>(t => t.Id == subjectVisitId).Select(t => new { t.TrialId, t.SiteId, t.SubjectId }).FirstOrDefault().IfNullThrowException();
|
||||
|
||||
|
||||
await FileUploadAsync(async (fileName) =>
|
||||
{
|
||||
var (serverFilePath, relativePath, fileRealName) = FileStoreHelper.GetClinicalDataPath(_hostEnvironment, fileName, sv.TrialId, sv.SiteId, sv.SubjectId, subjectVisitId);
|
||||
//插入临床pdf 路径
|
||||
await _repository.AddAsync(new PreviousPDF() { SubjectVisitId = subjectVisitId,
|
||||
await _repository.AddAsync(new PreviousPDF()
|
||||
{
|
||||
SubjectVisitId = subjectVisitId,
|
||||
|
||||
IsVisist=true,
|
||||
DataType= ClinicalDataType.MedicalHistory,
|
||||
UploadType=ClinicalUploadType.PDF,
|
||||
SubjectId= sv.SubjectId,
|
||||
TrialId=sv.TrialId,
|
||||
ClinicalLevel = ClinicalLevel.Subject, Path = relativePath, FileName = fileRealName });
|
||||
IsVisist = true,
|
||||
DataType = ClinicalDataType.MedicalHistory,
|
||||
UploadType = ClinicalUploadType.PDF,
|
||||
SubjectId = sv.SubjectId,
|
||||
TrialId = sv.TrialId,
|
||||
ClinicalLevel = ClinicalLevel.Subject,
|
||||
Path = relativePath,
|
||||
FileName = fileRealName
|
||||
});
|
||||
return serverFilePath;
|
||||
});
|
||||
await _repository.SaveChangesAsync();
|
||||
|
@ -397,11 +417,11 @@ namespace IRaCIS.Core.API.Controllers
|
|||
/// <returns></returns>
|
||||
[HttpPost("ClinicalData/UploadClinicalTemplate")]
|
||||
[DisableRequestSizeLimit]
|
||||
|
||||
|
||||
public async Task<IResponseOutput<List<FileDto>>> UploadClinicalTemplate(Guid? trialId)
|
||||
{
|
||||
if(trialId==null)
|
||||
trialId=default(Guid);
|
||||
if (trialId == null)
|
||||
trialId = default(Guid);
|
||||
|
||||
var filerelativePath = string.Empty;
|
||||
List<FileDto> fileDtos = new List<FileDto>();
|
||||
|
@ -434,7 +454,7 @@ namespace IRaCIS.Core.API.Controllers
|
|||
/// <returns></returns>
|
||||
[HttpPost("ClinicalData/UploadClinicalData/{trialId:guid}/{subjectId:guid}/{readingId:guid}")]
|
||||
[DisableRequestSizeLimit]
|
||||
public async Task<IResponseOutput<List<FileDto>>> UploadReadClinicalData(Guid trialId,Guid subjectId,Guid readingId)
|
||||
public async Task<IResponseOutput<List<FileDto>>> UploadReadClinicalData(Guid trialId, Guid subjectId, Guid readingId)
|
||||
{
|
||||
var filerelativePath = string.Empty;
|
||||
List<FileDto> fileDtos = new List<FileDto>();
|
||||
|
@ -457,7 +477,7 @@ namespace IRaCIS.Core.API.Controllers
|
|||
});
|
||||
|
||||
return ResponseOutput.Ok(fileDtos);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -480,7 +500,7 @@ namespace IRaCIS.Core.API.Controllers
|
|||
return serverFilePath;
|
||||
});
|
||||
|
||||
|
||||
|
||||
return ResponseOutput.Ok(fileDto);
|
||||
}
|
||||
|
||||
|
@ -494,7 +514,7 @@ namespace IRaCIS.Core.API.Controllers
|
|||
[TypeFilter(typeof(TrialResourceFilter))]
|
||||
public async Task<IResponseOutput<FileDto>> UploadJudgeTaskImage(Guid trialId, Guid visitTaskId)
|
||||
{
|
||||
|
||||
|
||||
FileDto fileDto = new FileDto();
|
||||
await FileUploadAsync(async (fileName) =>
|
||||
{
|
||||
|
@ -531,13 +551,13 @@ namespace IRaCIS.Core.API.Controllers
|
|||
await _repository.UpdatePartialFromQueryAsync<TaskMedicalReview>(x => x.Id == taskMedicalReviewId, x => new TaskMedicalReview()
|
||||
{
|
||||
ImagePath = relativePath,
|
||||
FileName=fileName,
|
||||
FileName = fileName,
|
||||
});
|
||||
|
||||
path = relativePath;
|
||||
fileDto.Path = relativePath;
|
||||
fileDto.FileName = fileName;
|
||||
return serverFilePath;
|
||||
return serverFilePath;
|
||||
});
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
|
@ -617,9 +637,9 @@ namespace IRaCIS.Core.API.Controllers
|
|||
[HttpPost("QCOperation/UploadVisitCheckExcel/{trialId:guid}")]
|
||||
[TypeFilter(typeof(TrialResourceFilter))]
|
||||
[Authorize(Policy = IRaCISPolicy.PM_APM)]
|
||||
public async Task<IResponseOutput> UploadVisitCheckExcel(Guid trialId )
|
||||
public async Task<IResponseOutput> UploadVisitCheckExcel(Guid trialId)
|
||||
{
|
||||
|
||||
|
||||
var (serverFilePath, relativePath, fileName) = (string.Empty, string.Empty, string.Empty);
|
||||
await FileUploadAsync(async (realFileName) =>
|
||||
{
|
||||
|
@ -812,7 +832,7 @@ namespace IRaCIS.Core.API.Controllers
|
|||
{
|
||||
public IMapper _mapper { get; set; }
|
||||
public IUserInfo _userInfo { get; set; }
|
||||
|
||||
|
||||
|
||||
private readonly IWebHostEnvironment _hostEnvironment;
|
||||
|
||||
|
@ -820,11 +840,11 @@ namespace IRaCIS.Core.API.Controllers
|
|||
|
||||
|
||||
|
||||
public FileController(IMapper mapper, IUserInfo userInfo, IWebHostEnvironment hostEnvironment,IFileService fileService)
|
||||
public FileController(IMapper mapper, IUserInfo userInfo, IWebHostEnvironment hostEnvironment, IFileService fileService)
|
||||
{
|
||||
_fileService = fileService;
|
||||
_hostEnvironment = hostEnvironment;
|
||||
|
||||
|
||||
_mapper = mapper;
|
||||
_userInfo = userInfo;
|
||||
}
|
||||
|
@ -923,7 +943,7 @@ namespace IRaCIS.Core.API.Controllers
|
|||
[HttpPost, Route("enroll/downloadResume/{trialId:guid}/{language}")]
|
||||
[TypeFilter(typeof(TrialResourceFilter))]
|
||||
[AllowAnonymous]
|
||||
public async Task<IResponseOutput<string>> DownloadResume( int language, Guid trialId, Guid[] doctorIdArray)
|
||||
public async Task<IResponseOutput<string>> DownloadResume(int language, Guid trialId, Guid[] doctorIdArray)
|
||||
{
|
||||
var zipPath = await _fileService.CreateOfficialResumeZip(language, doctorIdArray);
|
||||
|
||||
|
|
|
@ -249,6 +249,14 @@
|
|||
<param name="readingId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.API.Controllers.StudyController.UploadReadingAnswerImage(System.Guid,System.Guid)">
|
||||
<summary>
|
||||
上传Reading问题的图像
|
||||
</summary>
|
||||
<param name="trialId"></param>
|
||||
<param name="visitTaskId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.API.Controllers.StudyController.UploadJudgeTaskImage(System.Guid,System.Guid)">
|
||||
<summary>
|
||||
上传裁判任务的图像
|
||||
|
|
|
@ -1537,6 +1537,11 @@
|
|||
评估原因
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetOncologyReadingInfoOutDto.IsShowDetail">
|
||||
<summary>
|
||||
是否显示详情
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetGlobalReadingInfoInDto.UsingOriginalData">
|
||||
<summary>
|
||||
当新答案为空的时候 是否是有原数据
|
||||
|
@ -1662,6 +1667,21 @@
|
|||
标准分页Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.RelevanceId">
|
||||
<summary>
|
||||
关联ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.RelevanceValue">
|
||||
<summary>
|
||||
关联Value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.ImageCount">
|
||||
<summary>
|
||||
图片数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.IRConfirmMedicalReviewInDto.DoctorUserIdeaEnum">
|
||||
<summary>
|
||||
阅片人是否认同
|
||||
|
@ -2390,6 +2410,21 @@
|
|||
标准分页Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionTrialView.RelevanceId">
|
||||
<summary>
|
||||
关联ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionTrialView.RelevanceValue">
|
||||
<summary>
|
||||
关联Value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionTrialView.ImageCount">
|
||||
<summary>
|
||||
图片数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionSystemView.Id">
|
||||
<summary>
|
||||
Id
|
||||
|
@ -2450,6 +2485,11 @@
|
|||
是否是裁判问题
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionSystemView.ImageCount">
|
||||
<summary>
|
||||
图片数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionTrialViewInDto.ReadingQuestionCriterionTrialId">
|
||||
<summary>
|
||||
系统标准Id
|
||||
|
@ -2550,6 +2590,21 @@
|
|||
裁判类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TrialQuestion.RelevanceId">
|
||||
<summary>
|
||||
关联ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TrialQuestion.RelevanceValue">
|
||||
<summary>
|
||||
关联Value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TrialQuestion.ImageCount">
|
||||
<summary>
|
||||
图片数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingQuestionSystemInDto.GroupName">
|
||||
<summary>
|
||||
分组
|
||||
|
@ -2610,6 +2665,11 @@
|
|||
类型值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingQuestionSystemInDto.ImageCount">
|
||||
<summary>
|
||||
图片数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingQuestionTrialInDto.Id">
|
||||
<summary>
|
||||
Id
|
||||
|
@ -2680,6 +2740,21 @@
|
|||
标准分页Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingQuestionTrialInDto.RelevanceId">
|
||||
<summary>
|
||||
关联ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingQuestionTrialInDto.RelevanceValue">
|
||||
<summary>
|
||||
关联Value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingQuestionTrialInDto.ImageCount">
|
||||
<summary>
|
||||
图片数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionCriterionSystemView.Id">
|
||||
<summary>
|
||||
返回的对象
|
||||
|
@ -2740,6 +2815,11 @@
|
|||
修约小数点
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionCriterionTrialView.ShowOrder">
|
||||
<summary>
|
||||
排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionCriterionTrialView.IsSystemData">
|
||||
<summary>
|
||||
是否是系统数据
|
||||
|
@ -4285,6 +4365,11 @@
|
|||
评估原因
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.SetOncologySetInDto.IsShowDetail">
|
||||
<summary>
|
||||
是否显示详情
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.GetOncologySetOutDto.EvaluationResult">
|
||||
<summary>
|
||||
评估结果
|
||||
|
@ -4295,6 +4380,11 @@
|
|||
评估原因
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.GetOncologySetOutDto.IsShowDetail">
|
||||
<summary>
|
||||
是否显示详情
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingCriterionInDto.FormType">
|
||||
<summary>
|
||||
表单类型
|
||||
|
|
|
@ -103,6 +103,10 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
public int FileCount { get; set; }
|
||||
|
||||
public bool IsSuccess = true;
|
||||
|
||||
public string Note = string.Empty;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -180,7 +180,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
|
||||
UploadTime = t.CreateTime,
|
||||
|
||||
|
||||
IsSuccess=t.IsSuccess,
|
||||
Note=t.Note,
|
||||
IP = t.IP,
|
||||
FileCount = t.FileCount,
|
||||
FileSize = t.FileSize,
|
||||
|
|
|
@ -80,6 +80,11 @@ namespace IRaCIS.Core.Domain.Models
|
|||
[ForeignKey("CreateUserId")]
|
||||
public User Uploader { get; set; }
|
||||
|
||||
|
||||
public bool IsSuccess = true;
|
||||
|
||||
public string Note = string.Empty;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue