Перейти к основному содержимому

Анализ: wms-autodoc (бизнес) vs реальная кодовая база WMS

Дата анализа: 2026-03-27 Версия WMS: Spring Boot 3.4.2, Java 21 Источники: кодовая база wms, бизнес-документация wms-autodoc (Docusaurus)


1. Концепция: два контура документации

wms-autodoc — бизнес-документация

Аудитория: операторы склада, менеджеры, бизнес-аналитики, интеграторы (Merchant API). Цель: описать ЧТО делает система, КАК с ней работать, КАКИЕ процессы автоматизирует. Формат: Docusaurus-сайт, русский язык, Mermaid-диаграммы, сценарии, роли.

wms/docs/ — техническая документация

Аудитория: разработчики, архитекторы, DevOps. Цель: описать КАК система устроена внутри, какие паттерны и абстракции используются, как добавлять новый функционал. Формат: Markdown в репозитории, привязка к коду, примеры классов и API.

Принцип разделения: бизнес-документация не должна содержать имён классов, пакетов, технических деталей реализации. Техническая документация не должна дублировать бизнес-сценарии и описания ролей. Но обе должны быть фактически корректны — описывать одну и ту же систему с разных ракурсов.


2. Анализ wms-autodoc: фактические несоответствия коду

Ниже — ошибки и расхождения в бизнес-документации, которые нужно исправить, не меняя бизнес-стиль документов.

2.1 Типы документов — пропущены 6 типов

autodoc описывает ~27 типов документов. В реальной системе их 33. Следующие типы отсутствуют в бизнес-документации и должны быть добавлены:

Тип документаБизнес-названиеЧто нужно описать
Доп. обработкаДополнительная обработкаМаркировка, стикеровка, переупаковка товаров
Документ несоответствийАкт несоответствийФиксация брака и потерь при операциях
Эмиссия серийных номеровГенерация серийных номеровВыпуск серийных номеров / честный знак
Распаковка упаковокРаспаковкаРазбор заводских упаковок на единицы товара
План обработки контейнераПлан обработкиМаршрут контейнера через рабочие места
РейсРейс транспортаОбъединение перевозок в один рейс

2.2 Некорректные/устаревшие названия

Что в autodocКак в системеРекомендация
"Визуальный контроль" (один документ)Разделён на 2: Визуальный контроль + Лабораторный контрольОписать оба типа отдельно
"Cargo Place" (англ. название)Грузовое место (PackagingUnit)Привести к единому русскому названию
"Batch Sets" (англ. название)Батч наборов (BundleOrderBatch)Привести к единому русскому названию
ЧЗ (Честный знак) помечен "under redesign"В коде реализован и работаетУбрать пометку, описать актуальный процесс

2.3 Merchant API — расхождения с реальностью

Верно описаны (7 групп):

  • Склады, Контрагенты, Службы доставки, Договоры доставки, Товары (SKU), Поставки, Заказы

Отсутствуют в autodoc, но есть в API:

  • Возвраты (/merchant-api/returning) — полный цикл возврата товаров
  • Перемещения (/merchant-api/movement) — движения товаров
  • Отгрузка/доставка (/merchant-api/delivery) — информация о доставке
  • Наборы (/merchant-api/bundle) — комплектация
  • Статусы поставок — неполное описание жизненного цикла (в коде больше статусов)

Конкретные фактические ошибки:

  • Base URL http://wms-api.dev.sigmation.ai/ — нужно проверить актуальность
  • Статусы поставки: в autodoc 5 статусов (NEW, AWAITING_RECEIPT, RECEIVING, RECEIVED, DONE), в коде может быть больше — нужна сверка с enum

2.4 Справочники — неполный список

autodoc перечисляет 6 групп справочников. Пропущены:

  • Типы упаковки товара (SkuPackaging) — критически важный справочник для операций
  • Партии товара (SkuBatch) — учёт по партиям, срокам годности
  • Кондиции товара — состояние товара (годный, брак, карантин)
  • Типы контейнеров — вложенность, допустимые зоны
  • Рабочие пространства (Workspace) — логические зоны работы сотрудников
  • Типы зон склада — хранение, отбор, приёмка, отгрузка и т.д.
  • Правила размещения — алгоритмы выбора ячеек

2.5 АРМы — фактические пробелы

Отсутствующие АРМы (есть в системе, нет в документации):

  • АРМ дополнительной обработки (маркировка, стикеровка)
  • АРМ управления транспортными местами
  • АРМ мониторинга заказов (OrderMonitoring)
  • АРМ управления контейнерами

Описанные АРМы с неполными сценариями:

  • Отбор (picking) — не описаны алгоритмы формирования маршрута, работа с контейнерами
  • Упаковка (packing) — не описан процесс формирования грузовых мест
  • Сортировка — не описана связь с батчами и контейнерами
  • Подпитка — не описаны правила автоматического запуска

2.6 Отчёты — ссылки вместо содержания

Отчёты описаны списком со ссылками на Google Sheets. Проблемы:

  • Внешние ссылки могут стать недоступны
  • Нет описания параметров фильтрации
  • Нет описания бизнес-смысла показателей
  • Нет примеров использования отчётов

2.7 Интеграции — неполная картина для бизнеса

В autodoc описана только интеграция через Merchant API. Для бизнес-аудитории также важно знать:

  • Интеграция с ERP-системой (синхронизация данных)
  • Интеграция с курьерскими службами через ApiShip
  • Уведомления через Telegram (какие события, кому)
  • Печать этикеток и документов (ZPL-принтеры, PDF-формы)

3. Что НЕ нужно добавлять в wms-autodoc

Следующее относится к технической документации и не должно появляться в бизнес-доке:

  • Имена Java-классов, пакетов, аннотаций
  • Архитектурные паттерны (BaseDocManager pipeline, Movement system, конструктор форм)
  • Описание базы данных, миграций, ORM
  • Event-driven архитектура, Spring Events
  • Механизмы конкурентности (splitter, optimistic locking)
  • Кеширование, метрики, DevOps
  • Employee API endpoints (это внутренний API, не для бизнеса)
  • System API

4. Что нужно в технической документации (wms/docs/)

Полный список тем, которые отсутствуют в autodoc и не должны там быть, но критичны для разработчиков:

4.1 Архитектура ядра

ТемаПриоритетОписание
Конвейер обработки документовКритическийBaseDocManager pipeline, 14 шагов, hooks, модификаторы
Система движений и регистровКритический6 типов движений, 5 регистров, координаты, splitter
Конструктор формВысокийListTemplate/EditTemplate, авто-рефлексия, ParamType
Доменная модельВысокийИерархия BaseDoc/BaseDocItem, 33 типа документов, 378 сущностей
Event-driven архитектураВысокий103 типа событий, паттерны подписки
State MachineСреднийSpring Statemachine для workflow документов

4.2 Инфраструктура

ТемаПриоритетОписание
Технологический стекВысокийSpring Boot 3.4.2, Java 21, PostgreSQL, и т.д.
Модель безопасностиВысокийJWT, 3 filter chains, роли, привилегии, multi-tenancy
API (Employee, Merchant, System)ВысокийВсе endpoint'ы, auth, форматы запросов/ответов
База данныхСреднийLiquibase, схема, ключевые таблицы
КешированиеСреднийCaffeine конфигурация
ИнтеграцииСреднийERP, ApiShip, S3, Telegram, Serial Numbers

4.3 Руководства для разработчиков

ТемаПриоритетОписание
Как добавить новый тип документаКритическийПошаговое руководство
Как добавить новый тип движенияВысокийСоздание Movement, Registry, координат
Как создать форму (List/Edit Template)ВысокийКонструктор форм, примеры
Как добавить справочникСреднийEntity, Repository, Service, Template
Соглашения разработкиСреднийconventions.md + дополнения
ЛокализацияНизкий17 файлов .properties, правила именования

5. Сводная таблица: два контура

Темаwms-autodoc (бизнес)wms/docs/ (техническая)
Обзор системыБизнес-возможности, ценностьАрхитектура, стек, компоненты
ДокументыБизнес-назначение, сценарииBaseDoc иерархия, pipeline, hooks
АРМыРоли, процессы, диаграммыКонтроллеры, API-вызовы, state machines
СправочникиЧто хранится, зачем нужноEntity-классы, поля, связи, валидации
ОтчётыКакие данные, для когоJasperReports шаблоны, параметры
ИнтеграцииБизнес-партнёры, возможностиHTTP-клиенты, форматы, retry
APIMerchant API (для интеграторов)Все 3 API с техническими деталями
Движения/регистрыПолное описание системы учёта
БезопасностьJWT, роли, привилегии
Конструктор формListTemplate/EditTemplate framework
EventsТипы событий, подписки
РуководстваКак работать с АРМамиКак добавлять новый функционал

6. План действий

Фаза 1: Исправления в wms-autodoc

  1. Добавить 6 пропущенных типов документов
  2. Исправить устаревшие названия
  3. Убрать пометку "under redesign" с ЧЗ
  4. Дополнить Merchant API недостающими endpoint'ами
  5. Добавить пропущенные справочники
  6. Добавить пропущенные АРМы
  7. Проверить и обновить Base URL

Фаза 2: Техническая документация (wms/docs/)

  1. Обзор системы (стек, структура проекта, сборка)
  2. Архитектура (конвейер документов, движения, конструктор форм)
  3. Доменная модель (документы, сущности, регистры)
  4. API reference (Employee, Merchant, System)
  5. Безопасность (JWT, роли, multi-tenancy)
  6. Руководства разработчика (как добавить документ, движение, форму)
  7. Интеграции (ERP, ApiShip, S3, Telegram)
  8. Инфраструктура (БД, кеширование, мониторинг)