修改上传bug
parent
65b52a1836
commit
3c9b87ba01
|
@ -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上传 支持三种格式
|
||||
|
|
Loading…
Reference in New Issue