WCSRunJobs.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using Quartz;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Threading.Tasks;
  6. using WCS.Data;
  7. using WCS.PLC;
  8. using WCS.Workflow;
  9. namespace WCS.Service.Quartz
  10. {
  11. //原子操作
  12. [DisallowConcurrentExecution]
  13. public class WCSRunJobs : IJob
  14. {
  15. public Task Execute(IJobExecutionContext context)
  16. {
  17. ThreadHelper.TaskThread(WCSWorkflow.RefreshData);
  18. ThreadHelper.TaskThread(WCSWorkflow.UpdateTaskCurAddress);
  19. ThreadHelper.TaskThread(WCSWorkflow.UpdateExceptionTask);
  20. //查询最新日志
  21. ThreadHelper.TaskThread(WCSWorkflow.RefreshLogData);
  22. //更新任务进程
  23. ThreadHelper.TaskThread(BaseWorkflow.PutTaskStep);
  24. //上传LED设备异常任务
  25. ThreadHelper.TaskThread(BaseWorkflow.UpLoadExcToWMS);
  26. //上传设PLC备信息
  27. ThreadHelper.TaskThread(BaseWorkflow.PutDevInfoToWMS);
  28. //更新PLC最后完成时间和各个设备任务数量
  29. ThreadHelper.TaskThread(BaseWorkflow.UpdateUnexecuteTask);
  30. //执行WCS逻辑
  31. WCS_PLCList.ExecuteWcs_Workflow();
  32. //执行Agv逻辑
  33. ThreadHelper.TaskThread(AgvWorkflow.AgvRun);
  34. ThreadHelper.TaskThread(AgvWorkflow.AgvUpdateStatus);
  35. return Task.FromResult(string.Empty);
  36. }
  37. }
  38. }