Создание модуля подключения Drupal-SQLite

Job ID: 40073141

Budget: $10 – $30 USD

Тема: Создание модуля интеграции Drupal с внешней SQLite БД (Production Monitor)

Цель: Реализовать "Мост" между внешней базой данных (SQLite) и Drupal. Написать модуль, который забирает данные об изделии, проводит расчеты и сохраняет результат в Drupal. Дизайн и верстка не важны (используйте стандартную тему).

Вводные данные:

CMS: Drupal 10 или 11.

Источник данных: Файл workshop_bot.db (SQLite). Схема данных описана в DATABASE_SCHEMA.md.

Алгоритмы: Описаны в MONITOR_ALGORITHMS.md (раздел "Детали изделия").

Задача пошагово:

Архитектура подключения:

Реализовать подключение к workshop_bot.db как к внешней базе данных (secondary database) через settings.php и Drupal Database API.

Запрещено: Использовать прямые вызовы PDO или sqlite_open в контроллерах.

Логика импорта (Service):

Создать кастомный модуль factory_bridge.

Написать сервис/функцию, которая по ID изделия (например, internal_id = 100 — выберите любой существующий в БД ID) забирает данные из внешней БД.

Нужно выбрать: само изделие (order_items), его задачи (assigned_tasks) и сессии (work_sessions).

Сохранение в Drupal:

При запуске импорта (можно по url или drush-команде) создать (или обновить) в Drupal сущность (Node тип "Изделие" или Custom Entity).

Сохранить основные поля: Название, Артикул, Статус.

Расчеты и Вывод:

Создать страницу (Controller) или блок, выводящий таблицу операций для этого изделия.

Для каждой операции рассчитать и вывести:

НЧ План: (applied_norm_hours из assigned_tasks).

Ч Факт: Сумма длительности всех work_sessions (разница end_time - start_time).

Дельта: Разница (План - Факт).

Важно: Логика расчетов должна быть на стороне PHP (не в Twig).