金蝶数据导入出库单
This commit is contained in:
81
src/WMS.Web.Domain/QuartzJob/OutStockOrderQuartzJob.cs
Normal file
81
src/WMS.Web.Domain/QuartzJob/OutStockOrderQuartzJob.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
using Microsoft.EntityFrameworkCore.Storage;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Quartz;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WMS.Web.Domain.Infrastructure;
|
||||
using WMS.Web.Domain.IService;
|
||||
using WMS.Web.Domain.IService.Public;
|
||||
using WMS.Web.Domain.Options;
|
||||
|
||||
namespace WMS.Web.Domain.QuartzJob
|
||||
{
|
||||
public class OutStockOrderQuartzJob : IJob
|
||||
{
|
||||
private readonly ILogger<OutStockOrderQuartzJob> _logger;
|
||||
private readonly IServiceScopeFactory _serviceScopeFactory;
|
||||
private readonly AppOptions _options;
|
||||
private readonly IOutStockTaskService _outStockTaskService;
|
||||
private readonly ITransactionRepositories _transactionRepositories;
|
||||
|
||||
public OutStockOrderQuartzJob(ILogger<OutStockOrderQuartzJob> logger,
|
||||
IServiceScopeFactory serviceScopeFactory,
|
||||
IOptions<AppOptions> options,
|
||||
IOutStockTaskService inStockTaskService,
|
||||
ITransactionRepositories transactionRepositories)
|
||||
{
|
||||
this._logger = logger;
|
||||
_serviceScopeFactory = serviceScopeFactory;
|
||||
this._options = options?.Value;
|
||||
_outStockTaskService = inStockTaskService;
|
||||
_transactionRepositories = transactionRepositories;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行方法
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
/// <returns></returns>
|
||||
public async Task Execute(IJobExecutionContext context)
|
||||
{
|
||||
try
|
||||
{
|
||||
//1.事务
|
||||
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
||||
bool isRollback = false;
|
||||
bool isTransaction = false;
|
||||
//2.记录:开始时间
|
||||
var begindatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"出库单-同步金蝶入库单数据:执行开始时间->{begindatetime}");
|
||||
//3.同步数据
|
||||
var result = await _outStockTaskService.SsynDeliveryNoticeOutStock(isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await _outStockTaskService.BillQueryForTransferDirectOutStock(isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await _outStockTaskService.BillQueryForTransferOutOutStock(isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await _outStockTaskService.BillQueryForMisDeliveryOutStock(isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await _outStockTaskService.BillQueryForAssembledAppOutStock(isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
|
||||
//4.提交事务
|
||||
var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
|
||||
|
||||
//5.记录:结束时间
|
||||
var enddatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"出库单-同步金蝶入库单数据:执行结束时间->{begindatetime}");
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogInformation($"同步金蝶入库单数据:定时任务执行失败->{ex.Message}");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user