diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/UnplannedReceiptNotes/UnplannedReceiptNoteAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/UnplannedReceiptNotes/UnplannedReceiptNoteAutoMapperProfile.cs index 1880e6110..0733dd99a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/UnplannedReceiptNotes/UnplannedReceiptNoteAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/UnplannedReceiptNotes/UnplannedReceiptNoteAutoMapperProfile.cs @@ -21,5 +21,14 @@ public partial class StoreApplicationAutoMapperProfile : Profile .Ignore(x => x.TenantId) .Ignore(x => x.Number) .Ignore(x => x.Id); + + CreateMap() + .IgnoreAuditedObjectProperties() + .Ignore(x => x.TenantId) + .Ignore(x => x.Number) + .Ignore(x => x.Id) + .Ignore(x => x.Remark) + .Ignore(x => x.ExtraProperties) + ; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs index a55992254..630967205 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs @@ -20,16 +20,189 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA { private readonly IDepartmentAppService _departmentApp; private readonly IUnplannedIssueRequestManager _unplannedIssueRequestManager; + private readonly IBalanceAppService _balanceAppService; + private readonly IDepartmentAppService _departmentAppService; public UnplannedIssueRequestForDongyangAppService(IUnplannedIssueRequestRepository repository, IUnplannedIssueRequestManager unplannedIssueRequestManager, - IDepartmentAppService departmentApp - ) : base(repository, unplannedIssueRequestManager) + IDepartmentAppService departmentApp, IBalanceAppService balanceAppService, IDepartmentAppService departmentAppService) : base(repository, unplannedIssueRequestManager) { _unplannedIssueRequestManager = unplannedIssueRequestManager; _departmentApp = departmentApp; + _balanceAppService = balanceAppService; + _departmentAppService = departmentAppService; } + /// + /// 用来重写 导入数据时可以加工数据 + /// + /// + /// + protected override async Task> ImportProcessingEntityAsync(Dictionary dictionary) + { + var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key); + + foreach (var unplannedIssueRequest in addList) + { + unplannedIssueRequest.Worker = CurrentUser.GetUserName(); + unplannedIssueRequest.CreatorId = CurrentUser.Id; + + await SetRequestAutoPropertiesAsync(unplannedIssueRequest).ConfigureAwait(false); + await SetEntityPropertiesAsync(unplannedIssueRequest).ConfigureAwait(false); + + foreach (var detail in unplannedIssueRequest.Details) + { + await SetDetailPropertiesAsync(detail).ConfigureAwait(false); + } + } + + return dictionary; + } + + #region 赋值 + + /// + /// 赋值详情 + /// + /// + /// + private async Task SetDetailPropertiesAsync(UnplannedIssueRequestDetail detail) + { + var itemBasic = await ItemBasicAclService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); + + if (itemBasic != null) + { + detail.ItemCode = itemBasic.Code; + detail.ItemName = itemBasic.Name; + detail.ItemDesc1 = itemBasic.Desc1; + detail.ItemDesc2 = itemBasic.Desc2; + + detail.StdPackQty = itemBasic.StdPackQty; + detail.Uom = itemBasic.BasicUom; + } + + var location = await LocationAclService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false); + + if (location != null) + { + detail.WarehouseCode = location.WarehouseCode; + detail.LocationErpCode = location.ErpLocationCode; + detail.LocationGroup = location.LocationGroupCode; + detail.LocationArea = location.AreaCode; + detail.LocationCode = location.Code; + } + + var balance = await _balanceAppService.GetByItemLocationAndPackingAsync( + string.Empty, + detail.ItemCode, + detail.LocationCode).ConfigureAwait(false); + + if (balance != null) + { + detail.SupplierBatch = balance.SupplierBatch; + detail.ArriveDate = balance.ArriveDate; + detail.ProduceDate = balance.ProduceDate; + detail.ExpireDate = balance.ExpireDate; + + detail.Lot = balance.Lot; + detail.ContainerCode = balance.ContainerCode; + detail.PackingCode = balance.PackingCode; + detail.Qty = balance.Qty; + detail.Status = balance.Status; + } + + //if (!string.IsNullOrEmpty(detail)) + //{ + // var dict = await DictAppService.GetByCodeAsync(nameof(input.OnceBusiCode)).ConfigureAwait(false); + + // if (dict.Items != null && dict.Items.Count > 0) + // { + // var item = dict.Items.FirstOrDefault(t => t.Code == input.OnceBusiCode); + + // Check.NotNull(item, "次交易码", "次交易码不存在"); + + // detail.SetProperty("OnceBusiCode", item.Code); + // detail.SetProperty("OnceBusiName", item.Name); + // } + //} + + //if (!string.IsNullOrEmpty(input.CaseCode)) + //{ + // var dict = await DictAppService.GetByCodeAsync(nameof(input.CaseCode)).ConfigureAwait(false); + + // if (dict.Items != null && dict.Items.Count > 0) + // { + // var item = dict.Items.FirstOrDefault(t => t.Code == input.CaseCode); + + // Check.NotNull(item, "专案代码", "专案代码不存在"); + + // detail.SetProperty("CaseCode", item.Code); + // detail.SetProperty("CaseName", item.Name); + // } + //} + + //if (!string.IsNullOrEmpty(input.ProjCapacityCode)) + //{ + // var dict = await DictAppService.GetByCodeAsync(nameof(input.ProjCapacityCode)).ConfigureAwait(false); + + // if (dict.Items != null && dict.Items.Count > 0) + // { + // var item = dict.Items.FirstOrDefault(t => t.Code == input.ProjCapacityCode); + + // Check.NotNull(item, "项目分类代码", "项目分类代码不存在"); + + // detail.SetProperty("ProjCapacityCode", item.Code); + // detail.SetProperty("ProjCapacityName", item.Name); + // } + //} + } + + /// + /// 赋值主记录 + /// + /// + /// + private async Task SetEntityPropertiesAsync(UnplannedIssueRequest entity) + { + var userName = CurrentUser.GetUserName(); + + var department = await _departmentAppService.GetByUsernameAsync(userName).ConfigureAwait(false); + + if (department != null) + { + entity.DeptCode = department.Code; + entity.DeptName = department.Name; + } + + entity.Worker = userName; + + entity.BuildDate = DateTime.Now; + + await SetRequestAutoPropertiesAsync(entity).ConfigureAwait(false); + } + + /// + /// 赋值业务事务 + /// + /// + /// + private async Task SetRequestAutoPropertiesAsync(UnplannedIssueRequest entity) + { + var tranType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.UnplannedIssue, EnumTransSubType.None).ConfigureAwait(false); + + Check.NotNull(tranType, "事务类型", "事务类型不存在"); + + entity.AutoCompleteJob = tranType.AutoCompleteJob; + entity.AutoSubmit = tranType.AutoSubmitRequest; + entity.AutoAgree = tranType.AutoAgreeRequest; + entity.AutoHandle = tranType.AutoHandleRequest; + entity.DirectCreateNote = tranType.DirectCreateNote; + } + + #endregion + + #region 校验 + protected async Task CheckBalanceAsync(UnplannedIssueRequestImportInput importInput, List validationRresult) { var balance = await BalanceAclService.GetByItemLocationAndPackingAsync( @@ -155,127 +328,5 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA } } - protected override Func GetEntityExpression() - { - return p => (1); - } - - protected override async Task ValidateImportEntityAsync(UnplannedIssueRequestImportInput input, UnplannedIssueRequest entity, List validationRresult) - { - foreach (var detail in entity.Details) - { - var itemBasic = await ItemBasicAclService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); - - if (itemBasic != null) - { - detail.ItemName = itemBasic.Name; - detail.ItemDesc1 = itemBasic.Desc1; - detail.ItemDesc2 = itemBasic.Desc2; - detail.StdPackQty = itemBasic.StdPackQty; - } - - var location = await LocationAclService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false); - - if (location != null) - { - detail.LocationErpCode = location.ErpLocationCode; - detail.WarehouseCode = location.WarehouseCode; - } - - // var balance = await this._balanceApp.GetByPackingCodeAsync(input.PackingCode); - - var balance = await BalanceAclService.GetByItemLocationAndPackingAsync( - string.Empty, - input.ItemCode, - input.LocationCode).ConfigureAwait(false); - - if (balance != null) - { - detail.SupplierBatch = balance.SupplierBatch; - detail.ArriveDate = balance.ArriveDate; - detail.ProduceDate = balance.ProduceDate; - detail.ExpireDate = balance.ExpireDate; - detail.Lot = balance.Lot; - detail.ContainerCode = balance.ContainerCode; - detail.PackingCode = balance.PackingCode; - detail.Qty = input.Qty; - detail.Status = balance.Status; - } - - if (!string.IsNullOrEmpty(input.OnceBusiCode)) - { - var dict = await DictAppService.GetByCodeAsync(nameof(input.OnceBusiCode)).ConfigureAwait(false); - - if (dict.Items != null && dict.Items.Count > 0) - { - var item = dict.Items.FirstOrDefault(t => t.Code == input.OnceBusiCode); - - Check.NotNull(item, "次交易码", "次交易码不存在"); - - detail.SetProperty("OnceBusiCode", item.Code); - detail.SetProperty("OnceBusiName", item.Name); - } - } - - if (!string.IsNullOrEmpty(input.CaseCode)) - { - var dict = await DictAppService.GetByCodeAsync(nameof(input.CaseCode)).ConfigureAwait(false); - - if (dict.Items != null && dict.Items.Count > 0) - { - var item = dict.Items.FirstOrDefault(t => t.Code == input.CaseCode); - - Check.NotNull(item, "专案代码", "专案代码不存在"); - - detail.SetProperty("CaseCode", item.Code); - detail.SetProperty("CaseName", item.Name); - } - } - - if (!string.IsNullOrEmpty(input.ProjCapacityCode)) - { - var dict = await DictAppService.GetByCodeAsync(nameof(input.ProjCapacityCode)).ConfigureAwait(false); - - if (dict.Items != null && dict.Items.Count > 0) - { - var item = dict.Items.FirstOrDefault(t => t.Code == input.ProjCapacityCode); - - Check.NotNull(item, "项目分类代码", "项目分类代码不存在"); - - detail.SetProperty("ProjCapacityCode", item.Code); - detail.SetProperty("ProjCapacityName", item.Name); - } - } - } - } - - protected override async Task ValidateImportEntities(Dictionary dicts) - { - foreach (var entity in dicts.Keys) - { - var userName = CurrentUser.GetUserName(); - - var department = await _departmentApp.GetByUsernameAsync(userName).ConfigureAwait(false); - - if (department != null) - { - entity.DeptCode = department.Code; - entity.DeptName = department.Name; - } - - entity.Worker = userName; - - entity.BuildDate = DateTime.Now; - var tranType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.UnplannedIssue, EnumTransSubType.None).ConfigureAwait(false); - - Check.NotNull(tranType, "事务类型", "事务类型不存在"); - - entity.AutoCompleteJob = tranType.AutoCompleteJob; - entity.AutoSubmit = tranType.AutoSubmitRequest; - entity.AutoAgree = tranType.AutoAgreeRequest; - entity.AutoHandle = tranType.AutoHandleRequest; - entity.DirectCreateNote = tranType.DirectCreateNote; - } - return await base.ValidateImportEntities(dicts).ConfigureAwait(false); - } + #endregion } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAutoMapperProfile.cs index d48b11807..078029270 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAutoMapperProfile.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAutoMapperProfile.cs @@ -59,6 +59,7 @@ public partial class StoreApplicationAutoMapperProfile : Profile .Ignore(x => x.ContainerCode) .Ignore(x => x.Lot) .Ignore(x => x.Status) - .Ignore(x => x.Number); + .Ignore(x => x.Number) + ; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs index e69792f7b..b4e3d4656 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; - +using Microsoft.EntityFrameworkCore; using Volo.Abp; using Volo.Abp.Data; using Win_in.Sfs.Auth.Application.Contracts; @@ -29,75 +29,160 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ _departmentApp = departmentApp; } - protected virtual async Task<(List entites, List deleteEntities)> BuildImportDataAsync(ImportResult importResult, EnumImportMethod importMethod = EnumImportMethod.Update, bool isAllowPartImport = false) + /// + /// 用来重写 导入数据时可以加工数据 + /// + /// + /// + protected override async Task> ImportProcessingEntityAsync(Dictionary dictionary) { - if (importResult.Data.Any(t => t.ReportStatus == EnumImportReportStatus.Failed)) + var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key); + + foreach (var unplannedIssueRequest in addList) { - if (!isAllowPartImport) + unplannedIssueRequest.Worker = CurrentUser.GetUserName(); + unplannedIssueRequest.CreatorId = CurrentUser.Id; + + await SetRequestAutoPropertiesAsync(unplannedIssueRequest).ConfigureAwait(false); + await SetEntityPropertiesAsync(unplannedIssueRequest).ConfigureAwait(false); + + foreach (var detail in unplannedIssueRequest.Details) { - return (null, null); + await SetDetailPropertiesAsync(detail).ConfigureAwait(false); } } - var entites = new List(); + return dictionary; + } - var details = new List(); + #region 赋值 - var deleteEntites = new List(); + /// + /// 赋值详情 + /// + /// + /// + private async Task SetDetailPropertiesAsync(UnplannedReceiptRequestDetail detail) + { + var itemBasic = await ItemBasicAclService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); - var entityExpression = GetEntityExpression(); + if (itemBasic != null) + { + detail.ItemName = itemBasic.Name; + detail.ItemDesc1 = itemBasic.Desc1; + detail.ItemDesc2 = itemBasic.Desc2; + detail.StdPackQty = itemBasic.StdPackQty; + detail.Uom = itemBasic.BasicUom; + } - var groupList = importResult.Data.ToList().GroupBy(entityExpression).Distinct().ToList(); + var location = await LocationAclService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false); - foreach (var group in groupList) + if (location != null) { - var input = group.FirstOrDefault(); + detail.LocationErpCode = location.ErpLocationCode; + detail.WarehouseCode = location.WarehouseCode; + detail.LocationArea = location.AreaCode; + detail.LocationGroup = location.LocationGroupCode; + } - var inputDetails = group.ToList(); + detail.Lot = string.Empty; + detail.ContainerCode = string.Empty; + detail.PackingCode = string.Empty; + detail.Status = EnumInventoryStatus.OK; - if (!inputDetails.Any(t => t.ReportStatus == EnumImportReportStatus.Failed)) - { - var exist = await GetEntityAsync(input).ConfigureAwait(false); + //if (!string.IsNullOrEmpty(detail.OnceBusiCode)) + //{ + // var dict = await DictAclService.GetByCodeAsync(nameof(input.OnceBusiCode)).ConfigureAwait(false); - var entity = ObjectMapper.Map(input); + // if (dict.Items != null && dict.Items.Count > 0) + // { + // var item = dict.Items.FirstOrDefault(t => t.Code == input.OnceBusiCode); - await SetEntityPropertiesAsync(entity, input).ConfigureAwait(false); + // Check.NotNull(item, "次交易码", "次交易码不存在"); - switch (importMethod) - { - case EnumImportMethod.Update: - if (exist != null) - { - entity.SetId(exist.Id); - } - break; - - case EnumImportMethod.Replace: - if (exist != null) - { - deleteEntites.Add(exist); - } - break; - } + // detail.SetProperty("OnceBusiCode", item.Code); + // detail.SetProperty("OnceBusiName", item.Name); + // } + //} - foreach (var inputDetail in inputDetails) - { - var detail = ObjectMapper.Map(inputDetail); + //if (!string.IsNullOrEmpty(input.CaseCode)) + //{ + // var dict = await DictAclService.GetByCodeAsync(nameof(input.CaseCode)).ConfigureAwait(false); - detail.SetIdAndNumber(GuidGenerator, entity.Id, entity.Number); + // if (dict.Items != null && dict.Items.Count > 0) + // { + // var item = dict.Items.FirstOrDefault(t => t.Code == input.CaseCode); - await SetDetailPropertiesAsync(detail, inputDetail).ConfigureAwait(false); - entity.AddDetail(detail); - } + // Check.NotNull(item, "专案代码", "专案代码不存在"); - entites.Add(entity); - } + // detail.SetProperty("CaseCode", item.Code); + // detail.SetProperty("CaseName", item.Name); + // } + //} + + //if (!string.IsNullOrEmpty(input.ProjCapacityCode)) + //{ + // var dict = await DictAclService.GetByCodeAsync(nameof(input.ProjCapacityCode)).ConfigureAwait(false); + + // if (dict.Items != null && dict.Items.Count > 0) + // { + // var item = dict.Items.FirstOrDefault(t => t.Code == input.ProjCapacityCode); + + // Check.NotNull(item, "项目分类代码", "项目分类代码不存在"); + + // detail.SetProperty("ProjCapacityCode", item.Code); + // detail.SetProperty("ProjCapacityName", item.Name); + // } + //} + } + + /// + /// 赋值主记录 + /// + /// + /// + private async Task SetEntityPropertiesAsync(UnplannedReceiptRequest entity) + { + var userName = CurrentUser.GetUserName(); + + var department = await _departmentApp.GetByUsernameAsync(userName).ConfigureAwait(false); + + if (department != null) + { + entity.DeptCode = department.Code; + entity.DeptName = department.Name; } - return (entites, deleteEntites); + entity.Worker = userName; + + entity.BuildDate = DateTime.Now; + + await SetRequestAutoPropertiesAsync(entity).ConfigureAwait(false); } - protected async Task CheckBalanceAsync(UnplannedReceiptRequestImportInput importInput, List validationRresult) + /// + /// 赋值业务事务 + /// + /// + /// + private async Task SetRequestAutoPropertiesAsync(UnplannedReceiptRequest entity) + { + var tranType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.UnplannedReceipt, EnumTransSubType.None).ConfigureAwait(false); + + Check.NotNull(tranType, "事务类型", "事务类型不存在"); + + entity.AutoCompleteJob = tranType.AutoCompleteJob; + entity.AutoSubmit = tranType.AutoSubmitRequest; + entity.AutoAgree = tranType.AutoAgreeRequest; + entity.AutoHandle = tranType.AutoHandleRequest; + entity.DirectCreateNote = tranType.DirectCreateNote; + } + + #endregion + + #region 校验 + + protected virtual async Task CheckBalanceAsync(UnplannedReceiptRequestImportInput importInput, List validationRresult) { var balance = await BalanceAclService.GetByItemLocationAndPackingAsync( string.Empty, @@ -118,7 +203,7 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ return balance; } - protected async Task CheckCaseCodeAsync(UnplannedReceiptRequestImportInput importInput, List validationRresult) + protected virtual async Task CheckCaseCodeAsync(UnplannedReceiptRequestImportInput importInput, List validationRresult) { if (!string.IsNullOrEmpty(importInput.CaseCode)) { @@ -161,7 +246,7 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ //} } - protected async Task CheckItemBasicAsync(UnplannedReceiptRequestImportInput importInput, List validationRresult) + protected virtual async Task CheckItemBasicAsync(UnplannedReceiptRequestImportInput importInput, List validationRresult) { var item = await ItemBasicAclService.GetByCodeAsync(importInput.ItemCode).ConfigureAwait(false); if (item == null) @@ -176,7 +261,7 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ return item; } - protected async Task CheckLocationAsync(string locationCode, List validationRresult) + protected virtual async Task CheckLocationAsync(string locationCode, List validationRresult) { var location = await LocationAclService.GetByCodeAsync(locationCode).ConfigureAwait(false); if (location == null) @@ -186,7 +271,7 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ return location; } - protected async Task CheckOnceBusiCodeAsync(UnplannedReceiptRequestImportInput importInput, List validationRresult) + protected virtual async Task CheckOnceBusiCodeAsync(UnplannedReceiptRequestImportInput importInput, List validationRresult) { if (!string.IsNullOrEmpty(importInput.OnceBusiCode)) { @@ -208,7 +293,8 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ } } } - protected async Task CheckProjCapacityCodeAsync(UnplannedReceiptRequestImportInput importInput, List validationRresult) + + protected virtual async Task CheckProjCapacityCodeAsync(UnplannedReceiptRequestImportInput importInput, List validationRresult) { var dict = await DictAclService.GetByCodeAsync(nameof(importInput.ProjCapacityCode)).ConfigureAwait(false); if (dict == null) @@ -227,7 +313,8 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ } } } - protected async Task CheckTransactionTypeAsync(EnumTransType enumTransType, List validationRresult) + + protected virtual async Task CheckTransactionTypeAsync(EnumTransType enumTransType, List validationRresult) { var transactionType = await TransactionTypeAclService.GetByTransTypeAsync(enumTransType, EnumTransSubType.None).ConfigureAwait(false); if (transactionType == null) @@ -237,116 +324,5 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ return transactionType; } - protected override Func GetEntityExpression() - { - return p => (1); - } - - protected virtual async Task ImportDataAsync(List entites, List deleteEntities) - { - await _unplannedReceiptRequestManager.ImportDataAsync(entites, deleteEntities).ConfigureAwait(false); - } - private async Task SetDetailPropertiesAsync(UnplannedReceiptRequestDetail detail, UnplannedReceiptRequestImportInput input) - { - var itemBasic = await ItemBasicAclService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); - - if (itemBasic != null) - { - detail.ItemName = itemBasic.Name; - detail.ItemDesc1 = itemBasic.Desc1; - detail.ItemDesc2 = itemBasic.Desc2; - detail.StdPackQty = itemBasic.StdPackQty; - } - - var location = await LocationAclService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false); - - if (location != null) - { - detail.LocationErpCode = location.ErpLocationCode; - detail.WarehouseCode = location.WarehouseCode; - detail.Lot = string.Empty; - detail.ContainerCode = string.Empty; - } - - detail.PackingCode = string.Empty; - - detail.Status = EnumInventoryStatus.OK; - - if (!string.IsNullOrEmpty(input.OnceBusiCode)) - { - var dict = await DictAclService.GetByCodeAsync(nameof(input.OnceBusiCode)).ConfigureAwait(false); - - if (dict.Items != null && dict.Items.Count > 0) - { - var item = dict.Items.FirstOrDefault(t => t.Code == input.OnceBusiCode); - - Check.NotNull(item, "次交易码", "次交易码不存在"); - - detail.SetProperty("OnceBusiCode", item.Code); - detail.SetProperty("OnceBusiName", item.Name); - } - } - - if (!string.IsNullOrEmpty(input.CaseCode)) - { - var dict = await DictAclService.GetByCodeAsync(nameof(input.CaseCode)).ConfigureAwait(false); - - if (dict.Items != null && dict.Items.Count > 0) - { - var item = dict.Items.FirstOrDefault(t => t.Code == input.CaseCode); - - Check.NotNull(item, "专案代码", "专案代码不存在"); - - detail.SetProperty("CaseCode", item.Code); - detail.SetProperty("CaseName", item.Name); - } - } - - if (!string.IsNullOrEmpty(input.ProjCapacityCode)) - { - var dict = await DictAclService.GetByCodeAsync(nameof(input.ProjCapacityCode)).ConfigureAwait(false); - - if (dict.Items != null && dict.Items.Count > 0) - { - var item = dict.Items.FirstOrDefault(t => t.Code == input.ProjCapacityCode); - - Check.NotNull(item, "项目分类代码", "项目分类代码不存在"); - - detail.SetProperty("ProjCapacityCode", item.Code); - detail.SetProperty("ProjCapacityName", item.Name); - } - } - } - - private async Task SetEntityPropertiesAsync(UnplannedReceiptRequest entity, UnplannedReceiptRequestImportInput input) - { - var userName = CurrentUser.GetUserName(); - - var department = await _departmentApp.GetByUsernameAsync(userName).ConfigureAwait(false); - - if (department != null) - { - entity.DeptCode = department.Code; - entity.DeptName = department.Name; - } - - entity.Worker = userName; - - entity.BuildDate = DateTime.Now; - - await SetRequestAutoPropertiesAsync(entity).ConfigureAwait(false); - } - - private async Task SetRequestAutoPropertiesAsync(UnplannedReceiptRequest entity) - { - var tranType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.UnplannedReceipt, EnumTransSubType.None).ConfigureAwait(false); - - Check.NotNull(tranType, "事务类型", "事务类型不存在"); - - entity.AutoCompleteJob = tranType.AutoCompleteJob; - entity.AutoSubmit = tranType.AutoSubmitRequest; - entity.AutoAgree = tranType.AutoAgreeRequest; - entity.AutoHandle = tranType.AutoHandleRequest; - entity.DirectCreateNote = tranType.DirectCreateNote; - } + #endregion } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs index a48c1c1cb..f0c42a09b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Plans/CountPlans/CountPlanManager.cs @@ -219,6 +219,7 @@ public class CountPlanManager : SfsStoreRequestManagerBase