yanjinhui
2025-12-01 2b49f7643d15b74889d190f216630559006ed93a
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_WMSServer/OutOrderJob.cs
@@ -6,23 +6,104 @@
{
    public class OutOrderJob : Job
    {
        private readonly IBusiness _business;
        private readonly IMaterielInfoService _materielInfoService;
        public OutOrderJob(IBusiness business, IMaterielInfoService materielInfoService)
        private readonly IServiceScopeFactory _serviceScopeFactory;
        public OutOrderJob(IServiceScopeFactory serviceScopeFactory)
        {
            _business = business;
            _materielInfoService = materielInfoService;
            _serviceScopeFactory = serviceScopeFactory;
        }
        //每隔1秒执行一次
        [Invoke(Begin = "2025-11-01", Interval = 1000 * 5, IsEnabled = false, SkipWhileExecuting = true)]
        public void Run()
        {
            //Thread.Sleep(3000);
            ////获取上游出库单数据
            //_materielInfoService.ProductSynchronous();
            //_business.EdiIn();
            //_business.EdiOut();
            //Console.WriteLine($"WCS任务执行结束:{DateTime.Now}");
            // ç‰©æ–™ä¿¡æ¯èŽ·å– - ç‹¬ç«‹ä½œç”¨åŸŸ
            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}");
        }
    }
}