| | |
| | | if (!flag || value is not CommonStackerCrane commonStackerCrane) |
| | | { |
| | | // 参数无效,直接返回 |
| | | _logger.LogWarning("Execute:参数无效"); |
| | | QuartzLogger.Warn("Execute:参数无效", "CommonStackerCraneJob"); |
| | | QuartzLogHelper.LogWarn(_logger, "Execute:参数无效", "Execute:参数无效", "CommonStackerCraneJob"); |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | |
| | | { |
| | | // 绑定任务完成事件处理方法 |
| | | commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler; |
| | | _logger.LogInformation("Execute:订阅任务完成事件,设备: {DeviceCode}", _deviceCode); |
| | | QuartzLogger.Info($"订阅任务完成事件", _deviceCode); |
| | | QuartzLogHelper.LogInfo(_logger, "Execute:订阅任务完成事件,设备: {DeviceCode}", "订阅任务完成事件", _deviceCode, _deviceCode); |
| | | } |
| | | |
| | | // ========== 检查堆垛机任务完成状态 ========== |
| | |
| | | |
| | | // ========== 检查是否可以发送新任务 ========== |
| | | //if (!commonStackerCrane.IsCanSendTask(commonStackerCrane.Communicator, commonStackerCrane.DeviceProDTOs, commonStackerCrane.DeviceProtocolDetailDTOs)) |
| | | if (commonStackerCrane.StackerCraneStatusValue != StackerCraneStatus.Normal) |
| | | if (commonStackerCrane.StackerCraneStatusValue != StackerCraneStatus.Normal /*&& commonStackerCrane.StackerCraneAutoStatusValue != StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneWorkStatusValue != StackerCraneWorkStatus.Standby*/) |
| | | { |
| | | // 堆垛机不可用(如正在执行上一任务),直接返回 |
| | | _logger.LogDebug("Execute:堆垛机不可用,设备: {DeviceCode}", _deviceCode); |
| | | QuartzLogger.Debug($"堆垛机不可用,设备: {_deviceCode}", _deviceCode); |
| | | //_logger.LogDebug("Execute:堆垛机不可用,设备: {DeviceCode}", _deviceCode); |
| | | //QuartzLogger.Debug($"堆垛机不可用,设备: {_deviceCode}", _deviceCode); |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | |
| | | if (stackerCraneTaskCommand == null) |
| | | { |
| | | // 命令构建失败 |
| | | _logger.LogWarning("Execute:命令构建失败,设备: {DeviceCode},任务号: {TaskNum}", _deviceCode, task.TaskNum); |
| | | QuartzLogger.Warn($"命令构建失败,任务号: {task.TaskNum}", _deviceCode); |
| | | QuartzLogHelper.LogWarn(_logger, "Execute:命令构建失败,设备: {DeviceCode},任务号: {TaskNum}", $"命令构建失败,任务号: {task.TaskNum}", _deviceCode, _deviceCode, task.TaskNum); |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | |
| | | commonStackerCrane.LastTaskType = task.TaskType; |
| | | _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | |
| | | _logger.LogInformation("Execute:命令发送成功,设备: {DeviceCode},任务号: {TaskNum}", _deviceCode, task.TaskNum); |
| | | QuartzLogger.Info($"命令发送成功,任务号: {task.TaskNum}", _deviceCode); |
| | | QuartzLogHelper.LogInfo(_logger, "Execute:命令发送成功,设备: {DeviceCode},任务号: {TaskNum}", $"命令发送成功,任务号: {task.TaskNum}", _deviceCode, _deviceCode, task.TaskNum); |
| | | } |
| | | else |
| | | { |
| | | _logger.LogError("Execute:命令发送失败,设备: {DeviceCode},任务号: {TaskNum}", _deviceCode, task.TaskNum); |
| | | QuartzLogger.Error($"命令发送失败", _deviceCode); |
| | | QuartzLogHelper.LogError(_logger, "Execute:命令发送失败,设备: {DeviceCode},任务号: {TaskNum}", $"命令发送失败", _deviceCode, _deviceCode, task.TaskNum); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // 记录异常 |
| | | _logger.LogError(ex, "Execute:执行异常,设备: {DeviceCode}", _deviceCode); |
| | | QuartzLogger.Error($"执行异常: {ex.Message}", _deviceCode, ex); |
| | | QuartzLogHelper.LogError(_logger, ex, "Execute:执行异常,设备: {DeviceCode}", $"执行异常: {ex.Message}", _deviceCode, _deviceCode); |
| | | } |
| | | |
| | | return Task.CompletedTask; |
| | |
| | | if (stackerCrane != null) |
| | | { |
| | | // 记录日志 |
| | | _logger.LogInformation("CommonStackerCrane_StackerCraneTaskCompletedEventHandler:任务完成,任务号: {TaskNum}", e.TaskNum); |
| | | QuartzLogger.Info($"任务完成,任务号: {e.TaskNum}", stackerCrane.DeviceCode); |
| | | QuartzLogHelper.LogInfo(_logger, "CommonStackerCrane_StackerCraneTaskCompletedEventHandler:任务完成,任务号: {TaskNum}", $"任务完成,任务号: {e.TaskNum}", stackerCrane.DeviceCode, e.TaskNum); |
| | | |
| | | // 更新任务状态为完成 |
| | | if (_taskService.StackCraneTaskCompleted(e.TaskNum).Status) |