修改上传bug

Uat_Study
hang 2023-08-31 13:30:39 +08:00
parent 65b52a1836
commit 3c9b87ba01
1 changed files with 70 additions and 69 deletions

View File

@ -440,7 +440,7 @@ namespace IRaCIS.Core.API.Controllers
#region 废弃
///// <summary>
///// 上传临床数据 多文件
@ -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<OSSFileDTO> UploadedFileList { get; set; } = new List<OSSFileDTO>();
// public class OSSFileDTO
// {
// public string FilePath { get; set; }
// public string FileName { get; set; }
// public int FileFize { get; set; }
// }
//}
///// <summary>
///// 上传非Dicom 文件 支持压缩包 多文件上传
///// </summary>
///// <param name="_noneDicomStudyRepository"></param>
///// <returns></returns>
////[DisableRequestSizeLimit]
//[HttpPost("NoneDicomStudy/UploadNoneDicomFile")]
//[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
////[Authorize(Policy = IRaCISPolicy.CRC)]
//public async Task<IResponseOutput> UploadNoneDicomFile(UploadNoneDicomFileCommand incommand,
// [FromServices] IRepository<NoneDicomStudy> _noneDicomStudyRepository, [FromServices] IRepository<StudyMonitor> _studyMonitorRepository)
//{
// var subjectVisitId = incommand.SubjectVisitId;
// var studyMonitorId = incommand.StudyMonitorId;
// var noneDicomStudyId = incommand.NoneDicomStudyId;
// await _qCCommon.VerifyIsCRCSubmmitAsync(_repository, _userInfo, subjectVisitId);
// var sv = (await _repository.Where<SubjectVisit>(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<OSSFileDTO> UploadedFileList { get; set; } = new List<OSSFileDTO>();
public class OSSFileDTO
{
public string FilePath { get; set; }
public string FileName { get; set; }
public int FileFize { get; set; }
}
}
/// <summary>
/// 上传非Dicom 文件 支持压缩包 多文件上传
/// </summary>
/// <param name="_noneDicomStudyRepository"></param>
/// <returns></returns>
//[DisableRequestSizeLimit]
[HttpPost("NoneDicomStudy/UploadNoneDicomFile")]
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
//[Authorize(Policy = IRaCISPolicy.CRC)]
public async Task<IResponseOutput> UploadNoneDicomFile(UploadNoneDicomFileCommand incommand,
[FromServices] IRepository<NoneDicomStudy> _noneDicomStudyRepository, [FromServices] IRepository<StudyMonitor> _studyMonitorRepository)
{
var subjectVisitId = incommand.SubjectVisitId;
var studyMonitorId = incommand.StudyMonitorId;
var noneDicomStudyId = incommand.NoneDicomStudyId;
await _qCCommon.VerifyIsCRCSubmmitAsync(_repository, _userInfo, subjectVisitId);
var sv = (await _repository.Where<SubjectVisit>(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();
}
/// <summary>
/// 一致性核查 excel上传 支持三种格式