using Rhea.Common;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading;
|
using System.Threading.Tasks;
|
using Newtonsoft.Json;
|
using Tiger.IBusiness;
|
using Tiger.Model;
|
using Tiger.Model.Minsun;
|
using FluentScheduler;
|
using Sundial;
|
using Microsoft.IdentityModel.Tokens;
|
using Tiger.Model.Entitys.MES.Position;
|
|
namespace Tiger.Business.MES
|
{
|
/// <summary>
|
/// 从U9C获取工单信息
|
/// </summary>
|
public class U9C_MES_GetWo : TigerJobBase, ITigerJob
|
{
|
public string Id { get; set; }
|
public string Tag { get; set; }
|
public string Name { get; set; }
|
|
public U9C_MES_GetWo()
|
{
|
Id = Guid.NewGuid().ToString("N");
|
Tag = "U9C_MES_GetWo Interface Job";
|
Name = "U9C_MES_GetWo Interface Job";
|
}
|
|
public async Task ExecuteAsync(Sundial.JobExecutingContext context, CancellationToken stoppingToken)
|
{
|
Logger.Scheduler.Info(context.Trigger.ConvertToMonitor());
|
try
|
{
|
var _lastRunTime = Cache.SysParam["GetWo_LastRun", "Interface_LastRun"].PARAM_VALUE;
|
var LastRunTime = string.IsNullOrEmpty(_lastRunTime) ? DateTime.Now.AddMinutes(-10) : Convert.ToDateTime(_lastRunTime);
|
if ((DateTime.Now - LastRunTime).TotalMinutes > 10)
|
{
|
GetWoInput input = new GetWoInput
|
{
|
startTime = LastRunTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
endTime = LastRunTime.AddMinutes(10).ToString("yyyy-MM-dd HH:mm:ss")
|
};
|
var result = await DI.Resolve<IU9C_MES>().GetBasWo(input);
|
if (!result.IsSuccessed)
|
{
|
Logger.Scheduler.Error($"获取工单信息异常:{result.Message}");
|
}
|
}
|
//SaveLog(context, "从U9C获取工单信息成功");
|
}
|
catch (System.Exception ex)
|
{
|
Logger.Scheduler.Fatal(ex, "获取工单信息异常");
|
}
|
await Task.CompletedTask;
|
}
|
}
|
|
/// <summary>
|
/// 从U9C获取工单信息 FluentScheduler版
|
/// </summary>
|
public class fU9C_MES_GetWo : TigerJobBase, ITJob
|
{
|
public string Id { get; set; }
|
public string Tag { get; set; }
|
public string Name { get; set; }
|
public fU9C_MES_GetWo()
|
{
|
Id = Guid.NewGuid().ToString("N");
|
Tag = "U9C_MES_GetWo Interface Job";
|
GetJob(typeof(fU9C_MES_GetWo).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
|
{
|
string msg = "";
|
string status = "Successed";
|
GetJob(typeof(fU9C_MES_GetWo).Name);
|
TskJobInput tskJobInput = CheckHowToDo();
|
if (tskJobInput.result)
|
{
|
var result = DI.Resolve<IU9C_MES>().GetU9CBasWo(tskJobInput.input);
|
if (!result.IsSuccessed)
|
{
|
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;
|
}
|
}
|
SaveFluentSchedulerLog(status, $"{msg}");
|
Logger.Scheduler.Info($"计划调度(名称: {Name} )完成,返回信息: {msg} \r\n");
|
}
|
catch (System.Exception ex)
|
{
|
Logger.Scheduler.Fatal(ex, "获取工单信息异常");
|
SaveFluentSchedulerLog("Failed", ex.Message);
|
}
|
Logger.Scheduler.Info($"/* 计划调度(名称:{Name})结束 */\r\n"); //固定写法
|
}
|
}//endClass
|
|
public class fTest : TigerJobBase, ITJob
|
{
|
public string Id { get; set; }
|
public string Tag { get; set; }
|
public string Name { get; set; } = typeof(fTest).Name;
|
public fTest()
|
{
|
Id = Guid.NewGuid().ToString("N");
|
Tag = "U9C_MES_GetWo Interface Job";
|
}
|
|
public void Execute()
|
{
|
Logger.Scheduler.Info($"进入计划调度(名称:{Name})...\r\n");
|
try
|
{
|
string msg = "";
|
string status = "Successed";
|
var _lastRunTime = Cache.SysParam["GetWo_LastRun", "Interface_LastRun"].PARAM_VALUE;
|
var LastRunTime = string.IsNullOrEmpty(_lastRunTime) ? DateTime.Now.AddMinutes(-10) : Convert.ToDateTime(_lastRunTime);
|
StartTime = DateTime.Now;
|
//if ((DateTime.Now - LastRunTime).TotalMinutes > 10)
|
//{
|
// GetWoInput input = new GetWoInput
|
// {
|
// startTime = LastRunTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
// endTime = LastRunTime.AddMinutes(10).ToString("yyyy-MM-dd HH:mm:ss")
|
// };
|
// var result = await DI.Resolve<IU9C_MES>().GetBasWo(input);
|
// if (!result.IsSuccessed)
|
// {
|
// Logger.Scheduler.Error($"获取工单信息异常:{result.Message}");
|
// }
|
//}
|
SaveFluentSchedulerLog(status, "测试任务成功");
|
Logger.Scheduler.Info($"计划调度(名称:{Name})完成\r\n");
|
}
|
catch (System.Exception ex)
|
{
|
Logger.Scheduler.Fatal(ex, "测试任务异常\r\n");
|
}
|
}
|
}
|
}
|