From cea41a314df4b8b6bdb9c708da5c1c39d6fb7553 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Sat, 7 May 2022 10:58:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BF=E8=A7=86=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E7=A1=AE=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/QCOperationService.cs | 4 -- .../Service/Visit/VisitPlanService.cs | 59 +++++++------------ 2 files changed, 21 insertions(+), 42 deletions(-) diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 97f0b90b3..1505939d7 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -33,7 +33,6 @@ namespace IRaCIS.Core.Application.Image.QA private readonly IRepository _subjectVisitRepository; private readonly IRepository _qcChallengeRepository; private readonly IRepository _dicomStudyRepository; - private readonly IRepository _dictionaryrepository; private readonly IRepository _dicomSeriesrepository; private readonly IRepository _subjectRepository; private readonly IRepository _trialRepository; @@ -45,8 +44,6 @@ namespace IRaCIS.Core.Application.Image.QA IRepository qcChallengeRepository, IRepository trialRepository, IMediator mediator, - IInspectionService inspectionService, - IDictionaryService dictionaryService, IRepository dicomStudyRepository, IRepository dictionaryrepository, IRepository dicomSeriesrepository, @@ -57,7 +54,6 @@ namespace IRaCIS.Core.Application.Image.QA _subjectVisitRepository = subjectVisitRepository; _qcChallengeRepository = qcChallengeRepository; _dicomStudyRepository = dicomStudyRepository; - this._dictionaryrepository = dictionaryrepository; this._dicomSeriesrepository = dicomSeriesrepository; this._subjectRepository = subjectRepository; _mediator = mediator; diff --git a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs index 27f1c1731..2c0fd99fc 100644 --- a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs +++ b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs @@ -26,14 +26,14 @@ namespace IRaCIS.Application.Services { _visitStageRepository = visitStageRepository; _trialRepository = trialRepository; - this._subjectVisitRepository = subjectVisitRepository; - this._influnceRepository = visitPlanInfluenceStudy; + _subjectVisitRepository = subjectVisitRepository; + _influnceRepository = visitPlanInfluenceStudy; } ///暂时不用 /// 获取项目访视计划 - [HttpPost] + [HttpPost] public async Task> GetTrialVisitStageList(VisitPlanQueryDTO param) { var visitStageQuery = _visitStageRepository.AsQueryable(true).Where(u => u.TrialId == param.TrialId) @@ -133,7 +133,7 @@ namespace IRaCIS.Application.Services //不用前端传递的值 visitPlan.BlindName = "B" + ((int)visitPlan.VisitNum * 10).ToString("D3"); - var visitPlanItem = await _visitStageRepository.InsertFromDTOAsync(visitPlan,true); + var visitPlanItem = await _visitStageRepository.InsertFromDTOAsync(visitPlan, true); #region 废弃前 @@ -186,7 +186,7 @@ namespace IRaCIS.Application.Services //不用前端传递的值 visitPlan.BlindName = "B" + ((int)visitPlan.VisitNum * 10).ToString("D3"); //返回的是数据库查询的数据 - var stage = await _visitStageRepository.UpdateFromDTOAsync(visitPlan,true); + var stage = await _visitStageRepository.UpdateFromDTOAsync(visitPlan, true); if (stage.IsBaseLine && stage.IsBaseLine != visitPlan.IsBaseLine) { @@ -236,63 +236,46 @@ namespace IRaCIS.Application.Services //更新项目访视计划状态为已确认 必定生成更新的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 subjectsids = _repository.GetQueryable().Where(x => x.TrialId == trialId).Select(x => new + var subjects = _repository.GetQueryable().Where(x => x.TrialId == trialId).Select(x => new { x.Code, x.SiteId, x.Id, x.IsEnrollment, x.IsUrgent, + x.TrialId }); List subjectVisits = new List(); - - - var trial = await _repository.GetQueryable().FirstOrDefaultAsync(x => x.Id == trialId); - var addvisitStages = await _visitStageRepository.Where(x => !x.IsHaveFirstConfirmed && x.TrialId == trialId).ToListAsync(); - - addvisitStages.ForEach(x => + addvisitStages.ForEach(visitPlan => { - subjectsids.ForEach(y => + subjects.ForEach(subject => { - 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); + var addSv = _mapper.Map(visitPlan); + addSv.SubjectId = subject.Id; + addSv.TrialId = subject.TrialId; + addSv.SiteId = subject.SiteId; + + subjectVisits.Add(addSv); }); - - }); - //await _subjectVisitRepository.AddRangeAsync() - await _repository.AddRangeAsync(subjectVisits); + await _subjectVisitRepository.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 }); await _visitStageRepository.SaveChangesAsync(); return ResponseOutput.Ok();