using Quartz; using WIDESEAWCS_ISystemRepository; using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_QuartzJob; namespace WIDESEAWCS_Tasks { [DisallowConcurrentExecution] public class CommonAGVJob : JobBase, IJob, IDisposable { private readonly ITaskRepository _taskRepository; private readonly ITaskCZRepository _taskCZRepository; private readonly ITaskCZDetailsRepository _detailsRepository; private readonly IDt_StationinfoRepository _stationinfoRepository; public CommonAGVJob(ITaskRepository taskRepository, IDt_StationinfoRepository stationinfoRepository, ITaskCZRepository taskCZRepository, ITaskCZDetailsRepository detailsRepository) { _taskRepository = taskRepository; _taskCZRepository = taskCZRepository; _detailsRepository = detailsRepository; _stationinfoRepository = stationinfoRepository; } public void Dispose() { GC.SuppressFinalize(this); } public Task Execute(IJobExecutionContext context) { AGV agv = (AGV)context.JobDetail.JobDataMap.Get("JobParams"); SendTaskAGV.SendAGVTask1(_taskRepository, _stationinfoRepository); //SendTaskAGV.SendAGVTask(agv, _taskRepository); //UpdateTaskAGV.UpdateTask(agv, _taskRepository, _taskCZRepository, _detailsRepository); return Task.CompletedTask; } } }