| | |
| | | using SqlSugar; |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_BasicInfoRepository; |
| | | using WIDESEAWCS_BasicInfoService; |
| | | using WIDESEAWCS_Common; |
| | |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | using WIDESEAWCS_SignalR; |
| | | using WIDESEAWCS_Tasks.ConveyorLineJob; |
| | | using WIDESEAWCS_Tasks.ElevatorJob; |
| | | using ICacheService = WIDESEAWCS_Core.Caches.ICacheService; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | if (conveyorLine != null) |
| | | { |
| | | |
| | | ConveyorLineTaskCommand conmmand = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>("LK001"); |
| | | if (conmmand != null) |
| | | { |
| | | var structs = BitConverter.GetBytes(conmmand.InteractiveSignal).Reverse().ToArray().ToBoolArray(); |
| | | if (structs[2]) |
| | | { |
| | | //var task = _taskRepository.QueryFirst(x => x.TaskNum == conmmand.TargetAddress); |
| | | var task = _taskRepository.QueryFirst(x => x.TaskState == (int)TaskInStatusEnum.Line_InExecuting && x.TaskNum == conmmand.ConveyorLineTargetAddress); |
| | | if (task != null) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.Line_InFinish; |
| | | task.CurrentAddress = task.NextAddress; |
| | | //鑾峰彇WMS璐т綅淇℃伅 |
| | | task.NextAddress = task.TargetAddress; |
| | | _taskRepository.UpdateData(task); |
| | | } |
| | | } |
| | | |
| | | if (structs[0]) |
| | | { |
| | | var task = _taskService.QueryRequestConveyorLineSignalTask(); |
| | | |
| | | if (task != null && task.AGVSign == "RequestPickUp") |
| | | { |
| | | if (conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "LK001") == 1) |
| | | { |
| | | await _taskService.ContinueAgvTask(task.AGVTaskNum); |
| | | task.AGVSign = ""; |
| | | task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish; |
| | | _taskRepository.UpdateData(task); |
| | | } |
| | | } |
| | | if (task != null && task.AGVSign == "RequestPut") |
| | | { |
| | | if (conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPut, "LK001") == 1) |
| | | { |
| | | await _taskService.ContinueAgvTask(task.AGVTaskNum); |
| | | task.AGVSign = ""; |
| | | _taskRepository.UpdateData(task); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |