Создание модуля подключения Drupal-SQLite
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).
Цель: Реализовать "Мост" между внешней базой данных (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).