| | |
| | | using Rhea.Common; |
| | | using Sundial; |
| | | using FluentScheduler; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | |
| | | /// <summary> |
| | | /// 从U9C获取客户信息 |
| | | /// </summary> |
| | | public class U9C_MES_GetCustomer : TigerJobBase, ITigerJob |
| | | public class U9C_MES_GetCustomer : TigerJobBase, ITJob |
| | | { |
| | | public string Id { get; set; } = Guid.NewGuid().ToString("N"); |
| | | public string Tag { get; set; } = "U9C_MES_GetCustomer Interface Job"; |
| | | public string Name { get; set; } = "U9C_MES_GetCustomer Interface Job"; |
| | | |
| | | public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken) |
| | | public string Tag { get; set; } |
| | | public string Name { get; set; } |
| | | public U9C_MES_GetCustomer() |
| | | { |
| | | Logger.Scheduler.Info(context.Trigger.ConvertToMonitor()); |
| | | Id = Guid.NewGuid().ToString("N"); |
| | | Tag = "U9C_MES_GetCustomer Interface Job"; |
| | | GetJob(typeof(U9C_MES_GetCustomer).Name); |
| | | Name = Job.JobName; |
| | | } |
| | | |
| | | public void Execute() |
| | | { |
| | | #region 固定写法 |
| | | Logger.Scheduler.Info($"/**\r\n *进入计划调度(名称: {Name} )....\r\n */\r\n"); //固定写法 |
| | | Schedule = JobManager.GetSchedule(Name); //固定写法 |
| | | StartTime = DateTime.Now; //固定写法 |
| | | #endregion |
| | | try |
| | | { |
| | | var _lastRunTime = Biz.SysParam["GetCust_LastRun", "Interface_LastRun"].PARAM_VALUE; |
| | | var LastRunTime = string.IsNullOrEmpty(_lastRunTime) ? DateTime.Now.AddDays(-1) : Convert.ToDateTime(_lastRunTime); |
| | | if ((DateTime.Now - LastRunTime).TotalDays > 1) |
| | | string msg = ""; |
| | | string status = "Successed"; |
| | | GetJob(typeof(U9C_MES_GetCustomer).Name); |
| | | TskJobInput tskJobInput = CheckHowToDo(); |
| | | if (tskJobInput.result) |
| | | { |
| | | GetCustomerInput input = new GetCustomerInput |
| | | { |
| | | startTime = LastRunTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = LastRunTime.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss") |
| | | }; |
| | | var result = await DI.Resolve<IU9C_MES>().GetCustomer(input); |
| | | var result = DI.Resolve<IU9C_MES>().GetCustomer(tskJobInput.input); |
| | | if (!result.IsSuccessed) |
| | | { |
| | | Logger.Scheduler.Error($"获取客户信息异常:{result.Message}"); |
| | | msg = $"获取客户信息异常:{result.Message}"; |
| | | Logger.Scheduler.Error(msg); |
| | | status = "Failed"; |
| | | } |
| | | else |
| | | { |
| | | msg = $"从U9C获取客户信息成功:{result.Message}"; |
| | | //固定写法 |
| | | Trig.LastRunTime = Args.ByInterval == "Y" ? tskJobInput.input.endTime.ToDateTime().AddHours(Args.Interval) : tskJobInput.input.endTime.ToDateTime(); |
| | | Trig.NextRunTime = Schedule.NextRun; |
| | | } |
| | | } |
| | | //SaveLog(context, "从U9C获取客户信息成功"); |
| | | SaveFluentSchedulerLog(status, $"{msg}"); |
| | | Logger.Scheduler.Info($"计划调度(名称:{Name})完成,返回信息:{msg}\r\n"); |
| | | } |
| | | catch (System.Exception ex) |
| | | { |
| | | Logger.Scheduler.Fatal(ex, "获取客户信息异常"); |
| | | SaveFluentSchedulerLog("Failed", ex.Message); |
| | | } |
| | | await Task.CompletedTask; |
| | | Logger.Scheduler.Info($"/* 计划调度(名称:{Name})结束 */\r\n"); //固定写法 |
| | | } |
| | | } |
| | | } |