From 271fa2bccc1ab769f1f823c88cae0455bcc86a73 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 2 Mar 2023 11:58:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A3=80=E6=9F=A5=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/UploadDownLoadController.cs | 39 ++++++++----------- .../Service/Visit/DTO/VisitPointViewModel.cs | 2 + 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index 37b8d6fd..75866346 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -246,7 +246,7 @@ namespace IRaCIS.Core.API.Controllers IsSuccess = false, UploadStartTime = DateTime.Now, - IsDicom = true, + IsDicom = preArchiveStudyCommand.IsDicom, IP = _userInfo.IP }; @@ -269,7 +269,6 @@ namespace IRaCIS.Core.API.Controllers [FromServices] IStudyService _studyService, [FromServices] IHubContext _uploadHub, [FromServices] IDicomArchiveService _dicomArchiveService, - [FromServices] IRepository _repository, [FromServices] IRepository _studyMonitorRepository ) { @@ -634,20 +633,25 @@ namespace IRaCIS.Core.API.Controllers /// /// /// + /// + /// /// //[DisableRequestSizeLimit] [RequestSizeLimit(1_073_741_824)] - [HttpPost("NoneDicomStudy/UploadNoneDicomFile/{trialId:guid}/{subjectVisitId:guid}/{noneDicomStudyId:guid}")] + [HttpPost("NoneDicomStudy/UploadNoneDicomFile/{trialId:guid}/{subjectVisitId:guid}/{noneDicomStudyId:guid}/{studyMonitorId:guid}")] [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] [Authorize(Policy = IRaCISPolicy.CRC)] - public async Task UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId, [FromServices] IRepository _noneDicomStudyRepository) + public async Task UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId, Guid studyMonitorId, + [FromServices] IRepository _noneDicomStudyRepository, [FromServices] IRepository _studyMonitorRepository) { - var startTime = DateTime.Now; await QCCommon.VerifyIsCRCSubmmitAsync(_repository, _userInfo, subjectVisitId); var sv = (await _repository.Where(t => t.Id == subjectVisitId).Select(t => new { t.TrialId, t.SiteId, t.SubjectId }).FirstOrDefaultAsync()).IfNullThrowConvertException(); + var studyMonitor = await _studyMonitorRepository.FirstOrDefaultAsync(t => t.Id == studyMonitorId); + + studyMonitor.UploadFinishedTime = DateTime.Now; await FileUploadAsync(async (fileName) => { @@ -669,23 +673,14 @@ namespace IRaCIS.Core.API.Controllers noneDicomStudy.FileCount = noneDicomStudy.FileCount + formCollection.Files.Count; - await _repository.AddAsync(new StudyMonitor() - { - FileCount = formCollection.Files.Count, - FileSize = formCollection.Files.Sum(t => t.Length), - IsDicom = false, - IsDicomReUpload = false, - StudyId = noneDicomStudyId, - StudyCode = noneDicomStudy.StudyCode, - UploadStartTime = startTime, - UploadFinishedTime = uploadFinishedTime, - ArchiveFinishedTime=DateTime.Now, - IP = _userInfo.IP, - TrialId = sv.TrialId, - SiteId = sv.SiteId, - SubjectId = sv.SubjectId, - SubjectVisitId = subjectVisitId, - }); + studyMonitor.FileCount = formCollection.Files.Count; + studyMonitor.FileSize = formCollection.Files.Sum(t => t.Length); + studyMonitor.IsDicom = false; + studyMonitor.IsDicomReUpload = false; + studyMonitor.StudyId = noneDicomStudyId; + studyMonitor.StudyCode = noneDicomStudy.StudyCode; + studyMonitor.ArchiveFinishedTime = DateTime.Now; + studyMonitor.IP = _userInfo.IP; await _repository.SaveChangesAsync(); diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs index 6af69973..a38b10ec 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs @@ -223,6 +223,8 @@ namespace IRaCIS.Core.Application.Contracts { public Guid SubjectVisitId { get; set; } + public bool IsDicom { get; set; } + }