diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index dd47abc68..783e3f3fb 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 @@ -1105,6 +1109,9 @@ namespace IRaCIS.Core.Application.Contracts public bool IsHaveUploadFailed { get; set; } + + + } @@ -1399,8 +1406,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; } @@ -1475,6 +1481,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 11c4b7e90..45dea1ae6 100644 --- a/IRaCIS.Core.Application/Service/QC/QCListService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCListService.cs @@ -179,7 +179,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; } /// @@ -188,7 +188,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); @@ -210,6 +210,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); @@ -223,7 +229,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); }