访视计划添加任务修改

Uat_Study
hang 2022-06-21 15:31:02 +08:00
parent febc162cbc
commit e9b389ab3e
1 changed files with 25 additions and 16 deletions

View File

@ -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