|
|
|
@@ -131,7 +131,6 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|
|
|
|
TaskName = u.TaskName,
|
|
|
|
|
|
|
|
|
|
SourceSubjectVisitId = u.SourceSubjectVisitId,
|
|
|
|
|
PackState = u.SourceSubjectVisit.PackState,
|
|
|
|
|
|
|
|
|
|
OrginalStudyList = u.SourceSubjectVisit.StudyList
|
|
|
|
|
.Where(t => u.TrialReadingCriterion.IsImageFilter ? ("|" + u.TrialReadingCriterion.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
|
|
|
|
@@ -1011,59 +1010,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|
|
|
|
|
|
|
|
|
#region 之前后端下载废弃
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 打包和匿名化影像 默认是匿名化打包,也可以不匿名化打包
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="trialId"></param>
|
|
|
|
|
/// <param name="subjectVisitId"></param>
|
|
|
|
|
/// <param name="isDicom"></param>
|
|
|
|
|
/// <param name="isAnonymize"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
|
|
|
|
[Obsolete]
|
|
|
|
|
public async Task<IResponseOutput> RequestPackageAndAnonymizImage(Guid trialId, Guid subjectVisitId, bool isDicom, bool isAnonymize = true)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var extralConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => t.TrialExtraConfigJsonStr).FirstOrDefault() ?? string.Empty;
|
|
|
|
|
|
|
|
|
|
var config = JsonConvert.DeserializeObject<TrialExtraConfig>(extralConfig) ?? new TrialExtraConfig();
|
|
|
|
|
|
|
|
|
|
if (config.IsSupportQCDownloadImage == false)
|
|
|
|
|
{
|
|
|
|
|
throw new BusinessValidationFailedException("该项目不支持QC下载影像");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var subjectVisit = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId);
|
|
|
|
|
|
|
|
|
|
var sujectCode = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => t.Subject.Code).FirstOrDefaultAsync();
|
|
|
|
|
|
|
|
|
|
var packState = isDicom ? subjectVisit.PackState : subjectVisit.NoDicomPackState;
|
|
|
|
|
|
|
|
|
|
if (packState == PackState.WaitPack)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (isDicom)
|
|
|
|
|
{
|
|
|
|
|
subjectVisit.PackState = PackState.Packing;
|
|
|
|
|
HangfireJobHelper.NotImmediatelyOnceOnlyJob<IDownloadAndUploadService>(t => t.PackageAndAnonymizImage(trialId, subjectVisitId, true, isAnonymize), TimeSpan.FromSeconds(1));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
subjectVisit.NoDicomPackState = PackState.Packing;
|
|
|
|
|
|
|
|
|
|
HangfireJobHelper.NotImmediatelyOnceOnlyJob<IDownloadAndUploadService>(t => t.PackageAndAnonymizImage(trialId, subjectVisitId, false, isAnonymize), TimeSpan.FromSeconds(1));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await _subjectVisitRepository.SaveChangesAsync();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ResponseOutput.Ok(isDicom ? subjectVisit.VisitImageZipPath : subjectVisit.VisitNoDicomImageZipPath,
|
|
|
|
|
new { FileName = $"{sujectCode}_{subjectVisit.VisitName}_ImageStudy_{(isDicom ? "Dicom" : "NoneDicom")}.zip" });
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1371,7 +1318,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|
|
|
|
//上传到Oss
|
|
|
|
|
var relativeDicomPath = await _oSSService.UploadToOSSAsync(zipDicomPath, $"download_zip", false);
|
|
|
|
|
|
|
|
|
|
await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.Packed, VisitImageZipPath = relativeDicomPath });
|
|
|
|
|
//await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.Packed, VisitImageZipPath = relativeDicomPath });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
File.Delete(zipDicomPath);
|
|
|
|
@@ -1410,7 +1357,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|
|
|
|
File.Delete(zipNoneDicomPath);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.Packed, VisitNoDicomImageZipPath = relativeNoneDicomPath });
|
|
|
|
|
//await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.Packed, VisitNoDicomImageZipPath = relativeNoneDicomPath });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@@ -1422,7 +1369,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.WaitPack });
|
|
|
|
|
//await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.WaitPack });
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|