diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestImportInput.cs index 191244e7f..deac6ee7e 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestImportInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestImportInput.cs @@ -26,7 +26,6 @@ public class UnplannedIssueRequestImportInput : SfsStoreImportInputBase /// 单位 /// [Display(Name = "单位")] - [Required(ErrorMessage = "单位不能为空")] public string Uom { get; set; } /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedReceiptRequests/Inputs/UnplannedReceiptRequestImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedReceiptRequests/Inputs/UnplannedReceiptRequestImportInput.cs index 0606a3fab..9e3a51eb0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedReceiptRequests/Inputs/UnplannedReceiptRequestImportInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedReceiptRequests/Inputs/UnplannedReceiptRequestImportInput.cs @@ -26,7 +26,6 @@ public class UnplannedReceiptRequestImportInput : SfsStoreImportInputBase /// 单位 /// [Display(Name = "单位")] - [Required(ErrorMessage = "单位不能为空")] public string Uom { get; set; } /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestManager.cs index a79624a1d..a789ae41a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestManager.cs @@ -1,20 +1,26 @@ using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; +using Volo.Abp; +using Win_in.Sfs.Basedata.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Domain; public class UnplannedIssueRequestManager : SfsStoreRequestManagerBase, IUnplannedIssueRequestManager { - public readonly IUnplannedIssueRequestRepository _repository; + private readonly IUnplannedIssueRequestRepository _repository; + private readonly IDictAppService _dictAppService; + private readonly IItemBasicAppService _itemBasicAppService; //public readonly _repository; //public readonly IUnplannedIssueRequestRepository _repository; public UnplannedIssueRequestManager( - IUnplannedIssueRequestRepository repository - ) : base(repository) + IUnplannedIssueRequestRepository repository, IDictAppService dictAppService, IItemBasicAppService itemBasicAppService) : base(repository) { _repository = repository; + _dictAppService = dictAppService; + _itemBasicAppService = itemBasicAppService; } /// @@ -29,4 +35,26 @@ public class UnplannedIssueRequestManager : SfsStoreRequestManagerBase> CreateManyAsync(List entities) + { + var dictDto = await _dictAppService.GetByCodeAsync("CaseCode").ConfigureAwait(false); + + foreach (var entity in entities) + { + foreach (var unplannedIssueRequestDetail in entity.Details) + { + var flag = dictDto.Items.ToList().FirstOrDefault(p => p.Value == unplannedIssueRequestDetail.CaseCode); + if (flag == null) + { + throw new UserFriendlyException($"【{unplannedIssueRequestDetail.CaseCode}】专案不存在"); + } + + var itemBasicDto= await _itemBasicAppService.GetByCodeAsync(unplannedIssueRequestDetail.ItemCode).ConfigureAwait(false); + unplannedIssueRequestDetail.Uom = itemBasicDto.BasicUom; + } + } + + return await base.CreateManyAsync(entities).ConfigureAwait(false); + } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestManager.cs index 83d8b2fe3..3904b6435 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestManager.cs @@ -1,20 +1,26 @@ using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; +using Volo.Abp; +using Win_in.Sfs.Basedata.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Domain; public class UnplannedReceiptRequestManager : SfsStoreRequestManagerBase, IUnplannedReceiptRequestManager { - public readonly IUnplannedReceiptRequestRepository _repository; + private readonly IUnplannedReceiptRequestRepository _repository; + private readonly IDictAppService _dictAppService; + private readonly IItemBasicAppService _itemBasicAppService; //public readonly _repository; //public readonly IUnplannedReceiptRequestRepository _repository; public UnplannedReceiptRequestManager( - IUnplannedReceiptRequestRepository repository - ) : base(repository) + IUnplannedReceiptRequestRepository repository, IDictAppService dictAppService, IItemBasicAppService itemBasicAppService) : base(repository) { _repository = repository; + _dictAppService = dictAppService; + _itemBasicAppService = itemBasicAppService; } /// @@ -30,4 +36,25 @@ public class UnplannedReceiptRequestManager : SfsStoreRequestManagerBase> CreateManyAsync(List entities) + { + var dictDto= await _dictAppService.GetByCodeAsync("CaseCode").ConfigureAwait(false); + + foreach (var entity in entities) + { + foreach (var unplannedReceiptRequestDetail in entity.Details) + { + var flag= dictDto.Items.ToList().FirstOrDefault(p => p.Value == unplannedReceiptRequestDetail.CaseCode); + if (flag == null) + { + throw new UserFriendlyException($"【{unplannedReceiptRequestDetail.CaseCode}】专案不存在"); + } + + var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(unplannedReceiptRequestDetail.ItemCode).ConfigureAwait(false); + unplannedReceiptRequestDetail.Uom = itemBasicDto.BasicUom; + } + } + + return await base.CreateManyAsync(entities).ConfigureAwait(false); + } }