diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 5f34ac44..c7635af2 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -8,6 +8,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel; +using System.Threading; using System.Threading.Tasks; using WMS.Web.Core.Dto; using WMS.Web.Core.Dto.Erp.Customer; @@ -56,10 +57,10 @@ namespace WMS.Web.Api.Controllers [Route("hj")] public async Task TestHJ() { - // OperateRequest dto = new OperateRequest(); - // dto.Ids.Add(71); - // var result = await this._erpService.BillQueryForSubStock(); - //var ss= result.Data.Where(w => w.Name.Equals("Fares")).ToList(); + // OperateRequest dto = new OperateRequest(); + // dto.Ids.Add(71); + // var result = await this._erpService.BillQueryForSubStock(); + //var ss= result.Data.Where(w => w.Name.Equals("Fares")).ToList(); //await _outStockService.Sync(dto, null); //var b = await _takeStockService.Sync(dto); // List list = null; diff --git a/src/WMS.Web.Domain/Services/OutStockService.cs b/src/WMS.Web.Domain/Services/OutStockService.cs index d1625507..1671d69e 100644 --- a/src/WMS.Web.Domain/Services/OutStockService.cs +++ b/src/WMS.Web.Domain/Services/OutStockService.cs @@ -197,10 +197,7 @@ namespace WMS.Web.Domain.Services if (entity.Type == OutStockType.Sal) { - Task.Run(async () => - { - await SalOutStock(entity, loginInfo); - }).GetAwaiter().GetResult(); + await Sync(entity, loginInfo); } return Result.ReSuccess(); @@ -215,13 +212,22 @@ namespace WMS.Web.Domain.Services var list = await _outStockRepositories.GetEntityList(dto.Ids); foreach (var entity in list) { - Task.Run(async () => - { - await SalOutStock(entity, loginInfo); - }).GetAwaiter().GetResult(); + await Sync(entity, loginInfo); } return Result.ReSuccess(); } + + private Task Sync(OutStock entity, LoginInDto loginInfo) + { + Task.Run(async () => + { + var res = await SalOutStock(entity, loginInfo); + if (!res.IsSuccess) + _logger.LogError($"出库单同步失败:{res.Message}"); + }); + return Task.CompletedTask; + } + /// /// 同步金蝶销售出库 /// diff --git a/src/WMS.Web.Domain/Services/TakeStockService.cs b/src/WMS.Web.Domain/Services/TakeStockService.cs index 3fda250d..5ceb2101 100644 --- a/src/WMS.Web.Domain/Services/TakeStockService.cs +++ b/src/WMS.Web.Domain/Services/TakeStockService.cs @@ -137,12 +137,7 @@ namespace WMS.Web.Domain.Services //同步金蝶 foreach (var entity in list) { - Task.Run(async () => - { - var res = await Loss_Profit(entity); - if (!res.IsSuccess) - _logger.LogError($"盘点同步失败:{res.Message}"); - }).GetAwaiter().GetResult(); + await Sync(entity); } return Result.ReSuccess(); @@ -155,20 +150,25 @@ namespace WMS.Web.Domain.Services /// public async Task Sync(OperateRequest dto) { - var list = await _takeStockRepositories.GetEntityList(dto.Ids); + var list = _takeStockRepositories.GetEntityList(dto.Ids).GetAwaiter().GetResult(); list = list.Where(w => w.SuccessSync == SyncStatus.Fail || w.SuccessSync == SyncStatus.SyncIng).ToList(); foreach (var entity in list) { - Task.Run(async () => - { - var res = await Loss_Profit(entity); - if (!res.IsSuccess) - _logger.LogError($"盘点同步失败:{res.Message}"); - }).GetAwaiter().GetResult(); + await Sync(entity); } - return Result.ReSuccess(); } + + private Task Sync(TakeStock entity) + { + Task.Run(async () => + { + var res = await Loss_Profit(entity); + if (!res.IsSuccess) + _logger.LogError($"盘点同步失败:{res.Message}"); + }); + return Task.CompletedTask; + } /// /// 盘盈盘亏同步金蝶 ///