获取未阅片完成的访视,方便进行下载
continuous-integration/drone/push Build is running Details

Uat_IRC_Net8
hang 2026-05-07 14:31:27 +08:00
parent e150fbb807
commit 7957a33fc4
2 changed files with 24 additions and 4 deletions

View File

@ -61,6 +61,9 @@ namespace IRaCIS.Core.Application.Service
[AllowAnonymous]
public async Task<IResponseOutput> DownloadTrialImage(Guid trialId)
{
//找到项目里面未阅片的影像
//var subjectCodeList = new List<string>() { "05002", "07006", "07026" };
var downloadInfo = _trialRepository.Where(t => t.Id == trialId).Select(t => new
{
@ -213,7 +216,7 @@ namespace IRaCIS.Core.Application.Service
}
catch (Exception ex)
{
Console.WriteLine($"下载失败: {ex.Message}");
Log.Logger.Error($"下载失败: {ex.Message}");
}
downloadedCount++;
@ -221,7 +224,9 @@ namespace IRaCIS.Core.Application.Service
// 每处理50个输出一次进度或最后一个时也输出
if (downloadedCount % 50 == 0 || downloadedCount == totalCount)
{
Console.WriteLine($"已下载 {downloadedCount} / {totalCount} 个文件,完成 {(downloadedCount * 100.0 / totalCount):F2}%");
Log.Logger.Error($"已下载 {downloadedCount} / {totalCount} 个文件,完成 {(downloadedCount * 100.0 / totalCount):F2}%");
}
}
#endregion

View File

@ -1660,7 +1660,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
#endregion
var query = from sv in _subjectRepository.Where(t => t.Id == inQuery.SubjectId).SelectMany(t => t.SubjectVisitList.Where(t => subjectVisitIdList.Contains(t.Id) && t.CheckState == CheckStateEnum.CVPassed))
//一致性分析,导致查询出来两条数据
//一致性分析,导致查询出来两条数据
join visitTask in _visitTaskRepository.Where(t => taskIdList.Contains(t.Id)) on sv.Id equals visitTask.SourceSubjectVisitId into cc
from leftVisitTask in cc.DefaultIfEmpty()
select new ImageDownloadDto()
@ -2005,6 +2005,21 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
}
/// <summary>
/// 获取未阅片完成的访视,方便前端调用下载
/// </summary>
/// <param name="trialId"></param>
/// <returns></returns>
public async Task<List<Guid?>> GetTrialUnreadVisitList(Guid trialId)
{
var subjectVisitList = await _visitTaskRepository.Where(t => t.TrialId == trialId && t.TaskState == TaskState.Effect && t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState != ReadingTaskState.HaveSigned && t.SourceSubjectVisitId!=null).Select(t => t.SourceSubjectVisitId)
.Distinct().ToListAsync();
return subjectVisitList;
}
/// <summary>
/// 批量勾选访视 进行下载
/// </summary>
@ -2585,7 +2600,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
}
/// <summary>
/// 后台任务调用,前端忽略该接口
/// </summary>