diff --git a/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs b/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs index b047a65..3a232bd 100644 --- a/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs +++ b/src/Shentun.Peis.Application.Contracts/Asbitems/CreateAsbitemDto.cs @@ -42,7 +42,7 @@ namespace Shentun.Peis.Asbitems /// /// 汇总项目类别ID /// - public Guid CollectItemType { get; set; } + public Guid CollectItemTypeId { get; set; } /// diff --git a/src/Shentun.Peis.Application.Contracts/CollectItemTypes/CollectItemTypeIdInputDto.cs b/src/Shentun.Peis.Application.Contracts/CollectItemTypes/CollectItemTypeIdInputDto.cs new file mode 100644 index 0000000..8722bd5 --- /dev/null +++ b/src/Shentun.Peis.Application.Contracts/CollectItemTypes/CollectItemTypeIdInputDto.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Shentun.Peis.CollectItemTypes +{ + public class CollectItemTypeIdInputDto + { + public Guid Id { get; set; } + } +} diff --git a/src/Shentun.Peis.Application/CollectItemTypes/CollectItemTypeAppService.cs b/src/Shentun.Peis.Application/CollectItemTypes/CollectItemTypeAppService.cs index 4f58e8d..6c15e08 100644 --- a/src/Shentun.Peis.Application/CollectItemTypes/CollectItemTypeAppService.cs +++ b/src/Shentun.Peis.Application/CollectItemTypes/CollectItemTypeAppService.cs @@ -42,12 +42,12 @@ namespace Shentun.Peis.CollectItemTypes /// /// 根据ID查实体内容 /// - /// + /// /// - [HttpPost("api/app/CollectItemType/Get")] - public async Task GetAsync(Guid id) + [HttpPost("api/app/CollectItemType/GetById")] + public async Task GetByIdAsync(CollectItemTypeIdInputDto input) { - var entity = await _collectItemTypeRepository.GetAsync(id); + var entity = await _collectItemTypeRepository.GetAsync(input.Id); var entityDto = ObjectMapper.Map(entity); entityDto.CreatorName = _cacheService.GetSurnameAsync(entityDto.CreatorId).Result; entityDto.LastModifierName = _cacheService.GetSurnameAsync(entityDto.LastModifierId).Result; @@ -129,12 +129,12 @@ namespace Shentun.Peis.CollectItemTypes /// /// 删除 /// - /// + /// /// [HttpPost("api/app/CollectItemType/Delete")] - public async Task DeleteAsync(Guid id) + public async Task DeleteAsync(CollectItemTypeIdInputDto input) { - var entity = await _collectItemTypeRepository.GetAsync(id); + var entity = await _collectItemTypeRepository.GetAsync(input.Id); await _manager.CheckAndDeleteAsync(entity); } @@ -142,13 +142,12 @@ namespace Shentun.Peis.CollectItemTypes /// /// 修改排序 置顶,置底 /// - /// 需要修改的ID - /// 修改方式:1 置顶 2 置底 + /// /// [HttpPost("api/app/CollectItemType/UpdateManySort")] - public async Task UpdateManySortAsync(Guid id, int SortType) + public async Task UpdateManySortAsync(UpdateManySortInput input) { - await _manager.UpdateManySortAsync(id, SortType); + await _manager.UpdateManySortAsync(input.Id, input.SortType); } /// diff --git a/src/Shentun.Peis.Domain/CollectItemTypes/CollectItemTypeManager.cs b/src/Shentun.Peis.Domain/CollectItemTypes/CollectItemTypeManager.cs index 802f338..74e7b41 100644 --- a/src/Shentun.Peis.Domain/CollectItemTypes/CollectItemTypeManager.cs +++ b/src/Shentun.Peis.Domain/CollectItemTypes/CollectItemTypeManager.cs @@ -7,6 +7,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Volo.Abp; using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Services; @@ -17,12 +18,15 @@ namespace Shentun.Peis.CollectItemTypes { private readonly IRepository _repository; + private readonly IRepository _asbitemRepository; + public CollectItemTypeManager( - IRepository repository - ) + IRepository repository, + IRepository asbitemRepository) { _repository = repository; + _asbitemRepository = asbitemRepository; } /// @@ -66,6 +70,11 @@ namespace Shentun.Peis.CollectItemTypes public async Task CheckAndDeleteAsync(CollectItemType entity) { + var asbitemEnt = await _asbitemRepository.FirstOrDefaultAsync(m => m.CollectItemTypeId == entity.Id); + if (asbitemEnt != null) + { + throw new UserFriendlyException($"汇总项目类别\"{entity.DisplayName}\"已被组合项目\"{asbitemEnt.DisplayName}\"使用,不能删除"); + } await _repository.DeleteAsync(entity); } @@ -101,7 +110,7 @@ namespace Shentun.Peis.CollectItemTypes DataHelper.CheckEntityIsNull(entity); DataHelper.CheckStringIsNull(entity.DisplayName, "名称"); DataHelper.CheckGuidIsDefaultValue(entity.InvoiceItemTypeId, "配置参数"); - + } } } diff --git a/src/Shentun.Peis.Domain/HelperDto/UpdateSortManyDto.cs b/src/Shentun.Peis.Domain/HelperDto/UpdateSortManyDto.cs index 3c5da08..36f19f8 100644 --- a/src/Shentun.Peis.Domain/HelperDto/UpdateSortManyDto.cs +++ b/src/Shentun.Peis.Domain/HelperDto/UpdateSortManyDto.cs @@ -54,4 +54,20 @@ namespace Shentun.Peis.HelperDto public int DisplayOrder { get; set; } } + /// + /// 修改排序 置顶,置底 + /// + public class UpdateManySortInput + { + /// + /// 需要修改的ID + /// + public Guid Id { get; set; } + + /// + /// 修改方式:1 置顶 2 置底 + /// + public int SortType { get; set; } + } + }