menu.md 17 KB

Новое меню Manager

Документ фиксирует целевую древовидную структуру меню по ТЗ Manager 2.0 и текущий статус разделов в существующей Laravel CRM.

Легенда статусов

  • Есть — раздел уже реализован и имеет рабочие маршруты/страницы.
  • Частично — есть близкий текущий функционал, но его нужно переименовать, перенести в другую группу или доработать под новое ТЗ.
  • Нужно реализовать — раздела нет, на первом этапе нужна страница-заглушка "В разработке".
  • Уточнить — требуется продуктовая/архитектурная развилка перед реализацией.

Целевое верхнее меню

Manager
├── ДКР
│   ├── Площадки
│   ├── МАФ
│   ├── Каталог
│   ├── Отчеты
│   ├── Ответственные
│   └── Заказы МАФ
├── Графики
│   ├── График заказов
│   ├── График доставок
│   └── График монтажей
├── Рекламации
│   ├── Все
│   └── ДКР
├── Запчасти
│   ├── Каталог
│   ├── Заказы запчастей
│   ├── Контроль наличия
│   ├── Справочник расшифровок
│   └── Справка
├── Склад
│   ├── Наличие
│   └── Заказы
├── Каталог общий
│   ├── Позиции
│   └── Карточка позиции
│       └── Техническое описание / экспорт
├── Документация
├── Калькуляции
└── Администратор
    ├── Подрядчики
    ├── Договоры
    ├── Пользователи
    ├── Роли и права
    ├── Настройки
    ├── Округа
    ├── Районы
    ├── Журнал уведомлений
    ├── Импорт
    ├── Экспорт/Импорт года
    └── Удалить данные

Детализация по разделам

ДКР

Статус: Есть, требуется реорганизация меню.

ДКР должен стать отдельной верхней группой. Текущие пункты верхнего меню нужно сгруппировать внутрь него без изменения действующей логики.

Пункт Статус Текущий маршрут Комментарий
Площадки Есть order.index Сейчас верхний пункт Площадки.
МАФ Есть product_sku.index Сейчас верхний пункт МАФ. В коде также помечен как склад МАФ.
Каталог Есть catalog.index Каталог ДКР. Это отдельная сущность, не Каталог общий.
Отчеты Есть reports.index Сейчас верхний пункт Отчёты.
Ответственные Есть responsible.index Сейчас верхний пункт Ответственные.
Заказы МАФ Есть maf_order.index Сейчас верхний пункт Заказы МАФ.

Принятое решение: Каталог ДКР и Каталог общий — разные сущности. Каталог ДКР остается внутри ДКР и продолжает работать по текущим маршрутам. Каталог общий реализуется отдельно как общий справочник платформы.

Графики

Статус: Текущие рекламации реализованы; интеграция с графиком заказов отложена.

Нужна новая верхняя группа Графики. На первом этапе недостающие пункты можно добавить как заглушки.

Пункт Статус Текущий маршрут Комментарий
График заказов Нужно реализовать - По ТЗ: производственный график, загрузка через 1С, связь с каталогом и монтажами.
График доставок Нужно реализовать - По ТЗ: недельный список, адреса из графика заказов, ручная занятость водителей.
График монтажей Есть schedule.index Сейчас верхний пункт График монтажей; нужно перенести внутрь группы Графики.

Рекламации

Статус: Ядро реализовано, ожидает пользовательской проверки.

В текущем разделе реализованы отдельные вкладки Все и ДКР. Вкладка ДКР отделяет рекламации, по которым разрешено формирование документации для оплаты.

Пункт Статус Текущий маршрут Комментарий
Все Есть reclamations.index Общий список всех рекламаций.
ДКР Есть reclamations.index Отдельная вкладка текущего списка с обязательным фильтром по типу dkr (ДКР); только для этого типа доступны платежные документы.

Рекламации из График заказов создаются из карточки заказа после выбора одного или нескольких МАФ. Открывается текущая форма создания, назначается тип other (Прочее) из справочника reclamation_types; такие рекламации не выводятся во вкладке ДКР, и для них недоступна документация для оплаты.

Запчасти

Статус: Есть, требуется реорганизация меню.

Раздел уже вынесен отдельным верхним пунктом Запчасти и внутри имеет вкладки. В новом меню можно сохранить его как верхнюю группу и явно отразить существующие подпункты.

Пункт Статус Текущий маршрут Комментарий
Каталог Есть spare_parts.index Каталог запчастей.
Заказы запчастей Есть spare_part_orders.index Текущий маршрут заказов запчастей; в старом интерфейсе мог называться Заказы деталей.
Контроль наличия Есть spare_part_inventory.index Текущая вкладка контроля наличия запчастей.
Справочник расшифровок Есть pricing_codes.index Показывать всем пользователям с доступом к модулю Запчасти.
Справка Есть spare_parts.help Текущая справочная страница раздела.

Склад

Статус: ядро реализовано, ожидает пользовательской проверки.

Раздел реализован по образцу Запчасти и использует позиции из Каталог общий. Остатки рассчитываются из складских заказов, активных броней и списаний. PDF-экспорт остаётся открытым до получения отдельного шаблона.

Пункт Статус Текущий маршрут Комментарий
Наличие Реализовано stock.index, stock.show Доступно всем штатным ролям; список, поиск, карточка, остатки, брони, списание, отмена и история.
Заказы Реализовано stock.orders Доступ только админу и роли assistant_head; ручное создание/редактирование и XLSX-импорт.

Отдельно в разделе потребуется PDF-экспорт наличия по шаблону.

Базовый функциональный ориентир:

  • Наличие соответствует логике контроля наличия/остатков в разделе Запчасти.
  • Заказы соответствует логике заказов деталей в разделе Запчасти.
  • Карточка позиции должна повторять подход карточки запчасти/заказа: остатки, активные брони, действия списания и отмены, история.
  • Расчет доступного остатка, запрет брони сверх доступного количества, списание с конкретных заказов и сохранение истории должны работать по той же логике, что и в Запчасти.
  • Отличие доменной модели: вместо запчастей используются МАФ/позиции из Каталог общий, а отображаемые поля позиции берутся из общего каталога.

Каталог общий

Статус: Частично.

По ТЗ это центральный справочник платформы. Это отдельная сущность, не каталог ДКР. Текущий catalog.index остается каталогом ДКР; для общего каталога используются маршруты с префиксом common-catalog/..., а таблицы и права получают техническое имя common-catalog.

Пункт Статус Текущий маршрут Комментарий
Позиции Реализовано common-catalog.index Отдельный общий справочник с поиском, фильтрами, пагинацией и импортом/экспортом по утвержденному XLSX-формату.
Карточка позиции Реализовано common-catalog.show Центральная карточка общей позиции/МАФ со всеми полями шаблона.
Фото МАФ Реализовано common-catalog.image.* Фото хранится через текущий файловый механизм и выводится в списке/карточке.
Документы Реализовано common-catalog.documents.* Поддержан набор сопутствующих документов позиции.
Техническое описание Источник изучен, готово к реализации common-catalog.show Данные и DOCX-экспорты to.stroyprofit.com переносятся внутрь карточки общего каталога.
Калькуляция Подготовлена кнопка common-catalog.show Финальное действие кнопки определяется отдельным ТЗ; calc.stroyprofit.com изучен как источник модели и экспортов.

Документация

Статус: Реализовано и проверено пользователем.

Рабочий раздел для инструкций, прайсов и прочих файлов. Реализованы дерево папок, наследуемые права чтения/записи для всех, ролей и пользователей, поиск, приватное хранение файлов и управление версиями документов.

Технич. описание

Статус: Источник изучен, встроить в каталог.

Это не отдельный пункт меню и не самостоятельный модуль. Функциональность технического описания должна быть доступна из карточки позиции Каталог общий: по сути это те же данные позиции, но с выгрузками в определенном формате. Модуль to.stroyprofit.com уже изучен; из него переносятся недостающие данные, массовый DOCX и отдельные DOCX в ZIP.

Калькуляции

Статус: Исходный модуль изучен, ожидается отдельное ТЗ.

Кнопка калькуляции остается в карточке общего каталога. Финальная архитектура пока не утверждена: отдельное ТЗ должно определить внутренний расчёт в Laravel либо интеграцию. calc.stroyprofit.com используется как источник сущностей, формул и Excel-выгрузок, но не переносится без проверки.

Администратор

Статус: Есть, требуется переименование группы.

Сейчас группа называется Администрирование. В новом меню по ТЗ целевое название — Администратор.

Пункт Статус Текущий маршрут Комментарий
Подрядчики Есть contractors.index Всегда показывать внутри группы Администратор; отдельным верхним пунктом не выводить.
Договоры Есть contract.index Сейчас внутри Администрирование.
Пользователи Есть user.index Сейчас внутри Администрирование.
Роли и права Есть admin.roles.index Сейчас внутри Администрирование.
Настройки Есть admin.settings.index Сейчас внутри Администрирование.
Округа Есть admin.district.index Сейчас внутри Администрирование.
Районы Есть admin.area.index Сейчас внутри Администрирование.
Журнал уведомлений Есть admin.notifications.log Сейчас внутри Администрирование.
Импорт Есть import.index Сейчас внутри Администрирование.
Экспорт/Импорт года Есть year-data.index Сейчас внутри Администрирование.
Удалить данные Есть clear-data.index Сейчас внутри Администрирование.

Предлагаемый первый этап реализации

  1. Перестроить resources/views/layouts/menu.blade.php под верхние группы из этого документа.
  2. Для разделов без реализации добавить общую страницу-заглушку В разработке.
  3. Сохранить текущие права доступа для уже существующих пунктов.
  4. Для новых пунктов-заглушек открыть доступ всем авторизованным пользователям.
  5. Не менять бизнес-логику существующих модулей на этапе реорганизации меню.
  6. Для новых модулей не применять фильтрацию/ограничение по выбранному году.

Открытые вопросы

  1. Когда будет передано отдельное ТЗ на График заказов?
  2. Будет ли отдельное ТЗ на Калькуляции и какую архитектуру оно определит?
  3. Где находятся актуальные исходные данные старого калькулятора?