diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs index 2cc304a26..f203f26e4 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs @@ -80,6 +80,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public bool IsCopyQuestion { get; set; } } + public class SetCriterionDictionaryInDto + { + [NotDefault] + public Guid CriterionId { get; set; } + + public string ParentCode { get; set; } + + public List DictionaryList { get; set; } + } public class SetAssessTypeInDto { @@ -88,7 +97,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string ParentCode { get; set; } - public List DictionaryList { get; set; } + public List DictionaryIds { get; set; } } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs index 999f0d89a..b9bed1db1 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs @@ -462,6 +462,30 @@ namespace IRaCIS.Core.Application.Service.RC return result; } + /// + /// 设置标准字典 + /// + /// + /// + [HttpPost] + public async Task SetCriterionDictionary(SetCriterionDictionaryInDto inDto) + { + await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.CriterionId && x.ParentCode == inDto.ParentCode); + + await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.DictionaryList.Select(x => new ReadingCriterionDictionary() + { + CriterionId = inDto.CriterionId, + DictionaryId = x.DictionaryId, + IsBaseLineUse = x.IsBaseLineUse, + IsFollowVisitUse = x.IsFollowVisitUse, + IsSystemCriterion = true, + ParentCode = inDto.ParentCode + })); + + await _readingCriterionDictionaryRepository.SaveChangesAsync(); + + return ResponseOutput.Ok(true); + } /// /// 设置标准字典(系统用) @@ -473,12 +497,10 @@ namespace IRaCIS.Core.Application.Service.RC { await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.CriterionId && x.ParentCode == inDto.ParentCode); - await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.DictionaryList.Select(x => new ReadingCriterionDictionary() + await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.DictionaryIds.Select(x => new ReadingCriterionDictionary() { CriterionId = inDto.CriterionId, - DictionaryId = x.DictionaryId, - IsBaseLineUse=x.IsBaseLineUse, - IsFollowVisitUse=x.IsFollowVisitUse, + DictionaryId = x, IsSystemCriterion = true, ParentCode = inDto.ParentCode }));