diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index eb6d0cd0b..f3317dc50 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -929,10 +929,12 @@ namespace IRaCIS.Core.Application.Image.QA break; case TrialQCProcess.SingleAudit: visitList = await _subjectVisitRepository.Where(x => x.SubmitState == SubmitStateEnum.Submitted - && x.TrialId == inDto.TrialId && x.PreliminaryAuditUserId!= _userInfo.Id&&(x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.PrimaryQCPassed && !x.IsTake))).Include(x => x.Subject).ToListAsync(); + && x.TrialId == inDto.TrialId && x.PreliminaryAuditUserId!= _userInfo.Id&&(x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.PrimaryQCPassed && !x.IsTake))) + .Where(x => !(x.QCChallengeDialogList.Count() > 0 && x.QCChallengeDialogList.OrderByDescending(x => x.CreateTime).FirstOrDefault().UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator)) + .Include(x => x.Subject).ToListAsync(); subjectVisit = visitList.Where(x => x.SubjectId == inDto.SubjectId) - .Where(x=>x.QCChallengeDialogList.Count() > 0 && x.QCChallengeDialogList.OrderByDescending(x => x.CreateTime).FirstOrDefault().UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator) + .OrderBy(x=>x.VisitNum).FirstOrDefault(); if(subjectVisit!=null) @@ -962,7 +964,7 @@ namespace IRaCIS.Core.Application.Image.QA visitList = await _subjectVisitRepository.Where(x => x.SubmitState == SubmitStateEnum.Submitted && x.TrialId == inDto.TrialId && ((x.CurrentActionUserId == _userInfo.Id)||(!x.IsTake&& x.AuditState != AuditStateEnum.QCPassed&& (x.PreliminaryAuditUserId != _userInfo.Id))) ) - .Where(x => x.QCChallengeDialogList.Count() > 0 && x.QCChallengeDialogList.OrderByDescending(x => x.CreateTime).FirstOrDefault().UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator) + .Where(x => !(x.QCChallengeDialogList.Count() > 0 && x.QCChallengeDialogList.OrderByDescending(x => x.CreateTime).FirstOrDefault().UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator)) .Include(x => x.Subject).ToListAsync(); if (subjectVisit != null) {