using Pomelo.AspNetCore.TimedJob;
|
using WIDESEA_ISquareCabinServices;
|
using WIDESEA_IWMsInfoServices;
|
|
namespace WIDESEA_WMSServer
|
{
|
public class OutOrderJob : Job
|
{
|
private readonly IServiceScopeFactory _serviceScopeFactory;
|
|
public OutOrderJob(IServiceScopeFactory serviceScopeFactory)
|
{
|
_serviceScopeFactory = serviceScopeFactory;
|
}
|
|
//每隔1秒执行一次
|
[Invoke(Begin = "2025-11-01", Interval = 1000 * 5, IsEnabled = false, SkipWhileExecuting = true)]
|
public void Run()
|
{
|
// 物料信息获取 - 独立作用域
|
using (var scope1 = _serviceScopeFactory.CreateScope())
|
{
|
var materielInfoService = scope1.ServiceProvider.GetRequiredService<IMaterielInfoService>();
|
materielInfoService.GetMedicineGoodsInfom();
|
}
|
Thread.Sleep(1000);
|
|
// 入库单获取 - 独立作用域
|
using (var scope2 = _serviceScopeFactory.CreateScope())
|
{
|
var business = scope2.ServiceProvider.GetRequiredService<IBusiness>();
|
Console.WriteLine($"开始执行GetInOrder:{DateTime.Now}");
|
business.GetInOrder();
|
Console.WriteLine($"完成执行GetInOrder:{DateTime.Now}");
|
}
|
Console.WriteLine($"以释放GetInOrder的数据库连接:{DateTime.Now}");
|
Thread.Sleep(1000);
|
|
// 出库单获取 - 独立作用域
|
using (var scope3 = _serviceScopeFactory.CreateScope())
|
{
|
var business = scope3.ServiceProvider.GetRequiredService<IBusiness>();
|
Console.WriteLine($"开始执行 GetOutOrder:{DateTime.Now}");
|
business.GetOutOrder();
|
Console.WriteLine($"完成执行 GetOutOrder:{DateTime.Now}");
|
}
|
Console.WriteLine($"以释放 GetOutOrder 的数据库连接:{DateTime.Now}");
|
Thread.Sleep(1000);
|
|
|
// 完成所有订单 - 独立作用域
|
using (var scope4 = _serviceScopeFactory.CreateScope())
|
{
|
var business = scope4.ServiceProvider.GetRequiredService<IBusiness>();
|
Console.WriteLine($"开始执行 CompleteAllOrders:{DateTime.Now}");
|
business.CompleteAllOrders();
|
Console.WriteLine($"完成执行 CompleteAllOrders:{DateTime.Now}");
|
}
|
Console.WriteLine($"以释放 CompleteAllOrders 的数据库连接:{DateTime.Now}");
|
|
Thread.Sleep(1000);
|
|
// 完成所有出库订单 - 独立作用域
|
using (var scope5 = _serviceScopeFactory.CreateScope())
|
{
|
var business = scope5.ServiceProvider.GetRequiredService<IBusiness>();
|
Console.WriteLine($"开始执行 CompleteAllOutOrders:{DateTime.Now}");
|
business.CompleteAllOutOrders();
|
Console.WriteLine($"w完成执行 CompleteAllOutOrders:{DateTime.Now}");
|
}
|
Console.WriteLine($"以释放 CompleteAllOutOrders 的数据库连接:{DateTime.Now}");
|
Console.WriteLine($"ERP任务执行结束:{DateTime.Now}");
|
Thread.Sleep(1000);
|
|
// 产品同步 - 独立作用域
|
using (var scope6 = _serviceScopeFactory.CreateScope())
|
{
|
var materielInfoService = scope6.ServiceProvider.GetRequiredService<IMaterielInfoService>();
|
Console.WriteLine($"开始执行 ProductSynchronous:{DateTime.Now}");
|
materielInfoService.ProductSynchronous();
|
Console.WriteLine($"完成执行 ProductSynchronous:{DateTime.Now}");
|
}
|
Console.WriteLine($"以释放 ProductSynchronous 的数据库连接:{DateTime.Now}");
|
Thread.Sleep(1000);
|
|
// cws入库同步 - 独立作用域
|
using (var scope7 = _serviceScopeFactory.CreateScope())
|
{
|
var business = scope7.ServiceProvider.GetRequiredService<IBusiness>();
|
Console.WriteLine($"开始执行 EdiIn:{DateTime.Now}");
|
business.EdiIn();
|
Console.WriteLine($"完成执行 EdiIn:{DateTime.Now}");
|
}
|
Console.WriteLine($"以释放 EdiIn 的数据库连接:{DateTime.Now}");
|
Thread.Sleep(1000);
|
|
// wcs出库同步 - 独立作用域
|
using (var scope8 = _serviceScopeFactory.CreateScope())
|
{
|
var business = scope8.ServiceProvider.GetRequiredService<IBusiness>();
|
Console.WriteLine($"开始执行 EdiOut:{DateTime.Now}");
|
business.EdiOut();
|
Console.WriteLine($"开始执行 EdiOut:{DateTime.Now}");
|
}
|
Console.WriteLine($"以释放 EdiOut 的数据库连接:{DateTime.Now}");
|
Console.WriteLine($"WCS任务执行结束:{DateTime.Now}");
|
}
|
}
|
}
|