diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index a79b6199f..970833ba3 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -885,6 +885,16 @@ + + + 受试者级别所有的影像 + 访视级别的影响 传递subjectVisitId + 标准Id是可选的 不同标准有些检查可能有过滤 + + + + + 后台任务调用,前端忽略该接口 @@ -5178,6 +5188,16 @@ 是否是正在转化 + + + 是否盲化 + + + + + 是否完整 + + 项目ID @@ -14148,6 +14168,20 @@ + + + 一致性分析临床数据签名 + + + + + + + 一致性分析临床数据签名完设置任务为有效 + + + + 获取单个阅片临床数据的所有文件 diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index 2db5966a6..588085be1 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs @@ -62,6 +62,10 @@ namespace IRaCIS.Core.Application.Contracts //public string VisitPlanInfo { get; set; } = String.Empty; public Guid? HandleUserId { get; set; } + + public DateTime? BeginAuditTime { get; set; } + + public DateTime? EndAuditTime { get; set; } } public class GetNextIQCQualityInDto @@ -1110,6 +1114,9 @@ namespace IRaCIS.Core.Application.Contracts public bool IsHaveUploadFailed { get; set; } + + + } public class GetNextCRCChallengeInDto @@ -1415,8 +1422,7 @@ namespace IRaCIS.Core.Application.Contracts public string ReviewAuditUserName { get; set; } = String.Empty; - public DateTime? ReviewAuditTime { get; set; } - public DateTime? PreliminaryAuditTime { get; set; } + public bool IsEnrollmentConfirm { get; set; } = false; public DateTime? SubjectFirstGiveMedicineTime { get; set; } @@ -1491,6 +1497,12 @@ namespace IRaCIS.Core.Application.Contracts public PackState PackState { get; set; } //public Guid? ClinicalDataSignUserId { get; set; } + + public DateTime? ReviewAuditTime { get; set; } + public DateTime? PreliminaryAuditTime { get; set; } + + + public DateTime? AuditTime => QCProcessEnum == TrialQCProcess.SingleAudit ? PreliminaryAuditTime : (QCProcessEnum == TrialQCProcess.DoubleAudit ? ReviewAuditTime : null); } diff --git a/IRaCIS.Core.Application/Service/QC/QCListService.cs b/IRaCIS.Core.Application/Service/QC/QCListService.cs index 4ec4e93bf..cf6324aa6 100644 --- a/IRaCIS.Core.Application/Service/QC/QCListService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCListService.cs @@ -235,7 +235,7 @@ namespace IRaCIS.Core.Application.Image.QA PageSize = 1, }); - return result.Item1.CurrentPageData.Count > 0 ? result.Item1.CurrentPageData[0] : null; + return result.Data.CurrentPageData.Count > 0 ? result.Data.CurrentPageData[0] : null; } /// @@ -244,7 +244,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPost] - public async Task<(PageOutput, TrialSubjectAndSVConfig)> GetQCVisitList(QCVisitSearchDTO visitSearchDTO) + public async Task>> GetQCVisitList(QCVisitSearchDTO visitSearchDTO) { var svExpression = QCCommon.GetSubjectVisitFilter(visitSearchDTO.VisitPlanArray); @@ -266,6 +266,12 @@ namespace IRaCIS.Core.Application.Image.QA || t.QCChallengeDialogList.Any(t => t.CreateUserId == visitSearchDTO.HandleUserId)) .WhereIf(visitSearchDTO.IsUrgent != null, t => t.IsUrgent == visitSearchDTO.IsUrgent) .Where(t => t.SubmitState != SubmitStateEnum.None) + .WhereIf(visitSearchDTO.BeginAuditTime != null, t => t.Trial.QCProcessEnum==TrialQCProcess.SingleAudit? t.PreliminaryAuditTime>= visitSearchDTO.BeginAuditTime: + (t.Trial.QCProcessEnum == TrialQCProcess.DoubleAudit?t.ReviewAuditTime>= visitSearchDTO.BeginAuditTime:true)) + + .WhereIf(visitSearchDTO.EndAuditTime != null, t => t.Trial.QCProcessEnum == TrialQCProcess.SingleAudit ? t.ReviewAuditTime <= visitSearchDTO.EndAuditTime : + (t.Trial.QCProcessEnum == TrialQCProcess.DoubleAudit ? t.ReviewAuditTime <= visitSearchDTO.EndAuditTime : true)) + //.WhereIf(visitSearchDTO.SubmitState != null, t => t.SubmitState == visitSearchDTO.SubmitState) //.WhereIf(visitSearchDTO.ChallengeState != null, t => t.ChallengeState == visitSearchDTO.ChallengeState) .ProjectTo(_mapper.ConfigurationProvider); @@ -279,7 +285,7 @@ namespace IRaCIS.Core.Application.Image.QA var config = await _repository.Where(t => t.Id == visitSearchDTO.TrialId).ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync().IfNullThrowException(); - return (pageList, config); + return ResponseOutput.Ok (pageList, config); }