Browse Source

诊断删除

bjmzak
wxd 2 years ago
parent
commit
62111e6266
  1. 1
      src/Shentun.Peis.Application/GuideTypes/GuideTypeAppService.cs
  2. 59
      src/Shentun.Peis.Domain/Diagnosises/DiagnosisManager.cs
  3. 39
      src/Shentun.Peis.Domain/Suggestions/SuggestionManager.cs

1
src/Shentun.Peis.Application/GuideTypes/GuideTypeAppService.cs

@ -196,6 +196,7 @@ namespace Shentun.Peis.GuideTypes
}
[RemoteService(false)]
public async Task TestApi()
{

59
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<Diagnosis, Guid> _repository;
public DiagnosisManager(IRepository<Diagnosis, Guid> repository)
private readonly IRepository<SumDiagnosis> _sumDiagnosisRepository;
private readonly IRepository<Suggestion, Guid> _suggestionRepository;
private readonly IRepository<DiagnosisTemplateDetail> _diagnosisTemplateDetailRepository;
private readonly SuggestionManager _suggestionManager;
public DiagnosisManager(
IRepository<Diagnosis, Guid> repository,
IRepository<SumDiagnosis> sumDiagnosisRepository,
SuggestionManager suggestionManager,
IRepository<Suggestion, Guid> suggestionRepository,
IRepository<DiagnosisTemplateDetail> diagnosisTemplateDetailRepository)
{
_repository = repository;
_sumDiagnosisRepository = sumDiagnosisRepository;
_suggestionManager = suggestionManager;
_suggestionRepository = suggestionRepository;
_diagnosisTemplateDetailRepository = diagnosisTemplateDetailRepository;
}
/// <summary>
@ -88,6 +107,42 @@ namespace Shentun.Peis.Diagnosises
}
/// <summary>
/// 删除的时候应该检测SumDiagnosis里面有没有引用,如果引用了不允许删除,
/// 如果允许删除应该相应删除其建议内容Suggestion和诊断模板DiagnosisTemplate
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
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);
}
/// <summary>
/// 修改排序 相邻之间
/// </summary>

39
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<Suggestion, Guid> _repository;
public SuggestionManager(
IRepository<Suggestion, Guid> repository
)
{
_repository = repository;
}
/// <summary>
///删除
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
public async Task CheckAndDeleteAsync(Guid id)
{
await _repository.DeleteAsync(id);
}
}
}
Loading…
Cancel
Save