|
@ -4,6 +4,7 @@ using System.Linq; |
|
|
using System.Text.Json; |
|
|
using System.Text.Json; |
|
|
using System.Threading.Tasks; |
|
|
using System.Threading.Tasks; |
|
|
using Microsoft.Extensions.Logging; |
|
|
using Microsoft.Extensions.Logging; |
|
|
|
|
|
using Volo.Abp.Guids; |
|
|
using Win_in.Sfs.Shared.Domain.Shared; |
|
|
using Win_in.Sfs.Shared.Domain.Shared; |
|
|
using Win_in.Sfs.Wms.DataExchange.Domain; |
|
|
using Win_in.Sfs.Wms.DataExchange.Domain; |
|
|
using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS; |
|
|
using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS; |
|
@ -18,22 +19,26 @@ public class PlanReader : IReader |
|
|
private readonly IPlanManager _planManager; |
|
|
private readonly IPlanManager _planManager; |
|
|
private readonly IIncomingFromExternalManager _incomingFromExternalManager; |
|
|
private readonly IIncomingFromExternalManager _incomingFromExternalManager; |
|
|
private readonly ILogger<PlanReader> _logger; |
|
|
private readonly ILogger<PlanReader> _logger; |
|
|
|
|
|
private readonly IGuidGenerator _guidGenerator; |
|
|
public PlanReader( |
|
|
public PlanReader( |
|
|
IPlanManager planManager |
|
|
IPlanManager planManager |
|
|
, IIncomingFromExternalManager incomingFromExternalManager |
|
|
, IIncomingFromExternalManager incomingFromExternalManager |
|
|
, ILogger<PlanReader> logger |
|
|
, ILogger<PlanReader> logger |
|
|
|
|
|
, IGuidGenerator guidGenerator |
|
|
) |
|
|
) |
|
|
{ |
|
|
{ |
|
|
_planManager = planManager; |
|
|
_planManager = planManager; |
|
|
_incomingFromExternalManager = incomingFromExternalManager; |
|
|
_incomingFromExternalManager = incomingFromExternalManager; |
|
|
_logger = logger; |
|
|
_logger = logger; |
|
|
|
|
|
_guidGenerator = guidGenerator; |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public virtual async Task<List<IncomingFromExternal>> ReadAsync() |
|
|
public virtual async Task<List<IncomingFromExternal>> ReadAsync() |
|
|
{ |
|
|
{ |
|
|
//从EOS读取待处理Plan
|
|
|
//从EOS读取待处理Plan
|
|
|
var toBeProcessedPlans = await _planManager.GetToBeProcessedListAsync().ConfigureAwait(false); |
|
|
var aa = await _planManager.GetToBeProcessedListAsync().ConfigureAwait(false); |
|
|
|
|
|
var toBeProcessedPlans = aa.Take(100).ToList(); |
|
|
if (!toBeProcessedPlans.Any()) |
|
|
if (!toBeProcessedPlans.Any()) |
|
|
{ |
|
|
{ |
|
|
_logger.LogInformation("no plans"); |
|
|
_logger.LogInformation("no plans"); |
|
@ -41,7 +46,7 @@ public class PlanReader : IReader |
|
|
} |
|
|
} |
|
|
//Plan逐一转换为PurchaseOrder
|
|
|
//Plan逐一转换为PurchaseOrder
|
|
|
var incomingDataList = BuildIncomingFromExternalFromPlanAsync(toBeProcessedPlans); |
|
|
var incomingDataList = BuildIncomingFromExternalFromPlanAsync(toBeProcessedPlans); |
|
|
await _incomingFromExternalManager.CreateManyAsync(incomingDataList).ConfigureAwait(false); |
|
|
await _incomingFromExternalManager.CreateBulkAsync(incomingDataList).ConfigureAwait(false); |
|
|
//更新EOS数据状态
|
|
|
//更新EOS数据状态
|
|
|
await _planManager.UpdateProcessedListAsync(toBeProcessedPlans).ConfigureAwait(false); |
|
|
await _planManager.UpdateProcessedListAsync(toBeProcessedPlans).ConfigureAwait(false); |
|
|
return incomingDataList; |
|
|
return incomingDataList; |
|
@ -55,7 +60,7 @@ public class PlanReader : IReader |
|
|
var incomingData = BuildIncomingFromExternal(plan); |
|
|
var incomingData = BuildIncomingFromExternal(plan); |
|
|
|
|
|
|
|
|
incomingData.SetEffectiveDate(plan.EosDate); |
|
|
incomingData.SetEffectiveDate(plan.EosDate); |
|
|
|
|
|
incomingData.SetId(_guidGenerator.Create()); |
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
var po = BuildPurchaseOrderExchangeDto(plan); |
|
|
var po = BuildPurchaseOrderExchangeDto(plan); |
|
|