LightingControlTimeJob.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using Quartz;
  2. using System;
  3. using System.Threading.Tasks;
  4. using ToolLibrary.LogHelper;
  5. using Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection;
  6. using Yunda.ISAS.DataMonitoringServer.DataAnalysis.Model;
  7. namespace Yunda.ISAS.DataMonitoringServer.TimeWorkers
  8. {
  9. /// <summary>
  10. /// 巡检灯光控制
  11. /// </summary>
  12. [DisallowConcurrentExecution]
  13. public class LightingControlTimeJob : IJob
  14. {
  15. public async Task Execute(IJobExecutionContext context)
  16. {
  17. try
  18. {
  19. var telecomands = TimeWorkService._webApiRequest
  20. .GetLightingControlTelecommand(TimeWorkService._configurationHepler.SubstationId);
  21. if (telecomands == null)
  22. {
  23. return;
  24. }
  25. foreach (var telecomand in telecomands)
  26. {
  27. var telecom = new TelecommandModel();
  28. ToolLibrary.MapValue.Map(telecomand, telecom);
  29. telecom.Value = telecomand.Value;
  30. TimeWorkService._teleCommandDataSendTask.TelecommandTActionBlock.Post(new TelcommandDataModel()
  31. {
  32. Telecommand = telecom
  33. });
  34. }
  35. }
  36. catch (Exception ex)
  37. {
  38. Log4Helper.Error(this.GetType(), "定时布防撤防数据更新发生错误", ex);
  39. }
  40. }
  41. }
  42. }