From 62111e6266629b6f3c0acf014236004c0fd3b054 Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Fri, 22 Mar 2024 17:59:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=8A=E6=96=AD=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GuideTypes/GuideTypeAppService.cs | 1 + .../Diagnosises/DiagnosisManager.cs | 61 ++++++++++++++++++- .../Suggestions/SuggestionManager.cs | 39 ++++++++++++ 3 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 src/Shentun.Peis.Domain/Suggestions/SuggestionManager.cs diff --git a/src/Shentun.Peis.Application/GuideTypes/GuideTypeAppService.cs b/src/Shentun.Peis.Application/GuideTypes/GuideTypeAppService.cs index 4b56857..0f006ce 100644 --- a/src/Shentun.Peis.Application/GuideTypes/GuideTypeAppService.cs +++ b/src/Shentun.Peis.Application/GuideTypes/GuideTypeAppService.cs @@ -196,6 +196,7 @@ namespace Shentun.Peis.GuideTypes } + [RemoteService(false)] public async Task TestApi() { diff --git a/src/Shentun.Peis.Domain/Diagnosises/DiagnosisManager.cs b/src/Shentun.Peis.Domain/Diagnosises/DiagnosisManager.cs index c5de3dc..b9c62bd 100644 --- a/src/Shentun.Peis.Domain/Diagnosises/DiagnosisManager.cs +++ b/src/Shentun.Peis.Domain/Diagnosises/DiagnosisManager.cs @@ -1,6 +1,11 @@ -using Shentun.Peis.Enums; +using Shentun.Peis.AsbitemDetails; +using Shentun.Peis.CustomerOrgGroupDetails; +using Shentun.Peis.Enums; using Shentun.Peis.HelperDto; +using Shentun.Peis.MedicalPackageDetails; using Shentun.Peis.Models; +using Shentun.Peis.SampleGroupDetails; +using Shentun.Peis.Suggestions; using Shentun.Utilities; using System; using System.Collections.Generic; @@ -20,9 +25,23 @@ namespace Shentun.Peis.Diagnosises public class DiagnosisManager : DomainService { private readonly IRepository _repository; - public DiagnosisManager(IRepository repository) + private readonly IRepository _sumDiagnosisRepository; + private readonly IRepository _suggestionRepository; + private readonly IRepository _diagnosisTemplateDetailRepository; + private readonly SuggestionManager _suggestionManager; + + public DiagnosisManager( + IRepository repository, + IRepository sumDiagnosisRepository, + SuggestionManager suggestionManager, + IRepository suggestionRepository, + IRepository diagnosisTemplateDetailRepository) { _repository = repository; + _sumDiagnosisRepository = sumDiagnosisRepository; + _suggestionManager = suggestionManager; + _suggestionRepository = suggestionRepository; + _diagnosisTemplateDetailRepository = diagnosisTemplateDetailRepository; } /// @@ -73,7 +92,7 @@ namespace Shentun.Peis.Diagnosises targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(targetEntity.DisplayName); } - + targetEntity.DiagnosisLevelId = sourceEntity.DiagnosisLevelId; targetEntity.ForSexId = sourceEntity.ForSexId; @@ -88,6 +107,42 @@ namespace Shentun.Peis.Diagnosises } + + /// + /// 删除的时候应该检测SumDiagnosis里面有没有引用,如果引用了不允许删除, + /// 如果允许删除应该相应删除其建议内容Suggestion和诊断模板DiagnosisTemplate + /// + /// + /// + /// + public async Task CheckAndDeleteAsync(Guid id) + { + //检查是否被使用 + var sumDiagnosisEntity = await _sumDiagnosisRepository.FirstOrDefaultAsync(f => f.DiagnosisId == id); + if (sumDiagnosisEntity != null) + { + throw new UserFriendlyException($"该诊断已被使用,不能删除"); + } + + //删除 Suggestion + var suggestionList = await _suggestionRepository.GetListAsync(m => m.DiagnosisId == id); + if (suggestionList.Count > 0) + { + foreach (var suggestion in suggestionList) + { + await _suggestionManager.CheckAndDeleteAsync(suggestion.Id); + } + } + + //删除 DiagnosisTemplate + await _diagnosisTemplateDetailRepository.DeleteAsync(d => d.DiagnosisId == id); + + + + } + + + /// /// 修改排序 相邻之间 /// diff --git a/src/Shentun.Peis.Domain/Suggestions/SuggestionManager.cs b/src/Shentun.Peis.Domain/Suggestions/SuggestionManager.cs new file mode 100644 index 0000000..2ba94c3 --- /dev/null +++ b/src/Shentun.Peis.Domain/Suggestions/SuggestionManager.cs @@ -0,0 +1,39 @@ +using Shentun.Peis.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp; +using Volo.Abp.Domain.Repositories; +using Volo.Abp.Domain.Services; + +namespace Shentun.Peis.Suggestions +{ + public class SuggestionManager : DomainService + { + + + private readonly IRepository _repository; + + public SuggestionManager( + IRepository repository + ) + { + _repository = repository; + } + + + /// + ///删除 + /// + /// + /// + /// + public async Task CheckAndDeleteAsync(Guid id) + { + await _repository.DeleteAsync(id); + + } + } +}