下载增加区间
continuous-integration/drone/push Build is running Details

Test_IRC_Net8
hang 2026-05-29 17:51:27 +08:00
parent abe42ef3cf
commit 76c69a8464
2 changed files with 23 additions and 6 deletions

View File

@ -1767,11 +1767,13 @@
<param name="_trialRepository"></param>
<param name="_oSSService"></param>
</member>
<member name="M:IRaCIS.Core.Application.Service.TrialImageDownloadService.DownloadTrialImage(System.Guid)">
<member name="M:IRaCIS.Core.Application.Service.TrialImageDownloadService.DownloadTrialImage(System.Guid,System.Int32,System.Int32)">
<summary>
后端api swagger 下载项目影像
</summary>
<param name="trialId"></param>
<param name="startIndex"></param>
<param name="endIndex"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.TrialImageDownloadService.DownloadAndUploadTrialData(System.Guid,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomStudy},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomSeries})">
@ -17494,17 +17496,17 @@
</member>
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Question">
<summary>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
质疑
</summary>
</member>
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Consistency">
<summary>
һ<EFBFBD><EFBFBD><EFBFBD>Ժ˲<EFBFBD>
一致性核查
</summary>
</member>
<member name="T:IRaCIS.Core.Application.ViewModel.CopyFrontAuditConfigItemDto">
<summary>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
复制
</summary>
</member>
<member name="T:IRaCIS.Core.Application.ViewModel.SystemNoticeView">

View File

@ -167,13 +167,20 @@ namespace IRaCIS.Core.Application.Service
/// 后端api swagger 下载项目影像
/// </summary>
/// <param name="trialId"></param>
/// <param name="startIndex"></param>
/// <param name="endIndex"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public async Task<IResponseOutput> DownloadTrialImage(Guid trialId)
public async Task<IResponseOutput> DownloadTrialImage(Guid trialId, int startIndex, int endIndex)
{
//找到项目里面未阅片的影像
if (startIndex < 1 || endIndex < 1 || startIndex > endIndex)
{
return ResponseOutput.NotOk("请输入正确的下载区间");
}
//var subjectCodeList = new List<string>() { "05002", "07006", "07026" };
var downloadInfo = _trialRepository.Where(t => t.Id == trialId).Select(t => new
@ -249,6 +256,8 @@ namespace IRaCIS.Core.Application.Service
var oldVisits = MiniExcel.Query<SubjectVisitExcel>(Path.Combine(rootFolder, "Old.xlsx")).ToList();
Log.Logger.Warning($"数据库查询下载访视数量 - 前一批已下载访视数量:{downloadInfo.VisitList.Count} - {oldVisits.Count}");
var acturalDownList = downloadInfo.VisitList.Where(t => !oldVisits.Any(old => old.VisitNum == t.VisitNum && old.SubjectCode == t.SubjectCode &&
old.VisitName.Trim().ToLower() == t.VisitName.Trim().ToLower())).ToList();
@ -265,19 +274,25 @@ namespace IRaCIS.Core.Application.Service
StreamReaderFunc = (stream) => new StreamReader(stream, Encoding.GetEncoding("gb2312"))
}).ToList();
Log.Logger.Warning($"download_log.csv访视数量{existVisits.Count}");
acturalDownList = acturalDownList.Where(t => !existVisits.Any(old => old.VisitNum == t.VisitNum && old.SubjectCode == t.SubjectCode &&
old.VisitName.Trim().ToLower() == t.VisitName.Trim().ToLower())).ToList();
}
acturalDownList = acturalDownList.Skip(startIndex - 1).Take(endIndex).ToList();
Log.Logger.Warning($"该区{startIndex}-{endIndex} 实际需要下载访视数量:{acturalDownList.Count}");
#endregion
var count = acturalDownList.SelectMany(t => t.NoneDicomStudyList).SelectMany(t => t.FileList).Count();
var count2 = acturalDownList.SelectMany(t => t.StudyList).SelectMany(t => t.SeriesList).SelectMany(t => t.InstancePathList).Count();
Console.WriteLine($"下载总数量:{count}+{count2}={count + count2}");
Log.Logger.Warning($"下载总数量:{count}+{count2}={count + count2}");
var downloadJobs = new List<DownloadJob>();