using Quartz;
|
using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Common.Tools;
|
using WIDESEA_Core.Utilities;
|
using WIDESEA_WCS.Jobs;
|
using WIDESEA_WCS.SchedulerExecute.AGV;
|
using WIDESEA_WCS.WCSClient;
|
|
namespace WIDESEA_WCS
|
{
|
[DisallowConcurrentExecution]
|
public class AGVJob : JobBase, IJob
|
{
|
public Task Execute(IJobExecutionContext context)
|
{
|
try
|
{
|
|
List<string> AGVS = new List<string> { "正极1号AGV", "正极2号AGV", "负极1号AGV", "负极2号AGV" };
|
foreach (var item in AGVS)
|
{
|
PLCClient client = WCSService.Clients.Find(v => v.PLCName == item);
|
AGVSchedulerExecute.SendAGVTask1(client);//发送AGV任务
|
AGVSchedulerExecute.UpdateState(client);//更新AGV任务
|
}
|
//var executeLog = ExecuteJob(context, () => Run(context));
|
}
|
catch (Exception ex)
|
{
|
WriteLog.Info("SendAGVTask").Write(ex.Message.ToString() + DateTime.Now, "SendAGVTask");
|
}
|
return Task.FromResult(string.Empty);
|
}
|
|
public string Run(IJobExecutionContext context)
|
{
|
JobDataMap data = context.JobDetail.JobDataMap;
|
PLCClient client = data.Get("JobParams") as PLCClient;
|
|
AGVSchedulerExecute.SendAGVTask1(client);
|
AGVSchedulerExecute.UpdateState(client);
|
return "";
|
}
|
}
|
}
|