访视计划添加任务修改
							parent
							
								
									febc162cbc
								
							
						
					
					
						commit
						e9b389ab3e
					
				| 
						 | 
				
			
			@ -222,6 +222,9 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
 | 
			
		||||
            var trial = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId)).IfNullThrowException();
 | 
			
		||||
 | 
			
		||||
            //确认是否是首次确认
 | 
			
		||||
            var initTrialVisitPlanConfirmed = trial.VisitPlanConfirmed;
 | 
			
		||||
 | 
			
		||||
            trial.VisitPlanConfirmed = true;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -238,29 +241,35 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
 | 
			
		||||
            #region 统一给Subject  增加访视任务
 | 
			
		||||
 | 
			
		||||
            List<SubjectVisit> subjectVisits = new List<SubjectVisit>();
 | 
			
		||||
 | 
			
		||||
            var addvisitStages = await _visitStageRepository.Where(x => !x.IsHaveFirstConfirmed && x.TrialId == trialId).ToListAsync();
 | 
			
		||||
 | 
			
		||||
            foreach (var visitPlan in addvisitStages)
 | 
			
		||||
            //首次确认时 IsHaveFirstConfirmed都为false  不需要给Subject 加访视
 | 
			
		||||
            if (initTrialVisitPlanConfirmed)
 | 
			
		||||
            {
 | 
			
		||||
                foreach (var subject in subjects)
 | 
			
		||||
                List<SubjectVisit> subjectVisits = new List<SubjectVisit>();
 | 
			
		||||
 | 
			
		||||
                var addvisitStages = await _visitStageRepository.Where(x => !x.IsHaveFirstConfirmed && x.TrialId == trialId).ToListAsync();
 | 
			
		||||
 | 
			
		||||
                foreach (var visitPlan in addvisitStages)
 | 
			
		||||
                {
 | 
			
		||||
                    var addSv = _mapper.Map<SubjectVisit>(visitPlan);
 | 
			
		||||
 | 
			
		||||
                    addSv.SubjectId = subject.Id;
 | 
			
		||||
                    addSv.TrialId = subject.TrialId;
 | 
			
		||||
                    addSv.SiteId = subject.SiteId;
 | 
			
		||||
 | 
			
		||||
                    if (!await _subjectVisitRepository.AnyAsync(t => t.VisitStageId == visitPlan.Id && t.SubjectId == subject.Id))
 | 
			
		||||
                    foreach (var subject in subjects)
 | 
			
		||||
                    {
 | 
			
		||||
                        subjectVisits.Add(addSv);
 | 
			
		||||
                        var addSv = _mapper.Map<SubjectVisit>(visitPlan);
 | 
			
		||||
 | 
			
		||||
                        addSv.SubjectId = subject.Id;
 | 
			
		||||
                        addSv.TrialId = subject.TrialId;
 | 
			
		||||
                        addSv.SiteId = subject.SiteId;
 | 
			
		||||
 | 
			
		||||
                        //再加一层保险,防止重复
 | 
			
		||||
                        if (!await _subjectVisitRepository.AnyAsync(t => t.VisitStageId == visitPlan.Id && t.SubjectId == subject.Id))
 | 
			
		||||
                        {
 | 
			
		||||
                            subjectVisits.Add(addSv);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                await _subjectVisitRepository.AddRangeAsync(subjectVisits);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            await _subjectVisitRepository.AddRangeAsync(subjectVisits);
 | 
			
		||||
 | 
			
		||||
         
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue