Техническое задание на доработку системы управления сборкой заказов

Контекст проекта

Существует рабочая система для управления товарами и поставками на маркетплейсы. Технологический стек: фронтенд на React (Vite + Ant Design), бэкенд на NestJS с использованием Sequelize ORM и PostgreSQL в качестве БД. Сервер развернут с использованием nginx. Уже реализованы базовые интеграции с маркетплейсами (товары и поставки), справочники, модуль пользователей и раздел "Склад" (требует доработки).

Основные задачи для реализации

1. Модуль "Сборочные задания"

  • Отображение списка поставок с маркетплейсов. Реализация фильтрации по ролям - каждый сотрудник видит только свои задания.
  • Детальная карточка поставки с отображением по каждой позиции: фотография, цвет, размер, артикул, идентификаторы товара (nmId/sku), номер задания.
  • Внедрение постадийного контроля через чекбоксы: "Напечатал" (Печать), "Прижал" (Пресс), "Упаковал" (Упаковка).
  • Обработка статусов "Отмена" / "Отсутствует" - такие позиции автоматически перемещаются в раздел "Неподбор".
  • Реализация массовых операций над заданиями и ведение журнала изменений.
  • Функционал пересборки (рекомплектации) поставок на основе заданных фильтров.

2. Модуль "Неподбор" (Буферная зона)

  • Создание буфера для позиций, которые не подошли под фильтры автоматической сборки или отмечены как отсутствующие.
  • Таблица с указанием причины попадания в буфер.
  • Действия над позициями: "Перераспределить" (запуск пересборки), "Назначить вручную", мастер создания нового правила фильтрации на основе конкретной позиции.
  • Система гибких фильтров для формирования поставок: маркетплейс, категория/группа товара, цвет/размер, бренд, префиксы артикула, теги, привязка к отделу, приоритет, лимит на размер партии.

3. Система ролевого доступа (RBAC)

  • Определение ролей: Печать, Пресс, Упаковка, Склад, Оператор, Администратор.
  • Реализация авторизации на бэкенде с использованием JWT и защитой маршрутов (Guards).
  • Адаптация фронтенда: скрытие разделов интерфейса и действий, не доступных текущей роли пользователя.

4. Доработка модуля "Склад"

  • Исправление логики списаний.
  • Автоматическое резервирование товара при создании сборочного задания.
  • Фактическое списание при подтверждении этапа "Упаковал". Возврат резерва при отмене задания.
  • Внедрение защиты от образования отрицательных остатков на складе.
  • Проектирование и доработка структуры таблиц: stock_items (остатки), stock_reservations (резервы), stock_movements (движения).
  • Обеспечение идемпотентности складских операций для предотвращения дублирования.

5. Интеграция с системой маркировки "Честный ЗНАК" (КИЗ)

  • Создание системы шаблонов для печати этикеток в зависимости от категории товара.
  • Функционал печати этикеток в формате PDF или напрямую на принтер.
  • Механизм привязки уникальных кодов маркировки (КИЗ) к позициям в заказах.
  • Организация списания кодов из оборота при печати или упаковке (требует уточнения логики).
  • Ведение полного аудита всех операций с кодами маркировки.

Технические требования

  • Фронтенд: React + Vite + Ant Design (используется алиас @ для путей).
  • Бэкенд: NestJS + Sequelize (ORM) + PostgreSQL.
  • Инфраструктура: nginx в качестве веб-сервера.
  • Код должен быть чистым, документированным и соответствовать принципам выбранных фреймворков.

Оптимизация VDS-сервера и устранение скачков нагрузки CPU для сайта на MODX

Требуется диагностировать VDS-сервер с панелью ISPManager, на котором размещен сайт на MODX, выявить и устранить причины периодических скачков нагрузки процессора, приводящих к отключениям сайта. Необходимо провести оптимизацию сервера для стабильной работы.

Устройство проема в несущей стене гаража с металлическим усилением

Требуется выполнить работы по созданию проема для въезда автомобиля в гараже. Необходимо изготовить и установить металлическую обвязку и балку усиления. Имеется архитектурный разрез и план.