访视计划添加任务修改
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