修改访视计划确认
parent
79e38bbf86
commit
cea41a314d
|
@ -33,7 +33,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
||||||
private readonly IRepository<QCChallenge> _qcChallengeRepository;
|
private readonly IRepository<QCChallenge> _qcChallengeRepository;
|
||||||
private readonly IRepository<DicomStudy> _dicomStudyRepository;
|
private readonly IRepository<DicomStudy> _dicomStudyRepository;
|
||||||
private readonly IRepository<Dictionary> _dictionaryrepository;
|
|
||||||
private readonly IRepository<DicomSeries> _dicomSeriesrepository;
|
private readonly IRepository<DicomSeries> _dicomSeriesrepository;
|
||||||
private readonly IRepository<Subject> _subjectRepository;
|
private readonly IRepository<Subject> _subjectRepository;
|
||||||
private readonly IRepository<Trial> _trialRepository;
|
private readonly IRepository<Trial> _trialRepository;
|
||||||
|
@ -45,8 +44,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
IRepository<QCChallenge> qcChallengeRepository,
|
IRepository<QCChallenge> qcChallengeRepository,
|
||||||
IRepository<Trial> trialRepository,
|
IRepository<Trial> trialRepository,
|
||||||
IMediator mediator,
|
IMediator mediator,
|
||||||
IInspectionService inspectionService,
|
|
||||||
IDictionaryService dictionaryService,
|
|
||||||
IRepository<DicomStudy> dicomStudyRepository,
|
IRepository<DicomStudy> dicomStudyRepository,
|
||||||
IRepository<Dictionary> dictionaryrepository,
|
IRepository<Dictionary> dictionaryrepository,
|
||||||
IRepository<DicomSeries> dicomSeriesrepository,
|
IRepository<DicomSeries> dicomSeriesrepository,
|
||||||
|
@ -57,7 +54,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
_subjectVisitRepository = subjectVisitRepository;
|
_subjectVisitRepository = subjectVisitRepository;
|
||||||
_qcChallengeRepository = qcChallengeRepository;
|
_qcChallengeRepository = qcChallengeRepository;
|
||||||
_dicomStudyRepository = dicomStudyRepository;
|
_dicomStudyRepository = dicomStudyRepository;
|
||||||
this._dictionaryrepository = dictionaryrepository;
|
|
||||||
this._dicomSeriesrepository = dicomSeriesrepository;
|
this._dicomSeriesrepository = dicomSeriesrepository;
|
||||||
this._subjectRepository = subjectRepository;
|
this._subjectRepository = subjectRepository;
|
||||||
_mediator = mediator;
|
_mediator = mediator;
|
||||||
|
|
|
@ -26,8 +26,8 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
_visitStageRepository = visitStageRepository;
|
_visitStageRepository = visitStageRepository;
|
||||||
_trialRepository = trialRepository;
|
_trialRepository = trialRepository;
|
||||||
this._subjectVisitRepository = subjectVisitRepository;
|
_subjectVisitRepository = subjectVisitRepository;
|
||||||
this._influnceRepository = visitPlanInfluenceStudy;
|
_influnceRepository = visitPlanInfluenceStudy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -236,60 +236,43 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
|
|
||||||
//更新项目访视计划状态为已确认 必定生成更新的sql 通过状态改变 触发操作
|
//更新项目访视计划状态为已确认 必定生成更新的sql 通过状态改变 触发操作
|
||||||
await _trialRepository.UpdatePartialNowNoQueryAsync(trialId, t => new Trial() { VisitPlanConfirmed = true });
|
//await _trialRepository.UpdatePartialNowNoQueryAsync(trialId, t => new Trial() { VisitPlanConfirmed = true });
|
||||||
|
|
||||||
|
|
||||||
|
var trial = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId)).IfNullThrowException();
|
||||||
|
|
||||||
|
trial.VisitPlanConfirmed = true;
|
||||||
|
|
||||||
|
|
||||||
|
var subjects = _repository.GetQueryable<Subject>().Where(x => x.TrialId == trialId).Select(x => new
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var subjectsids = _repository.GetQueryable<Subject>().Where(x => x.TrialId == trialId).Select(x => new
|
|
||||||
{
|
{
|
||||||
x.Code,
|
x.Code,
|
||||||
x.SiteId,
|
x.SiteId,
|
||||||
x.Id,
|
x.Id,
|
||||||
x.IsEnrollment,
|
x.IsEnrollment,
|
||||||
x.IsUrgent,
|
x.IsUrgent,
|
||||||
|
x.TrialId
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
List<SubjectVisit> subjectVisits = new List<SubjectVisit>();
|
List<SubjectVisit> subjectVisits = new List<SubjectVisit>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var trial = await _repository.GetQueryable<Trial>().FirstOrDefaultAsync(x => x.Id == trialId);
|
|
||||||
|
|
||||||
var addvisitStages = await _visitStageRepository.Where(x => !x.IsHaveFirstConfirmed && x.TrialId == trialId).ToListAsync();
|
var addvisitStages = await _visitStageRepository.Where(x => !x.IsHaveFirstConfirmed && x.TrialId == trialId).ToListAsync();
|
||||||
|
|
||||||
|
addvisitStages.ForEach(visitPlan =>
|
||||||
|
{
|
||||||
|
subjects.ForEach(subject =>
|
||||||
|
{
|
||||||
|
var addSv = _mapper.Map<SubjectVisit>(visitPlan);
|
||||||
|
|
||||||
addvisitStages.ForEach(x =>
|
addSv.SubjectId = subject.Id;
|
||||||
{
|
addSv.TrialId = subject.TrialId;
|
||||||
subjectsids.ForEach(y =>
|
addSv.SiteId = subject.SiteId;
|
||||||
{
|
|
||||||
Guid guid = NewId.NextGuid();
|
|
||||||
SubjectVisit subjectVisit = new SubjectVisit()
|
|
||||||
{
|
|
||||||
SiteId = y.SiteId,
|
|
||||||
SubjectId = y.Id,
|
|
||||||
Id = guid,
|
|
||||||
VisitName = x.VisitName,
|
|
||||||
TrialId= trialId,
|
|
||||||
BlindName = x.BlindName,
|
|
||||||
IsBaseLine = x.IsBaseLine,
|
|
||||||
IsUrgent = false,
|
|
||||||
};
|
|
||||||
subjectVisits.Add(subjectVisit);
|
|
||||||
|
|
||||||
|
subjectVisits.Add(addSv);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
//await _subjectVisitRepository.AddRangeAsync()
|
await _subjectVisitRepository.AddRangeAsync(subjectVisits);
|
||||||
await _repository.AddRangeAsync(subjectVisits);
|
|
||||||
|
|
||||||
//访视计划 整体状态变更为 确认
|
//访视计划 整体状态变更为 确认
|
||||||
await _visitStageRepository.UpdatePartialFromQueryAsync(u => u.TrialId == trialId && u.IsConfirmed == false, t => new VisitStage() { IsConfirmed = true, IsHaveFirstConfirmed = true });
|
await _visitStageRepository.UpdatePartialFromQueryAsync(u => u.TrialId == trialId && u.IsConfirmed == false, t => new VisitStage() { IsConfirmed = true, IsHaveFirstConfirmed = true });
|
||||||
|
|
Loading…
Reference in New Issue