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

View File

@ -1660,7 +1660,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
#endregion #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)) 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 join visitTask in _visitTaskRepository.Where(t => taskIdList.Contains(t.Id)) on sv.Id equals visitTask.SourceSubjectVisitId into cc
from leftVisitTask in cc.DefaultIfEmpty() from leftVisitTask in cc.DefaultIfEmpty()
select new ImageDownloadDto() 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>
/// 批量勾选访视 进行下载 /// 批量勾选访视 进行下载
/// </summary> /// </summary>
@ -2585,7 +2600,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
} }
/// <summary> /// <summary>
/// 后台任务调用,前端忽略该接口 /// 后台任务调用,前端忽略该接口
/// </summary> /// </summary>