diff --git a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs index 933b96207..3e03b794c 100644 --- a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs +++ b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs @@ -234,19 +234,23 @@ namespace IRaCIS.Application.Services var addvisitStages = await _visitStageRepository.Where(x => !x.IsHaveFirstConfirmed && x.TrialId == trialId).ToListAsync(); - addvisitStages.ForEach(visitPlan => + foreach (var visitStage in addvisitStages) { - subjects.ForEach(subject => + foreach (var item in collection) { var addSv = _mapper.Map(visitPlan); addSv.SubjectId = subject.Id; addSv.TrialId = subject.TrialId; addSv.SiteId = subject.SiteId; - - subjectVisits.Add(addSv); - }); - }); + + if (!await _subjectVisitRepository.AnyAsync(t => t.VisitStageId == visitPlan.Id && t.SubjectId == subject.Id)) + { + subjectVisits.Add(addSv); + } + } + } + await _subjectVisitRepository.AddRangeAsync(subjectVisits); //访视计划 整体状态变更为 确认