| | |
| | | using HslCommunication; |
| | | using HslCommunication.Core; |
| | | using Microsoft.VisualBasic.FileIO; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; |
| | | using Quartz; |
| | | using SixLabors.ImageSharp.PixelFormats; |
| | | using SqlSugar; |
| | |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_BasicInfoService; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Communicator; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | | using WIDESEAWCS_Core.Enums; |
| | | 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; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | |
| | | private readonly ITrackloginfoService _trackloginfoService; |
| | | private readonly IUnitOfWorkManage _unitOfWorkManage; |
| | | private readonly IAGVCartInfoService _agvcartInfoService; |
| | | private readonly IStationInfoService _stationInfoService; |
| | | |
| | | public TaskJob(ITaskService taskService, IApiInfoService apiInfoService, IRGVLocationInfoService rGVLocationInfoService, IStationMangerService stationMangerService, ITrackloginfoService trackloginfoService, IUnitOfWorkManage unitOfWorkManage, IAGVCartInfoService agvcartInfoService) |
| | | public TaskJob(ITaskService taskService, IApiInfoService apiInfoService, IRGVLocationInfoService rGVLocationInfoService, IStationMangerService stationMangerService, ITrackloginfoService trackloginfoService, IUnitOfWorkManage unitOfWorkManage, IAGVCartInfoService agvcartInfoService, IStationInfoService stationInfoService) |
| | | { |
| | | _taskService = taskService;//娉ㄥ叆 |
| | | _apiInfoService = apiInfoService; |
| | |
| | | _trackloginfoService = trackloginfoService; |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _agvcartInfoService = agvcartInfoService; |
| | | _stationInfoService = stationInfoService; |
| | | } |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | |
| | | SendNewTask(); |
| | | |
| | | SendWaitToTask(); |
| | | |
| | | #region 澶勭悊鍐欏叆璁惧淇″彿寮傚父浠诲姟 |
| | | var tasks = _taskService.Repository.QueryData(x => x.TaskState == TaskStatusEnum.Finish.ObjToInt() && !string.IsNullOrEmpty(x.Remark)); |
| | | if (tasks.Count > 0) |
| | | { |
| | | List<Dt_Task> list = new List<Dt_Task>(); |
| | | foreach (var item in tasks) |
| | | { |
| | | var infos = item.Remark.Split("_"); |
| | | var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == infos[0]) as OtherDevice; |
| | | if (device != null && device.IsConnected) |
| | | { |
| | | DeviceProDTO? devicePro = device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == infos[1] && x.DeviceChildCode == infos[3]); |
| | | if (devicePro != null) |
| | | { |
| | | var W = device.Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, infos[2]); |
| | | if (W) list.Add(item); |
| | | } |
| | | } |
| | | } |
| | | _taskService.Repository.DeleteAndMoveIntoHty(list, OperateTypeEnum.鑷姩鍒犻櫎); |
| | | } |
| | | #endregion |
| | | } |
| | | catch (Exception ex) |
| | | { |