修改访视计划确认

Uat_Study
hang 2022-05-07 10:58:45 +08:00
parent 79e38bbf86
commit cea41a314d
2 changed files with 21 additions and 42 deletions

View File

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

View File

@ -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 });