diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/IItemBasicAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/IItemBasicAppService.cs index d483db207..529f49661 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/IItemBasicAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/IItemBasicAppService.cs @@ -25,4 +25,5 @@ public interface IItemBasicAppService Task UpsertAsyncByInterface(ItemBasicEditInput input); Task UpsertStdPackQtyAsync(string itemCode,decimal stdpackqty); + Task CreateByInterfaceAsync(ItemBasicEditInput input); } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Items/ItemBasicAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Items/ItemBasicAppService.cs index 71429f1af..e7c04f185 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Items/ItemBasicAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Items/ItemBasicAppService.cs @@ -28,17 +28,20 @@ public class ItemBasicAppService private readonly ItemValidator _itemValidator; private readonly IItemBasicManager _manager; private new readonly IItemBasicRepository _repository; + private readonly ItemPackAppService itemPackAppService; public ItemBasicAppService( IItemBasicRepository repository, IDistributedCache cache, ItemValidator itemValidator, - IItemBasicManager manager) + IItemBasicManager manager, + ItemPackAppService itemPackAppService) : base(repository, cache) { _repository = repository; _itemValidator = itemValidator; _manager = manager; + this.itemPackAppService = itemPackAppService; base.CreatePolicyName = ItemBasicPermissions.Create; base.UpdatePolicyName = ItemBasicPermissions.Update; base.DeletePolicyName = ItemBasicPermissions.Delete; @@ -197,6 +200,15 @@ public class ItemBasicAppService itemBasic.StdPackQty = stdpackqty; await _repository.UpdateAsync(itemBasic).ConfigureAwait(false); } + + [HttpPost("create-by-interface")] + public async Task CreateByInterfaceAsync(ItemBasicEditInput input) + { + var packDtos =await itemPackAppService.GetListByItemCodeAsync(input.Code).ConfigureAwait(false); + input.StdPackQty = packDtos.First().Qty; + return await base.CreateAsync(input).ConfigureAwait(false); + } + protected override Expression> BuildSearchExpression(string keyWord) { Expression> expression = p =>