From f0772501b19f66834bc0fed278af7f9eebb39d8d Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Thu, 13 Apr 2023 15:11:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Plans/IPlanRepository.cs | 6 + .../Plans/PlanManager.cs | 5 +- .../Plans/PlanEfCoreRepository.cs | 27 ++++ .../EosAgentModule.cs | 4 +- .../FawtygAutoMapperProfile.cs | 8 ++ .../Incoming/EosIncomingBackgroundWorker.cs | 28 ++--- .../Incoming/ProductConverter.cs | 1 + .../Incoming/ShipReader.cs | 3 +- .../Incoming/IssueConverter.cs | 8 +- .../Incoming/MesOutConverter.cs | 7 +- .../Incoming/PullTaskConverter.cs | 7 +- .../Incoming/ScrapConverter.cs | 9 +- .../Incoming/BackFluConverter.cs | 6 + .../Incoming/BomConverter.cs | 8 +- .../Incoming/CustomerConverter.cs | 8 ++ .../Incoming/DepartmentConverter.cs | 7 +- .../Incoming/DictConverter.cs | 7 +- .../Incoming/DictpjReader.cs | 5 + .../Incoming/InterfaceCalendarConverter.cs | 7 +- .../Incoming/ItemBasicConverter.cs | 7 +- .../Incoming/SupplierConverter.cs | 7 +- .../Incoming/TyrpIncomingBackgroundWorker.cs | 118 +++++++++--------- .../Incoming/UserConverter.cs | 7 +- .../Outgoing/TyrpOutgoingBackgroundWorker.cs | 8 +- .../TyrpAgentModule.cs | 2 +- .../AgentModule.cs | 4 +- ...IArchivedIncomingFromExternalRepository.cs | 3 +- .../IIncomingFromExternalManager.cs | 1 + .../IncomingFromExternalManager.cs | 8 ++ .../Repositories/ISfsBulkRepositoryBase.cs | 1 + .../SfsEfCoreRepositoryBase.cs | 18 +++ 31 files changed, 244 insertions(+), 101 deletions(-) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/IPlanRepository.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/IPlanRepository.cs index 9ae8c6722..07a12a26e 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/IPlanRepository.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/IPlanRepository.cs @@ -1,7 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using EFCore.BulkExtensions; using Volo.Abp.Domain.Repositories; namespace Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS; public interface IPlanRepository : IRepository { + Task BulkUpdateAsync(IList entities, BulkConfig bulkConfig = null, Action progress = null, Type type = null, CancellationToken cancellationToken = default); } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/PlanManager.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/PlanManager.cs index 5218f8d7f..eaceb8c69 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/PlanManager.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/PlanManager.cs @@ -1,6 +1,8 @@ +using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Services; namespace Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS; @@ -16,6 +18,7 @@ public class PlanManager : DomainService, IPlanManager public virtual async Task> GetToBeProcessedListAsync() { var plans = await _repository.GetListAsync(p => p.WmsState == 0).ConfigureAwait(false); + return plans; } @@ -29,6 +32,6 @@ public class PlanManager : DomainService, IPlanManager p.WmsState = 1; p.WmsDate = Clock.Now; }); - await _repository.UpdateManyAsync(plans).ConfigureAwait(false); + await _repository.BulkUpdateAsync(plans).ConfigureAwait(false); } } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos/Plans/PlanEfCoreRepository.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos/Plans/PlanEfCoreRepository.cs index bf94069f8..1de1f27a4 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos/Plans/PlanEfCoreRepository.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos/Plans/PlanEfCoreRepository.cs @@ -1,5 +1,12 @@ +using EFCore.BulkExtensions; +using Microsoft.EntityFrameworkCore; +using System.Collections.Generic; +using System.Threading.Tasks; +using System.Threading; +using System; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; +using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS; namespace Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos.EOS; @@ -9,5 +16,25 @@ public class PlanEfCoreRepository : EfCoreRepository dbContextProvider) : base(dbContextProvider) { + + } + + /// + /// 批量更新数据 + /// + /// + /// + /// + /// + /// + /// + public virtual async Task BulkUpdateAsync(IList entities, BulkConfig bulkConfig = null, Action progress = null, Type type = null, CancellationToken cancellationToken = default(CancellationToken)) + { + var context = (await GetDbContextAsync().ConfigureAwait(false)) as DbContext; + + if (entities != null && entities.Count > 0) + { + await context.BulkUpdateAsync(entities, bulkConfig, progress, type, cancellationToken).ConfigureAwait(false); + } } } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs index 6dc625d8e..86d84862a 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs @@ -165,8 +165,8 @@ public class EosAgentModule : AbpModule ApplicationInitializationContext context) { - //context.AddBackgroundWorkerAsync(); - context.AddBackgroundWorkerAsync(); + context.AddBackgroundWorkerAsync(); + // context.AddBackgroundWorkerAsync(); } } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/FawtygAutoMapperProfile.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/FawtygAutoMapperProfile.cs index e8d82e3fa..5cdb32ef2 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/FawtygAutoMapperProfile.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/FawtygAutoMapperProfile.cs @@ -1,6 +1,7 @@ using AutoMapper; using Volo.Abp.AutoMapper; using Win_in.Sfs.Basedata.Application.Contracts; +using Win_in.Sfs.Basedata.Domain; using Win_in.Sfs.Label.Application.Contracts; using Win_in.Sfs.Label.Domain.Shared; using Win_in.Sfs.Wms.DataExchange.Domain; @@ -102,5 +103,12 @@ public class FawtygAutoMapperProfile : Profile .ForMember(x => x.Version, y => y.MapFrom(d => d.Remark)) .ForMember(x => x.SupplierPackQty, y => y.MapFrom(d => d.PackQty)) .ForMember(x => x.SupplierPackUom, y => y.MapFrom(d => d.PackUom)); + + + CreateMap() + .IgnoreAuditedObjectProperties() + //.ForMember(x => x.SupplierPackQty, y => y.MapFrom(d => new UomQty(d.SupplierPackUom, d.SupplierPackQty))) + .Ignore(x => x.ConcurrencyStamp) + .Ignore(x => x.Id); } } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/EosIncomingBackgroundWorker.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/EosIncomingBackgroundWorker.cs index acb6851bf..fb385c471 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/EosIncomingBackgroundWorker.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/EosIncomingBackgroundWorker.cs @@ -43,21 +43,21 @@ public class EosIncomingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase //转换Plan await planConverter.ConvertAsync(plansFromExternalList).ConfigureAwait(false); - Logger.LogInformation($"Read Ship"); - var shipHandleService = workerContext.ServiceProvider.GetRequiredService(); - var shipConverter = workerContext.ServiceProvider.GetRequiredService(); - //读取并保持Ship - var shipsFromExternalList = await shipHandleService.ReadAsync().ConfigureAwait(false); - //转换Ship - await shipConverter.ConvertAsync(shipsFromExternalList).ConfigureAwait(false); + // Logger.LogInformation($"Read Ship"); + // var shipHandleService = workerContext.ServiceProvider.GetRequiredService(); + // var shipConverter = workerContext.ServiceProvider.GetRequiredService(); + // //读取并保持Ship + // var shipsFromExternalList = await shipHandleService.ReadAsync().ConfigureAwait(false); + // //转换Ship + // await shipConverter.ConvertAsync(shipsFromExternalList).ConfigureAwait(false); - Logger.LogInformation($"Read Product"); - var productHandleService = workerContext.ServiceProvider.GetRequiredService(); - var productConverter = workerContext.ServiceProvider.GetRequiredService(); - //读取并保持Product - var productsFromExternalList = await productHandleService.ReadAsync().ConfigureAwait(false); - //转换Product - await productConverter.ConvertAsync(productsFromExternalList).ConfigureAwait(false); + // Logger.LogInformation($"Read Product"); + // var productHandleService = workerContext.ServiceProvider.GetRequiredService(); + // var productConverter = workerContext.ServiceProvider.GetRequiredService(); + // //读取并保持Product + // var productsFromExternalList = await productHandleService.ReadAsync().ConfigureAwait(false); + //// 转换Product + // await productConverter.ConvertAsync(productsFromExternalList).ConfigureAwait(false); Logger.LogInformation($"Completed: Handling {Incoming}"); } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ProductConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ProductConverter.cs index 945ffc6a1..3b4079e6f 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ProductConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ProductConverter.cs @@ -7,6 +7,7 @@ using Microsoft.Extensions.Logging; using Volo.Abp.Guids; using Volo.Abp.ObjectMapping; using Win_in.Sfs.Basedata.Application.Contracts; +using Win_in.Sfs.Basedata.Domain; using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.Domain.Shared; using Win_in.Sfs.Wms.DataExchange.WMS.ItemPack; diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ShipReader.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ShipReader.cs index 08f4dcb13..2d022b184 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ShipReader.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ShipReader.cs @@ -32,8 +32,7 @@ public class ShipReader : IReader public virtual async Task> ReadAsync() { //从EOS读取待处理Ship - var aa = await _shipManager.GetToBeProcessedListAsync().ConfigureAwait(false); - var toBeProcessedShips = aa.Take(5).ToList(); + var toBeProcessedShips = await _shipManager.GetToBeProcessedListAsync().ConfigureAwait(false); if (!toBeProcessedShips.Any()) { _logger.LogInformation("no ships"); diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/IssueConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/IssueConverter.cs index 12c1a7db1..0dc01d766 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/IssueConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/IssueConverter.cs @@ -14,6 +14,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.Incoming; public class IssueConverter : IIncomingConverter { + private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IItemBasicAppService _itemBasicAppService; private readonly IObjectMapper _objectMapper; @@ -25,10 +26,12 @@ public class IssueConverter : IIncomingConverter IItemBasicAppService itemBasicAppService, IObjectMapper objectMapper, ILogger logger, - IConfiguration configuration + IConfiguration configuration, + IIncomingFromExternalManager incomingFromExternalManager ) { + _incomingFromExternalManager = incomingFromExternalManager; _incomingToWmsManager = incomingToWmsManager; _itemBasicAppService = itemBasicAppService; _objectMapper = objectMapper; @@ -44,7 +47,8 @@ public class IssueConverter : IIncomingConverter } var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false); - + //归档 + await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfPurchaseOrderAsync(List incomingDataList) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs index 42bd7e5c8..ea92dcf1d 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs @@ -16,6 +16,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent; public class MesOutConverter : IIncomingConverter { + private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IObjectMapper _objectMapper; private readonly IItemBasicAppService _itemBasicAppService; @@ -29,7 +30,8 @@ public class MesOutConverter : IIncomingConverter , IItemBasicAppService itemBasicAppService , ILogger logger, IConfiguration configuration, - ILocationAppService locationAppService) + ILocationAppService locationAppService, + IIncomingFromExternalManager incomingFromExternalManager) { _incomingToWmsManager = incomingToWmsManager; _objectMapper = objectMapper; @@ -37,6 +39,7 @@ public class MesOutConverter : IIncomingConverter _logger = logger; _configuration = configuration; _locationAppService = locationAppService; + _incomingFromExternalManager = incomingFromExternalManager; } public virtual async Task ConvertAsync(List incomingFromExternalList) @@ -49,6 +52,8 @@ public class MesOutConverter : IIncomingConverter var productReceiptNoteList = await BuildIncomingToWmsOfProductReceiptNoteAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(productReceiptNoteList).ConfigureAwait(false); + //归档 + await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfProductReceiptNoteAsync(List incomingDataList) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/PullTaskConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/PullTaskConverter.cs index 46c86ae65..9c452e010 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/PullTaskConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/PullTaskConverter.cs @@ -16,6 +16,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.Incoming; public class PullTaskConverter : IIncomingConverter { + private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IObjectMapper _objectMapper; private readonly IItemBasicAppService _itemBasicAppService; @@ -27,13 +28,15 @@ public class PullTaskConverter : IIncomingConverter , IObjectMapper objectMapper , IItemBasicAppService itemBasicAppService , ILogger logger - , IConfiguration configuration) + , IConfiguration configuration, + IIncomingFromExternalManager incomingFromExternalManager) { _incomingToWmsManager = incomingToWmsManager; _objectMapper = objectMapper; _itemBasicAppService = itemBasicAppService; _logger = logger; _configuration = configuration; + _incomingFromExternalManager = incomingFromExternalManager; } public virtual async Task ConvertAsync(List incomingFromExternalList) @@ -47,6 +50,8 @@ public class PullTaskConverter : IIncomingConverter //按Number合并MaterialRequest单据 var materialRequestList = await BuildIncomingToWmsOfMaterialRequestAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false); + //归档 + await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfMaterialRequestAsync(List incomingDataList) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/ScrapConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/ScrapConverter.cs index 7f8b6a911..11d70263a 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/ScrapConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/ScrapConverter.cs @@ -16,6 +16,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.Incoming; public class ScrapConverter : IIncomingConverter { + private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IItemBasicAppService _itemBasicAppService; private readonly IObjectMapper _objectMapper; @@ -27,6 +28,10 @@ public class ScrapConverter : IIncomingConverter IObjectMapper objectMapper, ILogger logger, IConfiguration configuration +, + IIncomingFromExternalManager incomingFromExternalManager + + ) { @@ -35,6 +40,7 @@ public class ScrapConverter : IIncomingConverter _objectMapper = objectMapper; _logger = logger; _configuration = configuration; + _incomingFromExternalManager = incomingFromExternalManager; } public virtual async Task ConvertAsync(List incomingFromExternalList) { @@ -46,7 +52,8 @@ public class ScrapConverter : IIncomingConverter //按PlanBillNo合并PurchaseOrder var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false); - + //归档 + await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfPurchaseOrderAsync(List incomingDataList) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluConverter.cs index 672cc23e2..8565defb2 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluConverter.cs @@ -13,6 +13,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Incoming; public class BackFluConverter : IIncomingConverter { + private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IItemBasicAppService _itemBasicAppService; private readonly IObjectMapper _objectMapper; @@ -22,6 +23,8 @@ public class BackFluConverter : IIncomingConverter IItemBasicAppService itemBasicAppService, IObjectMapper objectMapper, ILogger logger +, + IIncomingFromExternalManager incomingFromExternalManager ) { @@ -29,6 +32,7 @@ public class BackFluConverter : IIncomingConverter _itemBasicAppService = itemBasicAppService; _objectMapper = objectMapper; _logger = logger; + _incomingFromExternalManager = incomingFromExternalManager; } public virtual async Task ConvertAsync(List incomingFromExternalList) { @@ -39,6 +43,8 @@ public class BackFluConverter : IIncomingConverter } var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false); + //归档 + await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false); } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BomConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BomConverter.cs index 2c4e75c32..50b34ebde 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BomConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BomConverter.cs @@ -13,6 +13,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Incoming; public class BomConverter : IIncomingConverter { + private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IItemBasicAppService _itemBasicAppService; private readonly IObjectMapper _objectMapper; @@ -25,7 +26,8 @@ public class BomConverter : IIncomingConverter IObjectMapper objectMapper, ILogger logger, IGuidGenerator guidGenerator, - IConfiguration configuration) + IConfiguration configuration, + IIncomingFromExternalManager incomingFromExternalManager) { _incomingToWmsManager = incomingToWmsManager; @@ -34,6 +36,7 @@ public class BomConverter : IIncomingConverter _logger = logger; _guidGenerator = guidGenerator; _configuration = configuration; + _incomingFromExternalManager = incomingFromExternalManager; } public virtual async Task ConvertAsync(List incomingFromExternalList) { @@ -44,7 +47,8 @@ public class BomConverter : IIncomingConverter } var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false); - + //归档 + await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfPurchaseOrderAsync(List incomingDataList) { diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/CustomerConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/CustomerConverter.cs index 4326f80ee..bed551158 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/CustomerConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/CustomerConverter.cs @@ -17,17 +17,23 @@ public class CustomerConverter : IIncomingConverter private readonly IObjectMapper _objectMapper; private readonly ILogger _logger; private readonly IGuidGenerator _guidGenerator; + private readonly IIncomingFromExternalManager _incomingFromExternalManager; + public CustomerConverter( IIncomingToWmsManager incomingToWmsManager, IObjectMapper objectMapper, ILogger logger, IGuidGenerator guidGenerator +, + IIncomingFromExternalManager incomingFromExternalManager + ) { _incomingToWmsManager = incomingToWmsManager; _objectMapper = objectMapper; _logger = logger; _guidGenerator = guidGenerator; + _incomingFromExternalManager = incomingFromExternalManager; } public virtual async Task ConvertAsync(List incomingFromExternalList) { @@ -38,6 +44,8 @@ public class CustomerConverter : IIncomingConverter } var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false); + //归档 + await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfPurchaseOrderAsync(List incomingDataList) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DepartmentConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DepartmentConverter.cs index 519a1fb7d..364680786 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DepartmentConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DepartmentConverter.cs @@ -15,15 +15,18 @@ public class DepartmentConverter : IIncomingConverter private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IObjectMapper _objectMapper; private readonly ILogger _logger; + private readonly IIncomingFromExternalManager _incomingFromExternalManager; public DepartmentConverter( IIncomingToWmsManager incomingToWmsManager , IObjectMapper objectMapper - , ILogger logger) + , ILogger logger, +IIncomingFromExternalManager incomingFromExternalManager) { _incomingToWmsManager = incomingToWmsManager; _objectMapper = objectMapper; _logger = logger; + _incomingFromExternalManager = incomingFromExternalManager; } public virtual async Task ConvertAsync(List incomingFromExternalList) @@ -37,6 +40,8 @@ public class DepartmentConverter : IIncomingConverter //按流水号创建单据 var materialRequestList = await BuildIncomingToWmsOfDepartmentRequestAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false); + //归档 + await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfDepartmentRequestAsync(List incomingDataList) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs index c772be73d..be7906816 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs @@ -17,17 +17,20 @@ public class DictConverter : IIncomingConverter private readonly IObjectMapper _objectMapper; private readonly ILogger _logger; private readonly IGuidGenerator _guidGenerator; + private readonly IIncomingFromExternalManager _incomingFromExternalManager; public DictConverter( IIncomingToWmsManager incomingToWmsManager , IObjectMapper objectMapper , ILogger logger, - IGuidGenerator guidGenerator) + IGuidGenerator guidGenerator, + IIncomingFromExternalManager incomingFromExternalManager) { _guidGenerator = guidGenerator; _incomingToWmsManager = incomingToWmsManager; _objectMapper = objectMapper; _objectMapper = objectMapper; _logger = logger; + _incomingFromExternalManager = incomingFromExternalManager; } public virtual async Task ConvertAsync(List incomingFromExternalList) @@ -41,6 +44,8 @@ public class DictConverter : IIncomingConverter //按流水号创建单据 var materialRequestList = await BuildIncomingToWmsOfDictRequestAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(materialRequestList).ConfigureAwait(false); + //归档 + await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfDictRequestAsync(List incomingDataList) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictpjReader.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictpjReader.cs index 810797292..9065f9ee2 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictpjReader.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictpjReader.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; +using Volo.Abp.Guids; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp; @@ -20,13 +21,16 @@ public class DictpjReader : IReader private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly ILogger _logger; private readonly IConfiguration _configuration; + private readonly IGuidGenerator _guidGenerator; public DictpjReader( IDictpjManager dictpjManager , IIncomingFromExternalManager incomingFromExternalManager , ILogger logger , IConfiguration configuration + , IGuidGenerator guidGenerator ) { + _guidGenerator = guidGenerator; _configuration = configuration; _dictpjManager = dictpjManager; _incomingFromExternalManager = incomingFromExternalManager; @@ -55,6 +59,7 @@ public class DictpjReader : IReader var incomingData = BuildIncomingFromExternal(dict); incomingData.SetEffectiveDate(DateTime.Now); incomingData.SetSuccess(); + incomingData.SetId(_guidGenerator.Create()); try { var DictRequest = BuildDictRequestCreateInput(dict); diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/InterfaceCalendarConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/InterfaceCalendarConverter.cs index 8e76c884c..d1e99dbf7 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/InterfaceCalendarConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/InterfaceCalendarConverter.cs @@ -15,15 +15,18 @@ public class InterfaceCalendarConverter : IIncomingConverter private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IObjectMapper _objectMapper; private readonly ILogger _logger; + private readonly IIncomingFromExternalManager _incomingFromExternalManager; public InterfaceCalendarConverter( IIncomingToWmsManager incomingToWmsManager , IObjectMapper objectMapper - , ILogger logger) + , ILogger logger, + IIncomingFromExternalManager incomingFromExternalManager) { _incomingToWmsManager = incomingToWmsManager; _objectMapper = objectMapper; _logger = logger; + _incomingFromExternalManager = incomingFromExternalManager; } public virtual async Task ConvertAsync(List incomingFromExternalList) @@ -37,6 +40,8 @@ public class InterfaceCalendarConverter : IIncomingConverter //按流水号创建单据 var materialRequestList = await BuildIncomingToWmsOfInterfaceCalendarRequestAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false); + //归档 + await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfInterfaceCalendarRequestAsync(List incomingDataList) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/ItemBasicConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/ItemBasicConverter.cs index 299dca8ca..e489620b7 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/ItemBasicConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/ItemBasicConverter.cs @@ -14,6 +14,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Incoming; public class ItemBasicConverter : IIncomingConverter { + private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IObjectMapper _objectMapper; private readonly ILogger _logger; @@ -25,8 +26,10 @@ public class ItemBasicConverter : IIncomingConverter , IObjectMapper objectMapper , ILogger logger, IGuidGenerator guidGenerator, - IConfiguration configuration) + IConfiguration configuration, + IIncomingFromExternalManager incomingFromExternalManager) { + _incomingFromExternalManager = incomingFromExternalManager; _incomingToWmsManager = incomingToWmsManager; _objectMapper = objectMapper; _logger = logger; @@ -45,6 +48,8 @@ public class ItemBasicConverter : IIncomingConverter //按流水号创建单据 var materialRequestList = await BuildIncomingToWmsOfItemBasicRequestAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(materialRequestList).ConfigureAwait(false); + //归档 + await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList); } private async Task> BuildIncomingToWmsOfItemBasicRequestAsync(List incomingDataList) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/SupplierConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/SupplierConverter.cs index ca1564423..49bbf2cc4 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/SupplierConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/SupplierConverter.cs @@ -17,11 +17,13 @@ public class SupplierConverter : IIncomingConverter private readonly IObjectMapper _objectMapper; private readonly ILogger _logger; private readonly IGuidGenerator _guidGenerator; + private readonly IIncomingFromExternalManager _incomingFromExternalManager; public SupplierConverter( IIncomingToWmsManager incomingToWmsManager, IObjectMapper objectMapper, ILogger logger, - IGuidGenerator guidGenerator + IGuidGenerator guidGenerator, + IIncomingFromExternalManager incomingFromExternalManage ) { @@ -39,7 +41,8 @@ public class SupplierConverter : IIncomingConverter } var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false); - + //归档 + await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfPurchaseOrderAsync(List incomingDataList) { diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/TyrpIncomingBackgroundWorker.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/TyrpIncomingBackgroundWorker.cs index 86e20cdf5..f2b44243d 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/TyrpIncomingBackgroundWorker.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/TyrpIncomingBackgroundWorker.cs @@ -67,65 +67,65 @@ public class TyrpIncomingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase ////转换itemBasic //await itemBasicConverter.ConvertAsync(itemBasicOutsFromExternalList).ConfigureAwait(false); - //Logger.LogInformation($"Read User");//用户和部门 - //var userReader = workerContext.ServiceProvider.GetRequiredService(); - //var userConverter = workerContext.ServiceProvider.GetRequiredService(); - //var departmentConverter = workerContext.ServiceProvider.GetRequiredService(); - ////读取并保存user - //var outsFromExternalList = await userReader.ReadAsync().ConfigureAwait(false); - //var userOutsFromExternalList = outsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.User.ToString()).ToList(); - //var departmentOutsFromExternalList = outsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.Department.ToString()).ToList(); - ////转换user - //await userConverter.ConvertAsync(userOutsFromExternalList).ConfigureAwait(false); - ////转换department - //await departmentConverter.ConvertAsync(departmentOutsFromExternalList).ConfigureAwait(false); - - //Logger.LogInformation($"Read InterfaceCalendar");//账期 - //var interfaceCalendarReader = workerContext.ServiceProvider.GetRequiredService(); - //var interfaceCalendarConverter = workerContext.ServiceProvider.GetRequiredService(); - ////读取并保存InterfaceCalendar - //var interfaceCalendarOutsFromExternalList = await interfaceCalendarReader.ReadAsync().ConfigureAwait(false); - ////转换InterfaceCalendar - //await interfaceCalendarConverter.ConvertAsync(interfaceCalendarOutsFromExternalList).ConfigureAwait(false); - - //Logger.LogInformation($"Read Dict");//系统代码 - //var dictReader = workerContext.ServiceProvider.GetRequiredService(); - //var dictConverter = workerContext.ServiceProvider.GetRequiredService(); - ////读取并保存Dict - //var dictOutsFromExternalList = await dictReader.ReadAsync().ConfigureAwait(false); - ////转换Dict - //await dictConverter.ConvertAsync(dictOutsFromExternalList).ConfigureAwait(false); - - Logger.LogInformation($"Read Bom"); - var BomReader = workerContext.ServiceProvider.GetRequiredService(); - var BomConverter = workerContext.ServiceProvider.GetRequiredService(); - //读取并保存Bom - var bomsFromExternalList = await BomReader.ReadAsync().ConfigureAwait(false); - //转换Bom - await BomConverter.ConvertAsync(bomsFromExternalList).ConfigureAwait(false); - - //Logger.LogInformation($"Read Supplier");//供应商 - //var SupplierReader = workerContext.ServiceProvider.GetRequiredService(); - //var SupplierConverter = workerContext.ServiceProvider.GetRequiredService(); - ////读取并保存Supplier - //var suppliersFromExternalList = await SupplierReader.ReadAsync().ConfigureAwait(false); - ////转换Supplier - //await SupplierConverter.ConvertAsync(suppliersFromExternalList).ConfigureAwait(false); - - //Logger.LogInformation($"Read Dictpj");//专案代码 - //var DictpjReader = workerContext.ServiceProvider.GetRequiredService(); - ////读取并保存Dictpj - //var dictpjOutsFromExternalList = await DictpjReader.ReadAsync().ConfigureAwait(false); - ////转换Dictpj - //await dictConverter.ConvertAsync(dictOutsFromExternalList).ConfigureAwait(false); - - //Logger.LogInformation($"Read Customer");//客户资料 - //var CustomerReader = workerContext.ServiceProvider.GetRequiredService(); - //var CustomerConverter = workerContext.ServiceProvider.GetRequiredService(); - ////读取并保存Customer - //var customersFromExternalList = await CustomerReader.ReadAsync().ConfigureAwait(false); - ////转换Customer - //await CustomerConverter.ConvertAsync(customersFromExternalList).ConfigureAwait(false); + Logger.LogInformation($"Read User");//用户和部门 + var userReader = workerContext.ServiceProvider.GetRequiredService(); + var userConverter = workerContext.ServiceProvider.GetRequiredService(); + var departmentConverter = workerContext.ServiceProvider.GetRequiredService(); + //读取并保存user + var outsFromExternalList = await userReader.ReadAsync().ConfigureAwait(false); + var userOutsFromExternalList = outsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.User.ToString()).ToList(); + var departmentOutsFromExternalList = outsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.Department.ToString()).ToList(); + //转换user + await userConverter.ConvertAsync(userOutsFromExternalList).ConfigureAwait(false); + //转换department + await departmentConverter.ConvertAsync(departmentOutsFromExternalList).ConfigureAwait(false); + + Logger.LogInformation($"Read InterfaceCalendar");//账期 + var interfaceCalendarReader = workerContext.ServiceProvider.GetRequiredService(); + var interfaceCalendarConverter = workerContext.ServiceProvider.GetRequiredService(); + //读取并保存InterfaceCalendar + var interfaceCalendarOutsFromExternalList = await interfaceCalendarReader.ReadAsync().ConfigureAwait(false); + //转换InterfaceCalendar + await interfaceCalendarConverter.ConvertAsync(interfaceCalendarOutsFromExternalList).ConfigureAwait(false); + + Logger.LogInformation($"Read Dict");//系统代码 + var dictReader = workerContext.ServiceProvider.GetRequiredService(); + var dictConverter = workerContext.ServiceProvider.GetRequiredService(); + //读取并保存Dict + var dictOutsFromExternalList = await dictReader.ReadAsync().ConfigureAwait(false); + //转换Dict + await dictConverter.ConvertAsync(dictOutsFromExternalList).ConfigureAwait(false); + + //Logger.LogInformation($"Read Bom"); + //var BomReader = workerContext.ServiceProvider.GetRequiredService(); + //var BomConverter = workerContext.ServiceProvider.GetRequiredService(); + ////读取并保存Bom + //var bomsFromExternalList = await BomReader.ReadAsync().ConfigureAwait(false); + ////转换Bom + //await BomConverter.ConvertAsync(bomsFromExternalList).ConfigureAwait(false); + + Logger.LogInformation($"Read Supplier");//供应商 + var SupplierReader = workerContext.ServiceProvider.GetRequiredService(); + var SupplierConverter = workerContext.ServiceProvider.GetRequiredService(); + //读取并保存Supplier + var suppliersFromExternalList = await SupplierReader.ReadAsync().ConfigureAwait(false); + //转换Supplier + await SupplierConverter.ConvertAsync(suppliersFromExternalList).ConfigureAwait(false); + + Logger.LogInformation($"Read Dictpj");//专案代码 + var DictpjReader = workerContext.ServiceProvider.GetRequiredService(); + //读取并保存Dictpj + var dictpjOutsFromExternalList = await DictpjReader.ReadAsync().ConfigureAwait(false); + //转换Dictpj + await dictConverter.ConvertAsync(dictOutsFromExternalList).ConfigureAwait(false); + + Logger.LogInformation($"Read Customer");//客户资料 + var CustomerReader = workerContext.ServiceProvider.GetRequiredService(); + var CustomerConverter = workerContext.ServiceProvider.GetRequiredService(); + //读取并保存Customer + var customersFromExternalList = await CustomerReader.ReadAsync().ConfigureAwait(false); + //转换Customer + await CustomerConverter.ConvertAsync(customersFromExternalList).ConfigureAwait(false); } else { diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/UserConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/UserConverter.cs index cde28e652..281e72901 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/UserConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/UserConverter.cs @@ -15,12 +15,13 @@ public class UserConverter : IIncomingConverter private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IObjectMapper _objectMapper; private readonly ILogger _logger; - + private readonly IIncomingFromExternalManager _incomingFromExternalManager; public UserConverter( IIncomingToWmsManager incomingToWmsManager , IObjectMapper objectMapper - , ILogger logger) + , ILogger logger, IIncomingFromExternalManager incomingFromExternalManager) { + _incomingFromExternalManager = incomingFromExternalManager; _incomingToWmsManager = incomingToWmsManager; _objectMapper = objectMapper; _logger = logger; @@ -37,6 +38,8 @@ public class UserConverter : IIncomingConverter //按流水号创建单据 var materialRequestList = await BuildIncomingToWmsOfIdentityUserRequestAsync(incomingFromExternalList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false); + //归档 + await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false); } private async Task> BuildIncomingToWmsOfIdentityUserRequestAsync(List incomingDataList) diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs index 586a81b4c..0344a59ed 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs @@ -94,10 +94,10 @@ public class TyrpOutgoingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase var unplannedIssueNoteNoteList = await unplannedIssueNoteConvert.ConvertAsync().ConfigureAwait(false); await wmsoutmWriter.WriteAsync(unplannedIssueNoteNoteList).ConfigureAwait(false); - //Logger.LogInformation($"Write UnplannedReceiptNote");//非生产退料 - //var unplannedReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService(); - //var unplannedReceiptNoteList = await unplannedReceiptNoteConvert.ConvertAsync(); - //await wmsoutmWriter.WriteAsync(unplannedReceiptNoteList); + Logger.LogInformation($"Write UnplannedReceiptNote");//非生产退料 + var unplannedReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService(); + var unplannedReceiptNoteList = await unplannedReceiptNoteConvert.ConvertAsync().ConfigureAwait(false); + await wmsoutmWriter.WriteAsync(unplannedReceiptNoteList).ConfigureAwait(false); Logger.LogInformation($"Write RecycledMaterialReceiptNote");//回收料入库单 var recycledMaterialReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService(); diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs index 3679cc757..7b996e278 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs @@ -173,7 +173,7 @@ public class TyrpAgentModule : AbpModule { context.AddBackgroundWorkerAsync(); - //context.AddBackgroundWorkerAsync(); + // context.AddBackgroundWorkerAsync(); } } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs index c61e2db2d..de009e0fb 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs @@ -149,7 +149,7 @@ public class AgentModule : AbpModule public override void OnApplicationInitialization( ApplicationInitializationContext context) { - context.AddBackgroundWorkerAsync(); - // context.AddBackgroundWorkerAsync(); + // context.AddBackgroundWorkerAsync(); + context.AddBackgroundWorkerAsync(); } } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/ArchivedIncomingFromExternal/IArchivedIncomingFromExternalRepository.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/ArchivedIncomingFromExternal/IArchivedIncomingFromExternalRepository.cs index 83377c064..469ac6216 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/ArchivedIncomingFromExternal/IArchivedIncomingFromExternalRepository.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/ArchivedIncomingFromExternal/IArchivedIncomingFromExternalRepository.cs @@ -1,7 +1,8 @@ +using System; using Win_in.Sfs.Shared.Domain; namespace Win_in.Sfs.Wms.DataExchange.Domain; -public interface IArchivedIncomingFromExternalRepository : ISfsRepositoryBase +public interface IArchivedIncomingFromExternalRepository : ISfsRepositoryBase, ISfsBulkRepositoryBase { } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IIncomingFromExternalManager.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IIncomingFromExternalManager.cs index 6f2898cac..c09e12920 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IIncomingFromExternalManager.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IIncomingFromExternalManager.cs @@ -12,4 +12,5 @@ public interface IIncomingFromExternalManager : IDomainService Task ArchiveManyAsync(List entities); Task> CreateBulkAsync(List entities); Task GetDataByMaxEffectiveDate(string dataType); + Task ArchiveBulkAsync(List entities); } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IncomingFromExternalManager.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IncomingFromExternalManager.cs index df210ec60..dcd54ef5c 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IncomingFromExternalManager.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IncomingFromExternalManager.cs @@ -62,7 +62,15 @@ public class IncomingFromExternalManager : DomainService, IIncomingFromExternalM await _historyRepository.InsertAsync(archivedEntity).ConfigureAwait(false); } + [UnitOfWork] + public virtual async Task ArchiveBulkAsync(List entities) + { + await _repository.BulkDeleteAsync(entities).ConfigureAwait(false); + var archivedEntities = _objectMapper.Map, List>(entities); + + await _historyRepository.BulkInsertAsync(archivedEntities).ConfigureAwait(false); + } [UnitOfWork] public virtual async Task ArchiveManyAsync(List entities) { diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain/Repositories/ISfsBulkRepositoryBase.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain/Repositories/ISfsBulkRepositoryBase.cs index 75fe0bb4a..e431626f3 100644 --- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain/Repositories/ISfsBulkRepositoryBase.cs +++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain/Repositories/ISfsBulkRepositoryBase.cs @@ -43,4 +43,5 @@ public interface ISfsBulkRepositoryBase /// Task BulkInsertAsync(IList details, BulkConfig bulkConfig = null, Action progress = null, Type type = null, CancellationToken cancellationToken = default(CancellationToken)) where TDetail : class, new(); + Task BulkUpdateAsync(IList entities, BulkConfig bulkConfig = null, Action progress = null, Type type = null, CancellationToken cancellationToken = default); } diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.EntityFrameworkCore/SfsEfCoreRepositoryBase.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.EntityFrameworkCore/SfsEfCoreRepositoryBase.cs index 39bbfe624..589fd5744 100644 --- a/be/Modules/Shared/src/Win_in.Sfs.Shared.EntityFrameworkCore/SfsEfCoreRepositoryBase.cs +++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.EntityFrameworkCore/SfsEfCoreRepositoryBase.cs @@ -76,4 +76,22 @@ public abstract class SfsEfCoreRepositoryBase await context.BulkDeleteAsync(entities, bulkConfig, progress, type, cancellationToken).ConfigureAwait(false); } } + /// + /// 批量更新数据 + /// + /// + /// + /// + /// + /// + /// + public virtual async Task BulkUpdateAsync(IList entities, BulkConfig bulkConfig = null, Action progress = null, Type type = null, CancellationToken cancellationToken = default(CancellationToken)) + { + var context = (await GetDbContextAsync().ConfigureAwait(false)) as DbContext; + + if (entities != null && entities.Count > 0) + { + await context.BulkUpdateAsync(entities, bulkConfig, progress, type, cancellationToken).ConfigureAwait(false); + } + } }