From 7fd88caa550cdd39bd11493240ee44f2e00f34c3 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Thu, 20 Oct 2022 14:56:19 +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 --- .../Service/Common/DTO/DictionaryModel.cs | 4 ++ .../Service/Common/DictionaryService.cs | 41 +++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs b/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs index 811f11dcb..fe0f3be1a 100644 --- a/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs +++ b/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs @@ -78,6 +78,10 @@ namespace IRaCIS.Application.Contracts } + public class GetBasicDataAllSelectInDto + { + public Guid? TrialReadingCriterionId { get; set; } + } public class BasicDicSelect diff --git a/IRaCIS.Core.Application/Service/Common/DictionaryService.cs b/IRaCIS.Core.Application/Service/Common/DictionaryService.cs index 7b5b04d14..f42845ee9 100644 --- a/IRaCIS.Core.Application/Service/Common/DictionaryService.cs +++ b/IRaCIS.Core.Application/Service/Common/DictionaryService.cs @@ -20,10 +20,12 @@ namespace IRaCIS.Application.Services private readonly IRepository _trialDictionaryRepository; private readonly IRepository _doctorRepository; private readonly IRepository _trialRepository; + private readonly IRepository _readingCriterionDictionaryRepository; private readonly IReadingQuestionService _readingQuestionService; public DictionaryService(IRepository sysDicRepository, IRepository doctorDictionaryRepository, IRepository trialDictionaryRepository, IRepository doctorRepository, IRepository trialRepository, + IRepository readingCriterionDictionaryRepository, IReadingQuestionService readingQuestionService @@ -34,7 +36,7 @@ namespace IRaCIS.Application.Services _trialDictionaryRepository = trialDictionaryRepository; _doctorRepository = doctorRepository; _trialRepository = trialRepository; - + this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository; this._readingQuestionService = readingQuestionService; } @@ -222,11 +224,44 @@ namespace IRaCIS.Application.Services /// /// [AllowAnonymous] - public async Task>> GetBasicDataAllSelect() + public async Task>> GetBasicDataAllSelect(GetBasicDataAllSelectInDto inDto) { var searchList = await _dicRepository.Where(t => t.ParentId != null && t.IsEnable ).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); - return searchList.GroupBy(t => t.ParentCode).ToDictionary(g => g.Key, g => g.OrderBy(t => t.ShowOrder).ToList()); + var result = searchList.GroupBy(t => t.ParentCode).ToDictionary(g => g.Key, g => g.OrderBy(t => t.ShowOrder).ToList()); + + if (inDto.TrialReadingCriterionId == null) + { + return result; + } + else + { + var criterionDictionList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId).Select(x => new BasicDicSelect() + { + ChildGroup = x.Dictionary.ChildGroup, + Code = x.Dictionary.Code, + DataTypeEnum = x.Dictionary.DataTypeEnum, + ParentChildCodeEnum = x.Dictionary.Parent.ChildCodeEnum, + ShowOrder = x.Dictionary.ShowOrder, + ParentCode = x.ParentCode, + Id = x.DictionaryId, + ParentId = x.Dictionary.ParentId, + Value = x.Dictionary.Value, + ValueCN = x.Dictionary.ValueCN + + }).ToListAsync(); + + var criterionDic = criterionDictionList.GroupBy(x => x.Code).ToDictionary(g => g.Key, g => g.OrderBy(t => t.ShowOrder).ToList()); + + foreach (var item in criterionDic) + { + result[item.Key] = item.Value; + } + + return result; + } + + } #region 稽查相关