diff --git a/20220116后端提示语_v1.xlsx b/20220116后端提示语_v1.xlsx index a8df92af..299519fd 100644 Binary files a/20220116后端提示语_v1.xlsx and b/20220116后端提示语_v1.xlsx differ diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 720724c3..3ee7141b 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1121,6 +1121,10 @@ namespace IRaCIS.Core.Application.Image.QA //&& t.ReadingType == ReadingMethod.Double && t.ArbitrationRule == ArbitrationRule.Reading && t.IsReadingTaskViewInOrder && t.IsReadingPeriod).Select(t => t.Id).ToList(); + var trialInOrderCriterionIdList = _repository.Where(t => t.TrialId == cRCRequestToQCCommand.TrialId && t.IsConfirm && t.ReadingInfoSignTime != null + //&& t.ReadingType == ReadingMethod.Double && t.ArbitrationRule == ArbitrationRule.Reading + && t.IsReadingTaskViewInOrder).Select(t => t.Id).ToList(); + var dbSubjectVisitList = await _subjectVisitRepository.Where(t => cRCRequestToQCCommand.SubjectVisitIds.Contains(t.Id), true).Include(t => t.Subject).ToListAsync(); @@ -1235,20 +1239,15 @@ namespace IRaCIS.Core.Application.Image.QA { if (dbSubjectVisit.PDState == PDStateEnum.PDProgress) { - await _subjectVisitRepository.BatchUpdateNoTrackingAsync(x => x.SubjectId == dbSubjectVisit.SubjectId && x.VisitNum < dbSubjectVisit.VisitNum, x => new SubjectVisit() + await _subjectVisitRepository.BatchUpdateNoTrackingAsync(x => x.SubjectId == dbSubjectVisit.SubjectId && x.VisitNum <= dbSubjectVisit.VisitNum, x => new SubjectVisit() { IsUrgent = true }); - await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.SourceSubjectVisitId == dbSubjectVisit.Id && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask() - { - - IsUrgent = true, - TaskUrgentType = TaskUrgentType.PDProgress, - }); - await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.SubjectId == dbSubjectVisit.SubjectId && x.VisitTaskNum < dbSubjectVisit.VisitNum && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask() + + await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => trialInOrderCriterionIdList.Contains(x.TrialReadingCriterionId)&& x.SubjectId == dbSubjectVisit.SubjectId && x.VisitTaskNum <= dbSubjectVisit.VisitNum && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask() { IsUrgent = true, @@ -1257,7 +1256,12 @@ namespace IRaCIS.Core.Application.Image.QA } else if (dbSubjectVisit.IsEnrollmentConfirm) { - await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.SourceSubjectVisitId == dbSubjectVisit.Id && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask() + await _subjectVisitRepository.BatchUpdateNoTrackingAsync(x => x.Id == dbSubjectVisit.Id, x => new SubjectVisit() + { + IsUrgent = true + }); + + await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => trialInOrderCriterionIdList.Contains(x.TrialReadingCriterionId) && x.SourceSubjectVisitId == dbSubjectVisit.Id && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask() { IsUrgent = true, @@ -1266,7 +1270,7 @@ namespace IRaCIS.Core.Application.Image.QA } else { - await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.SourceSubjectVisitId == dbSubjectVisit.Id && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask() + await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => trialInOrderCriterionIdList.Contains(x.TrialReadingCriterionId) && x.SourceSubjectVisitId == dbSubjectVisit.Id && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask() { IsUrgent = true,