From 523f09d8aa4124d6961958bcdbd168183a1f49c9 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 29 Dec 2022 09:26:17 +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 | 7 +++
.../Service/Common/DictionaryService.cs | 47 +++++++++++++++++++
2 files changed, 54 insertions(+)
diff --git a/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs b/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs
index 08ccd2e0c..4c278ddcb 100644
--- a/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs
+++ b/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs
@@ -78,6 +78,13 @@ namespace IRaCIS.Application.Contracts
}
+ public class GetCriterionDictionaryInDto
+ {
+ public Guid? ReadingCriterionId { get; set; }
+
+ public string DictionaryCode { get; set; }
+ }
+
public class GetBasicDataAllSelectInDto
{
public Guid? TrialReadingCriterionId { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Common/DictionaryService.cs b/IRaCIS.Core.Application/Service/Common/DictionaryService.cs
index fa1dc6ef7..0d85cfa2e 100644
--- a/IRaCIS.Core.Application/Service/Common/DictionaryService.cs
+++ b/IRaCIS.Core.Application/Service/Common/DictionaryService.cs
@@ -238,6 +238,53 @@ namespace IRaCIS.Application.Services
return dictionaryList;
}
+ ///
+ /// 获取标准指定字典
+ ///
+ ///
+ ///
+ [AllowAnonymous]
+ [HttpPost]
+ public async Task>> GetCriterionDictionary(GetCriterionDictionaryInDto inDto)
+ {
+ var searchList = await _dicRepository.Where(t => t.ParentId != null && t.IsEnable)
+ .WhereIf(!inDto.DictionaryCode.IsNullOrEmpty(), x =>x.Parent.Code==inDto.DictionaryCode)
+ .ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+
+ var result = searchList.GroupBy(t => t.ParentCode).ToDictionary(g => g.Key, g => g.OrderBy(t => t.ShowOrder).ToList());
+ if (inDto.ReadingCriterionId == null)
+ {
+ return result;
+ }
+ else
+ {
+ var criterionDictionList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.ReadingCriterionId).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.ParentCode).ToDictionary(g => g.Key, g => g.OrderBy(t => t.ShowOrder).ToList());
+
+ foreach (var item in criterionDic)
+ {
+ result[item.Key] = item.Value;
+ }
+
+ return result;
+ }
+
+ }
+
///
/// 获取所有下拉框 枚举 bool 数据