修复bug
This commit is contained in:
@@ -141,7 +141,7 @@ namespace WMS.Web.Domain.Services
|
||||
//同步金蝶
|
||||
OperateRequest oRequest = new OperateRequest();
|
||||
oRequest.Ids = list.Select(s => s.Id).ToList();
|
||||
await Sync(oRequest);
|
||||
await Sync(oRequest,false);
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
@@ -151,23 +151,29 @@ namespace WMS.Web.Domain.Services
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
public Task<Result> Sync(OperateRequest dto)
|
||||
public Task<Result> Sync(OperateRequest dto, bool isRepeatSync = true)
|
||||
{
|
||||
var list = _takeStockRepositories.GetEntityList(dto.Ids).GetAwaiter().GetResult();
|
||||
list = list.Where(w => w.SuccessSync == SyncStatus.Fail).ToList();
|
||||
var isSuccess = true;
|
||||
if (isRepeatSync)
|
||||
{
|
||||
list.ForEach(f => f.RepeatSync());
|
||||
isSuccess = _takeStockRepositories.EditEntityList(list, true).GetAwaiter().GetResult();
|
||||
}
|
||||
Task.Run(async () =>
|
||||
{
|
||||
var scope = _serviceScopeFactory.CreateScope();
|
||||
var sc_takeStockRepositories = scope.ServiceProvider.GetRequiredService<ITakeStockRepositories>();
|
||||
var list = await sc_takeStockRepositories.GetEntityList(dto.Ids);
|
||||
list = list.Where(w => w.SuccessSync == SyncStatus.Fail || w.SuccessSync == SyncStatus.SyncIng).ToList();
|
||||
foreach (var entity in list)
|
||||
{
|
||||
var res = await Loss_Profit(entity, scope);
|
||||
var res = await Loss_Profit(entity);
|
||||
if (!res.IsSuccess)
|
||||
_logger.LogError($"盘点同步失败:{res.Message}");
|
||||
}
|
||||
});
|
||||
|
||||
return Task.FromResult(Result.ReSuccess());
|
||||
if (isSuccess)
|
||||
return Task.FromResult(Result.ReSuccess());
|
||||
else
|
||||
return Task.FromResult(Result.ReFailure(ResultCodes.DateWriteError));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -175,11 +181,12 @@ namespace WMS.Web.Domain.Services
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> Loss_Profit(TakeStock entity, IServiceScope scope)
|
||||
public async Task<Result> Loss_Profit(TakeStock entity)
|
||||
{
|
||||
_logger.LogInformation($"盘点同步金蝶: {JsonConvert.SerializeObject(entity)}");
|
||||
try
|
||||
{
|
||||
var scope = _serviceScopeFactory.CreateScope();
|
||||
var sc_erpService = scope.ServiceProvider.GetRequiredService<IErpService>();
|
||||
var sc_erpBasicDataExtendService = scope.ServiceProvider.GetRequiredService<IErpBasicDataExtendService>();
|
||||
var sc_takeStockRepositories = scope.ServiceProvider.GetRequiredService<ITakeStockRepositories>();
|
||||
|
||||
Reference in New Issue
Block a user