| | |
| | | /// <summary> |
| | | /// 日志记录器 |
| | | /// </summary> |
| | | private readonly ILogger _logger; |
| | | private readonly ILogger _logger; |
| | | |
| | | /// <summary> |
| | | /// 堆垛机设备编码 |
| | |
| | | |
| | | // 初始化命令构建器 |
| | | _commandBuilder = new StackerCraneCommandBuilder(taskService, routerService, _logger); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载配置文件(优先级:配置文件 > 默认配置) |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// 从应用程序目录下的 StackerCraneJob/stackercrane-command-config.json 读取配置。 |
| | | /// 如果文件不存在或解析失败,使用默认配置。 |
| | | /// </remarks> |
| | | /// <returns>堆垛机命令配置</returns> |
| | | private static StackerCraneCommandConfig LoadConfig() |
| | | { |
| | | try |
| | | { |
| | | // 构造配置文件路径 |
| | | string configPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "StackerCraneJob", "stackercrane-command-config.json"); |
| | | if (File.Exists(configPath)) |
| | | { |
| | | // 读取并解析 JSON 配置 |
| | | string json = File.ReadAllText(configPath); |
| | | return System.Text.Json.JsonSerializer.Deserialize<StackerCraneCommandConfig>(json) ?? new StackerCraneCommandConfig(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // 配置加载失败,使用默认配置 |
| | | Console.WriteLine($"配置加载失败: {ex.Message},使用默认配置"); |
| | | } |
| | | |
| | | return new StackerCraneCommandConfig(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | |
| | | |
| | | // ========== 构建命令 ========== |
| | | // 命令构建下沉到专用构建器 |
| | | object? stackerCraneTaskCommand = _commandBuilder.ConvertToStackerCraneTaskCommand(task); |
| | | if (stackerCraneTaskCommand == null) |
| | | { |
| | | // 命令构建失败 |
| | | QuartzLogHelper.LogInfo(_logger, $"Execute:命令构建失败,设备: {_deviceCode},任务号: {task.TaskNum}", _deviceCode); |
| | | return Task.CompletedTask; |
| | | } |
| | | |