year}", [ 'archive' => $this->archivePath, 'clear_existing' => $this->clearExisting, ]); $service = new ImportYearDataService( $this->archivePath, $this->year, $this->userId, $this->clearExisting ); $success = $service->handle(); $logs = $service->getLogs(); if ($success) { Log::info("ImportYearDataJob completed for year {$this->year}"); event(new SendWebSocketMessageEvent( "Импорт данных за {$this->year} год завершён!", $this->userId, [ 'success' => true, 'year' => $this->year, 'logs' => $logs, ] )); } else { Log::error("ImportYearDataJob failed for year {$this->year}"); event(new SendWebSocketMessageEvent( "Ошибка импорта данных за {$this->year} год", $this->userId, [ 'error' => 'Импорт завершился с ошибками', 'year' => $this->year, 'logs' => $logs, ] )); } } catch (Exception $e) { Log::error("ImportYearDataJob failed for year {$this->year}: " . $e->getMessage(), [ 'trace' => $e->getTraceAsString() ]); event(new SendWebSocketMessageEvent( "Ошибка импорта данных за {$this->year} год: " . $e->getMessage(), $this->userId, [ 'error' => $e->getMessage(), 'year' => $this->year, ] )); } } }