访视计划添加任务修改

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