diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index a0e64ae87..1b5d4681f 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -440,7 +440,7 @@ namespace IRaCIS.Core.API.Controllers #region 废弃 - + ///// ///// 上传临床数据 多文件 @@ -674,78 +674,79 @@ namespace IRaCIS.Core.API.Controllers - //public class UploadNoneDicomFileCommand - //{ - // public Guid TrialId { get; set; } - // public Guid SubjectVisitId { get; set; } - // public Guid NoneDicomStudyId { get; set; } - // public Guid StudyMonitorId { get; set; } - // public List UploadedFileList { get; set; } = new List(); - - - // public class OSSFileDTO - // { - // public string FilePath { get; set; } - // public string FileName { get; set; } - // public int FileFize { get; set; } - // } - //} - - ///// - ///// 上传非Dicom 文件 支持压缩包 多文件上传 - ///// - ///// - ///// - ////[DisableRequestSizeLimit] - //[HttpPost("NoneDicomStudy/UploadNoneDicomFile")] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] - ////[Authorize(Policy = IRaCISPolicy.CRC)] - //public async Task UploadNoneDicomFile(UploadNoneDicomFileCommand incommand, - // [FromServices] IRepository _noneDicomStudyRepository, [FromServices] IRepository _studyMonitorRepository) - //{ - - // var subjectVisitId = incommand.SubjectVisitId; - // var studyMonitorId = incommand.StudyMonitorId; - // var noneDicomStudyId = incommand.NoneDicomStudyId; - - - // 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; - - // foreach (var item in incommand.UploadedFileList) - // { - // await _repository.AddAsync(new NoneDicomStudyFile() { FileName = item.FileName, Path = item.FilePath, NoneDicomStudyId = noneDicomStudyId }); - - // } - // var uploadFinishedTime = DateTime.Now; - - // var noneDicomStudy = await _noneDicomStudyRepository.FirstOrDefaultAsync((t => t.Id == noneDicomStudyId)); - - // noneDicomStudy.FileCount = noneDicomStudy.FileCount + incommand.UploadedFileList.Count; - - // studyMonitor.FileCount = incommand.UploadedFileList.Count; - // studyMonitor.FileSize = incommand.UploadedFileList.Sum(t => t.FileFize); - // studyMonitor.IsDicom = false; - // studyMonitor.IsDicomReUpload = false; - // studyMonitor.StudyId = noneDicomStudyId; - // studyMonitor.StudyCode = noneDicomStudy.StudyCode; - // studyMonitor.ArchiveFinishedTime = DateTime.Now; - // studyMonitor.IP = _userInfo.IP; - - // await _repository.SaveChangesAsync(); - - // return ResponseOutput.Ok(); - //} - #endregion + public class UploadNoneDicomFileCommand + { + public Guid TrialId { get; set; } + public Guid SubjectVisitId { get; set; } + public Guid NoneDicomStudyId { get; set; } + public Guid StudyMonitorId { get; set; } + + + public List UploadedFileList { get; set; } = new List(); + + + public class OSSFileDTO + { + public string FilePath { get; set; } + public string FileName { get; set; } + public int FileFize { get; set; } + } + } + + /// + /// 上传非Dicom 文件 支持压缩包 多文件上传 + /// + /// + /// + //[DisableRequestSizeLimit] + [HttpPost("NoneDicomStudy/UploadNoneDicomFile")] + [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + //[Authorize(Policy = IRaCISPolicy.CRC)] + public async Task UploadNoneDicomFile(UploadNoneDicomFileCommand incommand, + [FromServices] IRepository _noneDicomStudyRepository, [FromServices] IRepository _studyMonitorRepository) + { + + var subjectVisitId = incommand.SubjectVisitId; + var studyMonitorId = incommand.StudyMonitorId; + var noneDicomStudyId = incommand.NoneDicomStudyId; + + + 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; + + foreach (var item in incommand.UploadedFileList) + { + await _repository.AddAsync(new NoneDicomStudyFile() { FileName = item.FileName, Path = item.FilePath, NoneDicomStudyId = noneDicomStudyId }); + + } + var uploadFinishedTime = DateTime.Now; + + var noneDicomStudy = await _noneDicomStudyRepository.FirstOrDefaultAsync((t => t.Id == noneDicomStudyId)); + + noneDicomStudy.FileCount = noneDicomStudy.FileCount + incommand.UploadedFileList.Count; + + studyMonitor.FileCount = incommand.UploadedFileList.Count; + studyMonitor.FileSize = incommand.UploadedFileList.Sum(t => t.FileFize); + studyMonitor.IsDicom = false; + studyMonitor.IsDicomReUpload = false; + studyMonitor.StudyId = noneDicomStudyId; + studyMonitor.StudyCode = noneDicomStudy.StudyCode; + studyMonitor.ArchiveFinishedTime = DateTime.Now; + studyMonitor.IP = _userInfo.IP; + + await _repository.SaveChangesAsync(); + + return ResponseOutput.Ok(); + } /// /// 一致性核查 excel上传 支持三种格式