using Autofac.Core; using HslCommunication; using HslCommunication.Core; using Microsoft.VisualBasic.FileIO; using OfficeOpenXml.FormulaParsing.Excel.Functions.Information; using Quartz; using SixLabors.ImageSharp; using SixLabors.ImageSharp.PixelFormats; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Common; using WIDESEAWCS_Common.LocationEnum; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Communicator; using WIDESEAWCS_Core.Helper; using WIDESEAWCS_IBasicInfoService; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob; using WIDESEAWCS_QuartzJob.DeviceBase; using WIDESEAWCS_QuartzJob.DTO; using WIDESEAWCS_QuartzJob.StackerCrane.Enum; using WIDESEAWCS_TaskInfoService; namespace WIDESEAWCS_Tasks { [DisallowConcurrentExecution] public partial class TSJJob : JobBase, IJob { private readonly ITaskService _taskService; private readonly IStationMangerService _stationMangerService; private readonly IStationInfoService _stationInfoService; public TSJJob(ITaskService taskService, IStationMangerService stationMangerService, IStationInfoService stationInfoService) { _taskService = taskService;//注入 _stationMangerService = stationMangerService; _stationInfoService = stationInfoService; } public Task Execute(IJobExecutionContext context) { bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value); if (flag && value != null) { OtherDevice device = (OtherDevice)value; HKConexecutTask(device); PalletNumConfirmation(device); PalletReportingToWMS(device); } else { WriteError(nameof(TSJJob), "参数错误,未传递设备参数或设备类型错误"); } return Task.CompletedTask; } } }