From 5f35fb81ee96442434d8ae3f5881d519d0258347 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 18 Oct 2022 10:59:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/Dto/ReadingImageTaskViewModel.cs | 4 ++++ .../ReadingGlobalTaskService.cs | 16 ++++++++++++++++ .../ReadingImageTask/ReadingImageTaskService.cs | 3 +++ .../ReadingOncologyTaskService.cs | 17 +++++++++++++++++ .../Service/Reading/ReadingQuestionService.cs | 12 ++++++++++++ 5 files changed, 52 insertions(+) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index d23867fa0..6f18ca124 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -602,6 +602,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid SubjectId { get; set; } + public List AssessTypeList { get; set; } + public List OncologyVisits { get; set; } = new List(); } @@ -668,6 +670,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string GlobalUpdateType { get; set; } + public List AssessTypeList { get; set; } + public List TaskList { get; set; } } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs index 3974caf38..d6a46a0d3 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs @@ -202,6 +202,22 @@ namespace IRaCIS.Application.Services + List assessTypeList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == taskInfo.TrialReadingCriterionId + && x.ParentCode == "GlobalAssessType" + ) + .Select(x => new GetAssessTypeOutDto() + { + Id = x.Id, + DictionaryId = x.DictionaryId, + ChildGroup = x.Dictionary.ChildGroup, + Code = x.Dictionary.Code, + Description = x.Dictionary.Description, + ShowOrder = x.Dictionary.ShowOrder, + ParentCode = x.Dictionary.Parent.Code, + Value = x.Dictionary.Value, + ValueCN = x.Dictionary.ValueCN + }).OrderBy(x => x.ParentCode).ThenBy(x => x.ShowOrder).ToListAsync(); + result.AssessTypeList = assessTypeList; return result; } #endregion diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index dd9b0aa4c..b601eeca8 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -35,6 +35,7 @@ namespace IRaCIS.Application.Services private readonly IRepository _readingCriterionPageRepository; private readonly IRepository _readingJudgeInfoRepository; private readonly IRepository _readModuleRepository; + private readonly IRepository _readingCriterionDictionaryRepository; private readonly IRepository _tumorAssessmentRepository; private readonly IRepository _readingTableAnswerRowInfoRepository; private readonly IRepository _readingTableQuestionSystemRepository; @@ -63,6 +64,7 @@ namespace IRaCIS.Application.Services IRepository readingCriterionPageRepository, IRepository readingJudgeInfoRepository, IRepository readModuleRepository, + IRepository readingCriterionDictionaryRepository, IRepository tumorAssessmentRepository, IRepository readingTableAnswerRowInfoRepository, IRepository readingTableQuestionSystemRepository, @@ -90,6 +92,7 @@ namespace IRaCIS.Application.Services this._readingCriterionPageRepository = readingCriterionPageRepository; this._readingJudgeInfoRepository = readingJudgeInfoRepository; this._readModuleRepository = readModuleRepository; + this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository; this._tumorAssessmentRepository = tumorAssessmentRepository; this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository; this._readingTableQuestionSystemRepository = readingTableQuestionSystemRepository; diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs index 61f91fe24..5507ea66c 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs @@ -133,6 +133,23 @@ namespace IRaCIS.Application.Services }); result.OncologyVisits = oncologyVisits; + + List assessTypeList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == taskInfo.TrialReadingCriterionId + && x.ParentCode == "OncologyAssessType" + ) + .Select(x => new GetAssessTypeOutDto() + { + Id = x.Id, + DictionaryId = x.DictionaryId, + ChildGroup = x.Dictionary.ChildGroup, + Code = x.Dictionary.Code, + Description = x.Dictionary.Description, + ShowOrder = x.Dictionary.ShowOrder, + ParentCode = x.Dictionary.Parent.Code, + Value = x.Dictionary.Value, + ValueCN = x.Dictionary.ValueCN + }).OrderBy(x => x.ParentCode).ThenBy(x => x.ShowOrder).ToListAsync(); + result.AssessTypeList = assessTypeList; return result; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs index 3c3ef04a2..f666133e9 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs @@ -728,7 +728,19 @@ namespace IRaCIS.Application.Services #endregion + #region 标准字典 + await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id); + var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value). + Select(x => new ReadingCriterionDictionary() { + CriterionId = trialCriterion.Id, + DictionaryId = x.DictionaryId, + IsSystemCriterion = false, + ParentCode = x.ParentCode, + }).ToListAsync(); + + await _readingCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList); + #endregion