From 742e745ba819073bdd80846c8279954a4573d2c7 Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Mon, 25 Mar 2024 15:03:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=A8=A1=E6=9D=BF=E3=80=81?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=A8=A1=E6=9D=BF=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ItemTemplateDetailAppService.cs | 58 +++++++++---------- .../AsbitemDetails/AsbitemDetailManager.cs | 1 - .../ItemTemplateDetails/ItemTemplateDetail.cs | 3 + .../ItemTemplateDetailManager.cs | 57 ++++++++++++++++++ .../ItemTemplates/ItemTemplateManager.cs | 26 ++++++--- 5 files changed, 106 insertions(+), 39 deletions(-) create mode 100644 src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetailManager.cs diff --git a/src/Shentun.Peis.Application/ItemTemplateDetails/ItemTemplateDetailAppService.cs b/src/Shentun.Peis.Application/ItemTemplateDetails/ItemTemplateDetailAppService.cs index 97a27db..36912af 100644 --- a/src/Shentun.Peis.Application/ItemTemplateDetails/ItemTemplateDetailAppService.cs +++ b/src/Shentun.Peis.Application/ItemTemplateDetails/ItemTemplateDetailAppService.cs @@ -31,26 +31,19 @@ namespace Shentun.Peis.ItemTemplateDetails { private readonly IRepository _repository; private readonly IRepository _userRepository; + private readonly ItemTemplateDetailManager _manager; - public ItemTemplateDetailAppService(IRepository repository, IRepository userRepository) + public ItemTemplateDetailAppService( + IRepository repository, + IRepository userRepository, + ItemTemplateDetailManager manager + ) { this._repository = repository; this._userRepository = userRepository; + this._manager = manager; } - ///// - ///// 创建 - ///// - ///// - ///// - //public async Task CreateAsync(CreateItemTemplateDetailDto input) - //{ - // var createEntity = ObjectMapper.Map(input); - // var entity = await _repository.InsertAsync(createEntity); - // var dto = ObjectMapper.Map(entity); - // return dto; - //} - /// /// 批量创建 先删除 @@ -60,28 +53,31 @@ namespace Shentun.Peis.ItemTemplateDetails [HttpPost("api/app/itemtemplatedetail/createitemtemplatedetaimany")] public async Task CreateItemTemplateDetaiManyAsync(CreateItemTemplateDetailDto input) { - await _repository.DeleteAsync(d => d.ItemTemplateId == input.ItemTemplateId); + //删除项目模板明细 按项目模板ID删除 + await _manager.CheckAndDeleteInItemTemplateIdAsync(input.ItemTemplateId); if (input.Details.Any()) { - var createEntity = ObjectMapper.Map, List>(input.Details); - await _repository.InsertManyAsync(createEntity); - } - } - - - ///// - ///// 删除 - ///// - ///// - ///// - ///// - //public async Task DeleteAsync(Guid ItemTemplateId, Guid ItemId) - //{ - // await _repository.DeleteAsync(d => d.ItemTemplateId == ItemTemplateId && d.ItemId == ItemId); - //} + List itemTemplateDetails = new List(); + foreach (var details in input.Details) + { + var entity = new ItemTemplateDetail + { + ItemTemplateId = input.ItemTemplateId, + ItemId = details.ItemId + }; + itemTemplateDetails.Add(_manager.CreateAsbitemAsync(entity)); + } + + if (itemTemplateDetails.Count > 0) + { + await _repository.InsertManyAsync(itemTemplateDetails); + } + } + + } /// /// 获取列表 项目模板包含的小项目 /// diff --git a/src/Shentun.Peis.Domain/AsbitemDetails/AsbitemDetailManager.cs b/src/Shentun.Peis.Domain/AsbitemDetails/AsbitemDetailManager.cs index 42e3600..96828ae 100644 --- a/src/Shentun.Peis.Domain/AsbitemDetails/AsbitemDetailManager.cs +++ b/src/Shentun.Peis.Domain/AsbitemDetails/AsbitemDetailManager.cs @@ -48,7 +48,6 @@ namespace Shentun.Peis.AsbitemDetails var asbitemDetailList = await _repository.GetListAsync(m => m.AsbitemId == AsbitemId); if (asbitemDetailList.Any()) { - //删除组合项目明细 await _repository.DeleteManyAsync(asbitemDetailList); diff --git a/src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetail.cs b/src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetail.cs index 09aa299..c1dd1f6 100644 --- a/src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetail.cs +++ b/src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetail.cs @@ -11,6 +11,9 @@ namespace Shentun.Peis.Models [Table("item_template_detail")] public class ItemTemplateDetail : Entity, IHasConcurrencyStamp { + /// + /// 项目模板编号 + /// [Key] [Column("item_template_id")] //[StringLength(4)] diff --git a/src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetailManager.cs b/src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetailManager.cs new file mode 100644 index 0000000..0798d29 --- /dev/null +++ b/src/Shentun.Peis.Domain/ItemTemplateDetails/ItemTemplateDetailManager.cs @@ -0,0 +1,57 @@ +using Shentun.Peis.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Domain.Repositories; +using Volo.Abp.Domain.Services; + +namespace Shentun.Peis.ItemTemplateDetails +{ + /// + /// 项目模板明细 + /// + public class ItemTemplateDetailManager : DomainService + { + private readonly IRepository _repository; + public ItemTemplateDetailManager( + IRepository repository + ) + { + _repository = repository; + } + + /// + /// 创建 + /// + /// + /// + public ItemTemplateDetail CreateAsbitemAsync(ItemTemplateDetail entity) + { + DataHelper.CheckGuidIsDefaultValue(entity.ItemTemplateId, "项目模板编号"); + DataHelper.CheckGuidIsDefaultValue(entity.ItemId, "项目编号"); + + return entity; + } + + + /// + /// 删除项目模板明细 按项目模板ID删除 + /// + /// 项目模板ID + /// + /// + public async Task CheckAndDeleteInItemTemplateIdAsync(Guid ItemTemplateId) + { + var itemTemplateDetailList = await _repository.GetListAsync(m => m.ItemTemplateId == ItemTemplateId); + if (itemTemplateDetailList.Any()) + { + //删除项目模板明细 + await _repository.DeleteManyAsync(itemTemplateDetailList); + + } + + } + } +} diff --git a/src/Shentun.Peis.Domain/ItemTemplates/ItemTemplateManager.cs b/src/Shentun.Peis.Domain/ItemTemplates/ItemTemplateManager.cs index cf9c946..1897880 100644 --- a/src/Shentun.Peis.Domain/ItemTemplates/ItemTemplateManager.cs +++ b/src/Shentun.Peis.Domain/ItemTemplates/ItemTemplateManager.cs @@ -1,4 +1,5 @@ -using Shentun.Peis.HelperDto; +using Shentun.Peis.Enums; +using Shentun.Peis.HelperDto; using Shentun.Peis.Models; using Shentun.Utilities; using System; @@ -22,7 +23,7 @@ namespace Shentun.Peis.ItemTemplates private readonly IRepository _repository; private readonly IRepository _itemTemplateDetailRepository; public ItemTemplateManager( - IRepository repository, + IRepository repository, IRepository itemTemplateDetailRepository) { _repository = repository; @@ -38,7 +39,7 @@ namespace Shentun.Peis.ItemTemplates ItemTemplate entity ) { - DataHelper.CheckStringIsNull(entity.DisplayName, "名称"); + Verify(entity); await EntityHelper.CheckSameName(_repository, entity.DisplayName); return new ItemTemplate { @@ -60,20 +61,31 @@ namespace Shentun.Peis.ItemTemplates ItemTemplate targetEntity ) { - DataHelper.CheckStringIsNull(sourceEntity.DisplayName, "名称"); + DataHelper.CheckEntityIsNull(targetEntity); + Verify(sourceEntity); if (sourceEntity.DisplayName != targetEntity.DisplayName) { - await EntityHelper.CheckSameName(_repository, sourceEntity.DisplayName, targetEntity); targetEntity.DisplayName = sourceEntity.DisplayName; targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(targetEntity.DisplayName); } - + + } + + + /// + /// 验证新增、修改字段 + /// + /// + /// + private void Verify(ItemTemplate entity) + { + DataHelper.CheckEntityIsNull(entity); + DataHelper.CheckStringIsNull(entity.DisplayName, "名称"); } - /// /// 修改排序 置顶,置底