diff --git a/src/WMS.Web.Api/Program.cs b/src/WMS.Web.Api/Program.cs index 1f4d960e..2b6dd864 100644 --- a/src/WMS.Web.Api/Program.cs +++ b/src/WMS.Web.Api/Program.cs @@ -11,6 +11,7 @@ using System.Linq; using System.Threading.Tasks; using WMS.Web.Core.Dto.Erp; using WMS.Web.Domain.IService.Public; +using WMS.Web.Domain.Services.Public; namespace WMS.Web.Api { @@ -20,22 +21,11 @@ namespace WMS.Web.Api { var host= CreateHostBuilder(args).Build(); //to do you want - Task.Run(() => + //异步-同步金蝶基础数据(物料,组织,供应商,客户) + using (var scope = host.Services.CreateScope()) { - //异步-同步下物料数据 - using (var scope = host.Services.CreateScope()) - { - var sercice = scope.ServiceProvider.GetRequiredService(); - sercice.BillQueryForMaterial().GetAwaiter().GetResult(); - - var cache = scope.ServiceProvider.GetRequiredService(); - var cache_key = "erp_materials_list"; - var materials = cache.Get>(cache_key); - Console.WriteLine("物料数据条码:" + materials.Count); - } - }); - - + ErpBaseDataSync.Sync(scope.ServiceProvider); + } host.Run(); } diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 6c022278..545b4c7b 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -4333,6 +4333,11 @@ + + + 鍚屾erp鍩虹鏁版嵁 + + erp鍩虹鏁版嵁锛氭墿灞曟湇鍔 diff --git a/src/WMS.Web.Domain/Services/Public/ErpBaseDataSync.cs b/src/WMS.Web.Domain/Services/Public/ErpBaseDataSync.cs new file mode 100644 index 00000000..725be8ac --- /dev/null +++ b/src/WMS.Web.Domain/Services/Public/ErpBaseDataSync.cs @@ -0,0 +1,45 @@ +锘縰sing Microsoft.Extensions.DependencyInjection; +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using WMS.Web.Domain.IService.Public; + +namespace WMS.Web.Domain.Services.Public +{ + /// + /// 鍚屾erp鍩虹鏁版嵁 + /// + public static class ErpBaseDataSync + { + public static Task Sync(IServiceProvider serviceProvider) + { + var sercice = serviceProvider.GetRequiredService(); + Task.Run(() => + { + //寮傛-鍚屾涓嬬墿鏂欐暟鎹 + sercice.BillQueryForMaterial().GetAwaiter().GetResult(); + }); + + Task.Run(() => + { + //寮傛-鍚屾涓嬬粍缁囨暟鎹 + sercice.BillQueryForOrg().GetAwaiter().GetResult(); + }); + + Task.Run(() => + { + //寮傛-鍚屾涓嬪鎴锋暟鎹 + sercice.BillQueryForCustomer().GetAwaiter().GetResult(); + }); + + Task.Run(() => + { + //寮傛-鍚屾涓嬩緵搴斿晢鏁版嵁 + sercice.BillQueryForSupplier().GetAwaiter().GetResult(); + + }); + return Task.CompletedTask; + } + } +} diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index a749fce7..e925678e 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -1137,7 +1137,7 @@ namespace WMS.Web.Domain.Services.Public var list = new List(); //澶囨敞锛氬洜涓轰緵搴斿晢鏁版嵁涓嶆槸寰堝锛屽氨涓嶈兘鍜岃幏鍙栫墿鏂欎竴鏍峰惊鐜幏鍙栵紱缁勭粐杩欓噷灏辫幏鍙10000鏉℃暟鎹氨琛屼簡 var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); - _logger.LogInformation($"渚涘簲鍟嗘媺鍙-寮濮嬫椂闂达細{beginTime}"); + _logger.LogInformation($"瀹㈡埛鎷夊彇-寮濮嬫椂闂达細{beginTime}"); int skip = 0; //4.鍙傛暟json鍖 while (true) @@ -1169,10 +1169,10 @@ namespace WMS.Web.Domain.Services.Public skip++; } var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); - _logger.LogInformation($"渚涘簲鍟嗘媺鍙-缁撴潫鏃堕棿锛歿endTime}"); + _logger.LogInformation($"瀹㈡埛鎷夊彇-缁撴潫鏃堕棿锛歿endTime}"); //5.渚涘簲鍟嗛泦鍚堣繘琛岀紦瀛 _memoryCache.Set(cache_customer_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3))); - _logger.LogInformation($"渚涘簲鍟嗘媺鍙-鎬绘潯鏁帮細{list.Count}"); + _logger.LogInformation($"瀹㈡埛鎷夊彇-鎬绘潯鏁帮細{list.Count}"); return ResultList.ReSuccess(list); }