访视计划添加任务修改
parent
febc162cbc
commit
e9b389ab3e
|
@ -222,6 +222,9 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
var trial = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId)).IfNullThrowException();
|
var trial = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId)).IfNullThrowException();
|
||||||
|
|
||||||
|
//确认是否是首次确认
|
||||||
|
var initTrialVisitPlanConfirmed = trial.VisitPlanConfirmed;
|
||||||
|
|
||||||
trial.VisitPlanConfirmed = true;
|
trial.VisitPlanConfirmed = true;
|
||||||
|
|
||||||
|
|
||||||
|
@ -238,28 +241,34 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
#region 统一给Subject 增加访视任务
|
#region 统一给Subject 增加访视任务
|
||||||
|
|
||||||
List<SubjectVisit> subjectVisits = new List<SubjectVisit>();
|
//首次确认时 IsHaveFirstConfirmed都为false 不需要给Subject 加访视
|
||||||
|
if (initTrialVisitPlanConfirmed)
|
||||||
var addvisitStages = await _visitStageRepository.Where(x => !x.IsHaveFirstConfirmed && x.TrialId == trialId).ToListAsync();
|
|
||||||
|
|
||||||
foreach (var visitPlan in addvisitStages)
|
|
||||||
{
|
{
|
||||||
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);
|
foreach (var subject in subjects)
|
||||||
|
|
||||||
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);
|
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
|
#endregion
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue