diff --git a/src/Shentun.Peis.Application/DeviceTypes/DeviceTypeAppService.cs b/src/Shentun.Peis.Application/DeviceTypes/DeviceTypeAppService.cs index 20f64f7..b81dbf5 100644 --- a/src/Shentun.Peis.Application/DeviceTypes/DeviceTypeAppService.cs +++ b/src/Shentun.Peis.Application/DeviceTypes/DeviceTypeAppService.cs @@ -139,9 +139,10 @@ namespace Shentun.Peis.DeviceTypes /// /// /// - public override Task DeleteAsync(Guid id) + public override async Task DeleteAsync(Guid id) { - return base.DeleteAsync(id); + var entity = await Repository.GetAsync(id); + await _manager.CheckAndDeleteAsync(entity); } /// diff --git a/src/Shentun.Peis.Application/InvoiceItemTypes/InvoiceItemTypeAppService.cs b/src/Shentun.Peis.Application/InvoiceItemTypes/InvoiceItemTypeAppService.cs index 7db2b49..8c652df 100644 --- a/src/Shentun.Peis.Application/InvoiceItemTypes/InvoiceItemTypeAppService.cs +++ b/src/Shentun.Peis.Application/InvoiceItemTypes/InvoiceItemTypeAppService.cs @@ -137,7 +137,8 @@ namespace Shentun.Peis.InvoiceItemTypes /// public override async Task DeleteAsync(Guid id) { - await _manager.CheckAndDeleteAsync(id); + var entity = await Repository.GetAsync(id); + await _manager.CheckAndDeleteAsync(entity); } /// diff --git a/src/Shentun.Peis.Application/SampleTypes/SampleTypeAppService.cs b/src/Shentun.Peis.Application/SampleTypes/SampleTypeAppService.cs index 37eafcc..08ec43c 100644 --- a/src/Shentun.Peis.Application/SampleTypes/SampleTypeAppService.cs +++ b/src/Shentun.Peis.Application/SampleTypes/SampleTypeAppService.cs @@ -136,9 +136,10 @@ namespace Shentun.Peis.SampleTypes /// /// /// - public override Task DeleteAsync(Guid id) + public override async Task DeleteAsync(Guid id) { - return base.DeleteAsync(id); + var entity = await Repository.GetAsync(id); + await _manager.CheckAndDeleteAsync(entity); } /// diff --git a/src/Shentun.Peis.Domain/DeviceTypes/DeviceTypeManager.cs b/src/Shentun.Peis.Domain/DeviceTypes/DeviceTypeManager.cs index 8d59b53..9865d29 100644 --- a/src/Shentun.Peis.Domain/DeviceTypes/DeviceTypeManager.cs +++ b/src/Shentun.Peis.Domain/DeviceTypes/DeviceTypeManager.cs @@ -19,9 +19,11 @@ namespace Shentun.Peis.DeviceTypes public class DeviceTypeManager : DomainService { private readonly IRepository _repository; - public DeviceTypeManager(IRepository repository) + private readonly IRepository _asbitemRepository; + public DeviceTypeManager(IRepository repository, IRepository asbitemRepository) { _repository = repository; + _asbitemRepository = asbitemRepository; } /// /// 创建 @@ -71,7 +73,18 @@ namespace Shentun.Peis.DeviceTypes } + public async Task CheckAndDeleteAsync(DeviceType entity) + { + var queryable = await _asbitemRepository.GetQueryableAsync(); + var item = queryable.Where(o => o.DeviceTypeId.Equals(entity.Id)).FirstOrDefault(); + if (item != null) + { + throw new BusinessException("", $"仪器类别\"{entity.DisplayName}\"已在组合项目\"{item.DisplayName}\"中使用,不能删除"); + } + + await _repository.DeleteAsync(entity); + } /// /// 修改排序 相邻之间 diff --git a/src/Shentun.Peis.Domain/InvoiceItemTypes/InvoiceItemTypeManager.cs b/src/Shentun.Peis.Domain/InvoiceItemTypes/InvoiceItemTypeManager.cs index 5dd1074..0d487a8 100644 --- a/src/Shentun.Peis.Domain/InvoiceItemTypes/InvoiceItemTypeManager.cs +++ b/src/Shentun.Peis.Domain/InvoiceItemTypes/InvoiceItemTypeManager.cs @@ -114,25 +114,15 @@ namespace Shentun.Peis.InvoiceItemTypes /// /// /// - public async Task CheckAndDeleteAsync(Guid id) + public async Task CheckAndDeleteAsync(InvoiceItemType entity) { - var invoiceItemTypeEnt = await _repository.FindAsync(m => m.Id == id); - if (invoiceItemTypeEnt != null) + var queryable = await _asbitemRepository.GetQueryableAsync(); + var item = queryable.Where(o => o.InvoiceItemTypeId.Equals(entity.Id)).FirstOrDefault(); + if (item != null) { - - var asbitemEnt = await _asbitemRepository.FindAsync(m => m.ItemTypeId == id); - if (asbitemEnt != null) - { - throw new UserFriendlyException($"发票项目类别\"{invoiceItemTypeEnt.DisplayName}\"已在组合项目\"{asbitemEnt.DisplayName}\"中使用,不能删除"); - } - - - await _repository.DeleteAsync(id); - } - else - { - throw new UserFriendlyException("数据不存在"); + throw new BusinessException("", $"发票项目类别\"{entity.DisplayName}\"已在组合项目\"{item.DisplayName}\"中使用,不能删除"); } + await _repository.DeleteAsync(entity); } } diff --git a/src/Shentun.Peis.Domain/MedicalTypes/MedicalTypeManager.cs b/src/Shentun.Peis.Domain/MedicalTypes/MedicalTypeManager.cs index 7291ec5..d19e2d7 100644 --- a/src/Shentun.Peis.Domain/MedicalTypes/MedicalTypeManager.cs +++ b/src/Shentun.Peis.Domain/MedicalTypes/MedicalTypeManager.cs @@ -63,10 +63,10 @@ namespace Shentun.Peis.MedicalTypes targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(targetEntity.DisplayName); } - if (sourceEntity.DisplayOrder > 0 && targetEntity.DisplayOrder != sourceEntity.DisplayOrder) - { - targetEntity.DisplayOrder = sourceEntity.DisplayOrder; - } + //if (sourceEntity.DisplayOrder > 0 && targetEntity.DisplayOrder != sourceEntity.DisplayOrder) + //{ + // targetEntity.DisplayOrder = sourceEntity.DisplayOrder; + //} } @@ -119,7 +119,7 @@ namespace Shentun.Peis.MedicalTypes var medicalTypeEnt = await _repository.FindAsync(m => m.Id == id); if (medicalTypeEnt != null) { - var patientRegisterEnt = await _patientRegisterRepository.FindAsync(m => m.CustomerOrgGroupId == id); + var patientRegisterEnt = await _patientRegisterRepository.FindAsync(m => m.MedicalTypeId == id); if (patientRegisterEnt != null) { throw new UserFriendlyException($"体检类别\"{medicalTypeEnt.DisplayName}\"已被体检人员\"{patientRegisterEnt.PatientName}\"登记中使用,不能删除"); diff --git a/src/Shentun.Peis.Domain/PersonnelTypes/PersonnelTypeManager.cs b/src/Shentun.Peis.Domain/PersonnelTypes/PersonnelTypeManager.cs index 35a4222..506ab33 100644 --- a/src/Shentun.Peis.Domain/PersonnelTypes/PersonnelTypeManager.cs +++ b/src/Shentun.Peis.Domain/PersonnelTypes/PersonnelTypeManager.cs @@ -124,7 +124,7 @@ namespace Shentun.Peis.PersonnelTypes var personnelTypeEnt = await _repository.FindAsync(m => m.Id == id); if (personnelTypeEnt != null) { - var patientRegisterEnt = await _patientRegisterRepository.FindAsync(m => m.CustomerOrgGroupId == id); + var patientRegisterEnt = await _patientRegisterRepository.FindAsync(m => m.PersonnelTypeId == id); if (patientRegisterEnt != null) { throw new UserFriendlyException($"人员类别\"{personnelTypeEnt.DisplayName}\"已被体检人员\"{patientRegisterEnt.PatientName}\"登记中使用,不能删除"); diff --git a/src/Shentun.Peis.Domain/SampleTypes/SampleTypeManager.cs b/src/Shentun.Peis.Domain/SampleTypes/SampleTypeManager.cs index db122f7..5dc3d54 100644 --- a/src/Shentun.Peis.Domain/SampleTypes/SampleTypeManager.cs +++ b/src/Shentun.Peis.Domain/SampleTypes/SampleTypeManager.cs @@ -19,9 +19,11 @@ namespace Shentun.Peis.SampleTypes public class SampleTypeManager : DomainService { private readonly IRepository _repository; - public SampleTypeManager(IRepository repository) + private readonly IRepository _sampleGroupRepository; + public SampleTypeManager(IRepository repository, IRepository sampleGroupRepository) { _repository = repository; + _sampleGroupRepository = sampleGroupRepository; } /// /// 创建 @@ -69,7 +71,18 @@ namespace Shentun.Peis.SampleTypes } + public async Task CheckAndDeleteAsync(SampleType entity) + { + var queryable = await _sampleGroupRepository.GetQueryableAsync(); + var item = queryable.Where(o => o.SampleTypeId.Equals(entity.Id)).FirstOrDefault(); + if (item != null) + { + throw new BusinessException("", $"标本类型\"{entity.DisplayName}\"已在条码分组\"{item.DisplayName}\"中使用,不能删除"); + } + + await _repository.DeleteAsync(entity); + } /// /// 修改排序 相邻之间