files
This commit is contained in:
153
logic_full.md
153
logic_full.md
@ -1,153 +0,0 @@
|
|||||||
# ЛОГИКА ПОСТАВКИ РАСХОДНИКОВ ФУЛФИЛМЕНТА
|
|
||||||
|
|
||||||
> **ВНИМАНИЕ**: Данный файл содержит детальную логику процесса создания поставки расходников фулфилмента.
|
|
||||||
> Любые изменения в этом процессе должны быть согласованы и отражены в основном файле логики системы.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4. ПРОЦЕСС СОЗДАНИЯ ПОСТАВКИ РАСХОДНИКОВ ФУЛФИЛМЕНТА
|
|
||||||
|
|
||||||
### 4.1 Описание процесса
|
|
||||||
|
|
||||||
Фулфилмент-центры могут заказывать расходные материалы для своих операций напрямую у поставщиков. Этот процесс отличается от основного бизнес-процесса тем, что фулфилмент выступает как заказчик, а не как исполнитель услуг.
|
|
||||||
|
|
||||||
**ВАЖНОЕ РАЗЛИЧИЕ**: Расходники фулфилмента - это материалы, которые фулфилмент-центр заказывает для своих внутренних операций (упаковка, хранение, обработка товаров). Они отличаются от расходников селлера, которые селлер заказывает для своих товаров.
|
|
||||||
|
|
||||||
### 4.2 Участники процесса
|
|
||||||
|
|
||||||
- **Фулфилмент-центр** - заказчик расходников
|
|
||||||
- **Поставщик (WHOLESALE)** - поставщик расходных материалов
|
|
||||||
- **Логистическая компания (LOGIST)** - доставка товаров от поставщика к фулфилменту
|
|
||||||
- **Система** - автоматическая обработка заказов
|
|
||||||
|
|
||||||
### 4.3 Этапы процесса создания поставки расходников фулфилмента
|
|
||||||
|
|
||||||
#### Этап 1: Инициация заказа фулфилментом
|
|
||||||
|
|
||||||
1. **Переход к созданию заказа**: Фулфилмент заходит в раздел "Входящие поставки" → "Расходники фулфилмента" → "Создать поставку"
|
|
||||||
2. **Выбор поставщика**: Выбор контрагента с типом "WHOLESALE" из списка партнеров
|
|
||||||
3. **Поиск поставщика**: Возможность поиска по названию, полному названию или ИНН
|
|
||||||
4. **Просмотр каталога**: Просмотр товаров выбранного поставщика
|
|
||||||
|
|
||||||
#### Этап 2: Формирование заказа
|
|
||||||
|
|
||||||
5. **Поиск товаров**: Поиск нужных расходников в каталоге поставщика
|
|
||||||
6. **Выбор количества**: Указание необходимого количества для каждого товара
|
|
||||||
7. **Добавление в корзину**: Товары добавляются в список выбранных расходников фулфилмента
|
|
||||||
8. **Выбор логистики**: Выбор партнера-логиста для доставки товаров от поставщика
|
|
||||||
9. **Расчет стоимости**: Автоматический расчет общей суммы заказа
|
|
||||||
10. **Указание даты доставки**: Выбор желаемой даты поставки
|
|
||||||
|
|
||||||
#### Этап 3: Создание заказа в системе
|
|
||||||
|
|
||||||
11. **Валидация данных**: Проверка заполнения всех обязательных полей
|
|
||||||
12. **Создание SupplyOrder**: Система создает запись заказа поставки со статусом "PENDING"
|
|
||||||
13. **Указание получателя**: fulfillmentCenterId устанавливается как ID текущего фулфилмента
|
|
||||||
14. **Указание логистики**: logisticsPartnerId устанавливается как ID выбранной логистической компании
|
|
||||||
15. **Создание позиций заказа**: Создание SupplyOrderItem для каждого выбранного товара
|
|
||||||
|
|
||||||
#### Этап 4: Автоматическая обработка системой
|
|
||||||
|
|
||||||
16. **Создание расходников**: Система автоматически создает записи Supply со статусом "planned"
|
|
||||||
17. **Установка параметров**:
|
|
||||||
- Статус: "planned" (запланировано, ожидает одобрения)
|
|
||||||
- Категория: из товара или "Расходники"
|
|
||||||
- Минимальный остаток: 10% от заказанного количества
|
|
||||||
- Текущий остаток: 0 (товар еще не поступил)
|
|
||||||
18. **Привязка к организации**: Расходники создаются в организации фулфилмента
|
|
||||||
19. **Отправка уведомления**: Поставщик получает уведомление о новом заказе
|
|
||||||
|
|
||||||
#### Этап 5: Обработка поставщиком
|
|
||||||
|
|
||||||
20. **Получение заявки**: Заказ появляется в кабинете поставщика в разделе "Заявки"
|
|
||||||
21. **Рассмотрение заказа**: Поставщик может принять или отклонить заказ
|
|
||||||
22. **Изменение статуса**: При принятии статус SupplyOrder меняется на "CONFIRMED" (подтвержден поставщиком)
|
|
||||||
23. **Уведомление логистики**: После одобрения поставщиком заявка появляется в кабинете логистической компании
|
|
||||||
|
|
||||||
#### Этап 6: Обработка логистикой
|
|
||||||
|
|
||||||
24. **Получение заявки**: Заказ появляется в кабинете логистики в разделе "Заявки"
|
|
||||||
25. **Рассмотрение заявки**: Логистическая компания может подтвердить или отклонить заявку на доставку
|
|
||||||
26. **Подтверждение логистики**: При принятии логистика подтверждает возможность доставки в указанные сроки
|
|
||||||
27. **Обновление расходников**: Supply переходят в статус "confirmed" (ожидает отгрузки)
|
|
||||||
28. **Подготовка к отгрузке**: Поставщик готовит товар к отправке
|
|
||||||
|
|
||||||
#### Этап 7: Доставка и приемка
|
|
||||||
|
|
||||||
29. **Отгрузка товара** [**ПОСТАВЩИК**]: Поставщик физически отправляет товар логистической компании и **в системе нажимает кнопку "Отправить"** (статус SupplyOrder меняется с "CONFIRMED" на "IN_TRANSIT")
|
|
||||||
30. **Обновление статуса расходников** [**СИСТЕМА**]: Supply переходят в статус "in-transit" (в пути)
|
|
||||||
31. **Транспортировка** [**ЛОГИСТИКА**]: Логистическая компания доставляет товар в фулфилмент-центр
|
|
||||||
32. **Статус "IN_TRANSIT"** [**СИСТЕМА**]: Заказ переходит в статус "в пути"
|
|
||||||
33. **Приемка на фулфилменте** [**ФУЛФИЛМЕНТ**]: Менеджер фулфилмента принимает товар
|
|
||||||
34. **Обновление остатков** [**ФУЛФИЛМЕНТ**]: currentStock обновляется на фактически полученное количество
|
|
||||||
35. **Статус "DELIVERED"** [**ФУЛФИЛМЕНТ**]: Заказ завершается со статусом "доставлен"
|
|
||||||
36. **Обновление расходников** [**СИСТЕМА**]: Supply переходят в статус "in-stock" (на складе)
|
|
||||||
|
|
||||||
### 4.3.1 Результат завершения процесса
|
|
||||||
|
|
||||||
После успешного завершения процесса (статус Supply = "in-stock"):
|
|
||||||
|
|
||||||
37. **Отображение на складе** [**СИСТЕМА**]: Информация о поставке автоматически отображается в разделе **"Склад" → "Статистика расходников фулфилмента"**
|
|
||||||
38. **Отображение в расходниках фулфилмента** [**СИСТЕМА**]: Информация о поставке также отображается в подразделе **"Расходники фулфилмента"**
|
|
||||||
39. **Доступность для использования** [**ФУЛФИЛМЕНТ**]: Расходники становятся доступными для использования в операциях фулфилмент-центра
|
|
||||||
|
|
||||||
**Важно**: Статус "in-stock" (на складе) означает, что расходники физически находятся на складе фулфилмента и готовы к использованию в операционной деятельности.
|
|
||||||
|
|
||||||
### 4.4 Особенности процесса
|
|
||||||
|
|
||||||
#### 4.4.1 Отличия от основного процесса
|
|
||||||
|
|
||||||
- **Прямое взаимодействие**: Фулфилмент напрямую заказывает у поставщика
|
|
||||||
- **Самостоятельная приемка**: Фулфилмент принимает товар на свой склад
|
|
||||||
- **Управление остатками**: Автоматическое управление минимальными остатками
|
|
||||||
- **Без посредников**: Логистика может быть внешней или встроенной
|
|
||||||
|
|
||||||
#### 4.4.2 Типы расходников
|
|
||||||
|
|
||||||
- **Упаковочные материалы**: Коробки, пакеты, скотч
|
|
||||||
- **Защитные материалы**: Пупырчатая пленка, стрейч-пленка
|
|
||||||
- **Маркировочные материалы**: Этикетки, стикеры, маркеры
|
|
||||||
- **Инструменты**: Ножи, степлеры, весы
|
|
||||||
- **Расходные материалы**: Батарейки, картриджи, канцелярия
|
|
||||||
|
|
||||||
#### 4.4.3 Автоматизация
|
|
||||||
|
|
||||||
- **Автоматический расчет минимальных остатков**: 10% от заказанного количества
|
|
||||||
- **Уведомления**: Автоматические уведомления всем участникам процесса
|
|
||||||
- **Обновление данных**: Синхронизация статусов между всеми системами
|
|
||||||
- **Отчетность**: Автоматическое обновление складских отчетов
|
|
||||||
|
|
||||||
### 4.5 Интеграция с основной системой
|
|
||||||
|
|
||||||
- **Единая база контрагентов**: Использование общего справочника партнеров
|
|
||||||
- **Общие товары**: Поставщики управляют единым каталогом товаров
|
|
||||||
- **Единая система уведомлений**: Общий мессенджер для коммуникаций
|
|
||||||
- **Общая отчетность**: Интеграция с общей системой аналитики
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Статусы в процессе
|
|
||||||
|
|
||||||
### Статусы SupplyOrder (Заказ поставки):
|
|
||||||
|
|
||||||
- **PENDING** - Ожидает подтверждения поставщиком
|
|
||||||
- **CONFIRMED** - Подтвержден поставщиком
|
|
||||||
- **IN_TRANSIT** - В пути (логистика доставляет)
|
|
||||||
- **DELIVERED** - Доставлен на фулфилмент
|
|
||||||
- **CANCELLED** - Отменен
|
|
||||||
|
|
||||||
### Статусы Supply (Расходники):
|
|
||||||
|
|
||||||
- **planned** - Запланировано (ожидает одобрения поставщиком)
|
|
||||||
- **confirmed** - Подтверждено (ожидает отгрузки после одобрения логистикой)
|
|
||||||
- **in-transit** - В пути (товар отгружен логистической компании)
|
|
||||||
- **in-stock** - На складе (товар принят на фулфилменте и отображается в разделах "Склад" и "Расходники фулфилмента")
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**ВАЖНО**: Данный процесс является частью общей системы управления поставками и должен соответствовать общим принципам и правилам, описанным в основном файле логики системы.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
_Документ создан на основе раздела 4 основного файла логики системы_
|
|
||||||
_Статус: СПЕЦИАЛИЗИРОВАННАЯ ЛОГИКА ПРОЦЕССА_
|
|
788
логика.md
788
логика.md
@ -1,788 +0,0 @@
|
|||||||
# ЛОГИКА СИСТЕМЫ SFERA V - УПРАВЛЕНИЕ БИЗНЕСОМ
|
|
||||||
|
|
||||||
> **ВНИМАНИЕ**: Данный файл содержит критически важную информацию о логике работы системы.
|
|
||||||
> Любые изменения в этом файле должны производиться только с разрешения владельца проекта.
|
|
||||||
> Файл служит эталонным источником для понимания архитектуры и бизнес-процессов системы.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1. ОБЩАЯ АРХИТЕКТУРА СИСТЕМЫ
|
|
||||||
|
|
||||||
### 1.1 Концепция платформы
|
|
||||||
|
|
||||||
**Sfera V** - это многопользовательская B2B платформа для управления цепочками поставок, объединяющая различные типы бизнеса:
|
|
||||||
|
|
||||||
- **Селлеры** (продавцы на маркетплейсах)
|
|
||||||
- **Фулфилмент-центры** (склады и логистика)
|
|
||||||
- **Поставщики** (оптовые поставщики товаров)
|
|
||||||
- **Логистические компании** (доставка товаров)
|
|
||||||
|
|
||||||
### 1.2 Технологический стек
|
|
||||||
|
|
||||||
- **Frontend**: Next.js 15, React 18, TypeScript
|
|
||||||
- **Backend**: GraphQL API, Apollo Server
|
|
||||||
- **База данных**: PostgreSQL с Prisma ORM
|
|
||||||
- **UI**: TailwindCSS, Shadcn/ui компоненты
|
|
||||||
- **Файловое хранилище**: AWS S3
|
|
||||||
- **Внешние API**: Wildberries, Ozon, DaData, SMS Aero
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. ТИПЫ ОРГАНИЗАЦИЙ И КАБИНЕТЫ
|
|
||||||
|
|
||||||
### 2.1 Типы организаций (OrganizationType)
|
|
||||||
|
|
||||||
```
|
|
||||||
SELLER - Селлер (продавец на маркетплейсах)
|
|
||||||
FULFILLMENT - Фулфилмент-центр
|
|
||||||
LOGIST - Логистическая компания
|
|
||||||
WHOLESALE - Поставщик (оптовик)
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.2 Структура кабинетов
|
|
||||||
|
|
||||||
#### 2.2.1 Админ-кабинет
|
|
||||||
|
|
||||||
- **Назначение**: Управление системой
|
|
||||||
- **Функции**:
|
|
||||||
- UI Kit (демонстрация компонентов)
|
|
||||||
- Управление пользователями
|
|
||||||
- Управление категориями товаров
|
|
||||||
- Системная аналитика
|
|
||||||
|
|
||||||
#### 2.2.2 Кабинет Селлера
|
|
||||||
|
|
||||||
- **Назначение**: Продажи на маркетплейсах
|
|
||||||
- **Модули**:
|
|
||||||
- Мои поставки (управление заказами)
|
|
||||||
- Склад WB (интеграция с Wildberries)
|
|
||||||
- Статистика продаж
|
|
||||||
- **Интеграции**: Wildberries API, Ozon API
|
|
||||||
|
|
||||||
#### 2.2.3 Кабинет Фулфилмента
|
|
||||||
|
|
||||||
- **Назначение**: Склады и обработка товаров
|
|
||||||
- **Модули**:
|
|
||||||
- Входящие поставки
|
|
||||||
- Управление складом
|
|
||||||
- Услуги фулфилмента
|
|
||||||
- Сотрудники
|
|
||||||
- Статистика операций
|
|
||||||
|
|
||||||
#### 2.2.4 Кабинет Логистики
|
|
||||||
|
|
||||||
- **Назначение**: Транспортные услуги
|
|
||||||
- **Модули**:
|
|
||||||
- Заявки на перевозки
|
|
||||||
- Управление маршрутами
|
|
||||||
|
|
||||||
#### 2.2.5 Кабинет Поставщика
|
|
||||||
|
|
||||||
- **Назначение**: Оптовые продажи
|
|
||||||
- **Модули**:
|
|
||||||
- Каталог товаров
|
|
||||||
- Отгрузки
|
|
||||||
- Управление складом
|
|
||||||
|
|
||||||
### 2.3 Общие модули (доступны всем кабинетам)
|
|
||||||
|
|
||||||
- **Мессенджер**: Коммуникации между участниками
|
|
||||||
- **Партнёры**: Управление контрагентами
|
|
||||||
- **Настройки**: Профиль организации, API ключи
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. ОСНОВНОЙ БИЗНЕС-ПРОЦЕСС ПОСТАВКИ
|
|
||||||
|
|
||||||
### 3.1 Схема процесса
|
|
||||||
|
|
||||||
```
|
|
||||||
Селлер → Маркет → Поставщик → Фулфилмент → Логистика → Селлер
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3.2 Детальные этапы процесса
|
|
||||||
|
|
||||||
#### Этап 1: Создание заявки селлером
|
|
||||||
|
|
||||||
1. **Вход в маркет**: Селлер заходит в раздел "Маркет"
|
|
||||||
2. **Выбор категории**: Выбор нужной категории товаров
|
|
||||||
3. **Выбор товара**: Выбор конкретного продукта из каталога
|
|
||||||
4. **Указание количества**: Определение необходимого объема
|
|
||||||
5. **Выбор услуг**: Выбор услуг фулфилмента и / или расходников фулфилмента и / или расходников селлера
|
|
||||||
6. **Создание заявки**: Формирование заявки на поставку
|
|
||||||
|
|
||||||
#### Этап 2: Обработка заявки системой
|
|
||||||
|
|
||||||
7. **Сохранение у селлера**: Заявка появляется в "Мои поставки" → "Все" → "Товар" и "Товар"
|
|
||||||
8. **Дублирование поставщику**: Заявка автоматически отправляется поставщику
|
|
||||||
|
|
||||||
#### Этап 3: Одобрение поставщиком
|
|
||||||
|
|
||||||
9. **Рассмотрение заявки**: Поставщик видит заявку в разделе "Заявки"
|
|
||||||
10. **Одобрение**: Поставщик одобряет или отклоняет заявку
|
|
||||||
11. **Обновление статуса**: Статус меняется у всех участников
|
|
||||||
|
|
||||||
#### Этап 4: Логистика
|
|
||||||
|
|
||||||
12. **Подготовка к отгрузке**: Поставщик готовит товар к отправке
|
|
||||||
13. **Создание заявки в фулфилмент**: Заявка появляется в кабинете фулфилмента
|
|
||||||
14. **Запрос логистики**: Заявка передается в логистическую компанию
|
|
||||||
15. **Подтверждение логистикой**: Логист подтверждает возможность доставки
|
|
||||||
16. **Физическая доставка**: Транспортировка товара на фулфилмент
|
|
||||||
|
|
||||||
#### Этап 5: Обработка на фулфилменте
|
|
||||||
|
|
||||||
17. **Приемка товара**: Менеджер фулфилмента принимает груз
|
|
||||||
18. **Ввод данных хранения**: Указание места хранения, статус "Принято"
|
|
||||||
19. **Перенос в подготовку**: Товар переходит в раздел "Подготовка"
|
|
||||||
20. **Обновление места хранения**: Указание нового места хранения
|
|
||||||
21. **Перенос в работу**: Товар переходит в подраздел "В работе"
|
|
||||||
22. **Контроль качества**: Проверка количества и качества товара
|
|
||||||
23. **Завершение работ**: При нажатии "Выполнено" товар переходит в "Выполнено"
|
|
||||||
|
|
||||||
#### Этап 6: Завершение
|
|
||||||
|
|
||||||
24. **Обновление статуса у селлера**: Селлер получает уведомление о готовности товара
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4. ПРОЦЕСС СОЗДАНИЯ ПОСТАВКИ РАСХОДНИКОВ ФУЛФИЛМЕНТА
|
|
||||||
|
|
||||||
### 4.1 Описание процесса
|
|
||||||
|
|
||||||
Фулфилмент-центры могут заказывать расходные материалы для своих операций напрямую у поставщиков. Этот процесс отличается от основного бизнес-процесса тем, что фулфилмент выступает как заказчик, а не как исполнитель услуг.
|
|
||||||
|
|
||||||
**ВАЖНОЕ РАЗЛИЧИЕ**: Расходники фулфилмента - это материалы, которые фулфилмент-центр заказывает для своих внутренних операций (упаковка, хранение, обработка товаров). Они отличаются от расходников селлера, которые селлер заказывает для своих товаров.
|
|
||||||
|
|
||||||
### 4.2 Участники процесса
|
|
||||||
|
|
||||||
- **Фулфилмент-центр** - заказчик расходников
|
|
||||||
- **Поставщик (WHOLESALE)** - поставщик расходных материалов
|
|
||||||
- **Логистическая компания (LOGIST)** - доставка товаров от поставщика к фулфилменту
|
|
||||||
- **Система** - автоматическая обработка заказов
|
|
||||||
|
|
||||||
### 4.3 Этапы процесса создания поставки расходников фулфилмента
|
|
||||||
|
|
||||||
#### Этап 1: Инициация заказа фулфилментом
|
|
||||||
|
|
||||||
1. **Переход к созданию заказа**: Фулфилмент заходит в раздел "Входящие поставки" → "Расходники фулфилмента" → "Создать поставку"
|
|
||||||
2. **Выбор поставщика**: Выбор контрагента с типом "WHOLESALE" из списка партнеров
|
|
||||||
3. **Поиск поставщика**: Возможность поиска по названию, полному названию или ИНН
|
|
||||||
4. **Просмотр каталога**: Просмотр товаров выбранного поставщика
|
|
||||||
|
|
||||||
#### Этап 2: Формирование заказа
|
|
||||||
|
|
||||||
5. **Поиск товаров**: Поиск нужных расходников в каталоге поставщика
|
|
||||||
6. **Выбор количества**: Указание необходимого количества для каждого товара
|
|
||||||
7. **Добавление в корзину**: Товары добавляются в список выбранных расходников фулфилмента
|
|
||||||
8. **Выбор логистики**: Выбор партнера-логиста для доставки товаров от поставщика
|
|
||||||
9. **Расчет стоимости**: Автоматический расчет общей суммы заказа
|
|
||||||
10. **Указание даты доставки**: Выбор желаемой даты поставки
|
|
||||||
|
|
||||||
#### Этап 3: Создание заказа в системе
|
|
||||||
|
|
||||||
11. **Валидация данных**: Проверка заполнения всех обязательных полей
|
|
||||||
12. **Создание SupplyOrder**: Система создает запись заказа поставки со статусом "PENDING"
|
|
||||||
13. **Указание получателя**: fulfillmentCenterId устанавливается как ID текущего фулфилмента
|
|
||||||
14. **Указание логистики**: logisticsPartnerId устанавливается как ID выбранной логистической компании
|
|
||||||
15. **Создание позиций заказа**: Создание SupplyOrderItem для каждого выбранного товара
|
|
||||||
|
|
||||||
#### Этап 4: Автоматическая обработка системой
|
|
||||||
|
|
||||||
16. **Создание расходников**: Система автоматически создает записи Supply со статусом "planned"
|
|
||||||
17. **Установка параметров**:
|
|
||||||
- Статус: "planned" (запланировано, ожидает одобрения)
|
|
||||||
- Категория: из товара или "Расходники"
|
|
||||||
- Минимальный остаток: 10% от заказанного количества
|
|
||||||
- Текущий остаток: 0 (товар еще не поступил)
|
|
||||||
18. **Привязка к организации**: Расходники создаются в организации фулфилмента
|
|
||||||
19. **Отправка уведомления**: Поставщик получает уведомление о новом заказе
|
|
||||||
|
|
||||||
#### Этап 5: Обработка поставщиком
|
|
||||||
|
|
||||||
20. **Получение заявки**: Заказ появляется в кабинете поставщика в разделе "Заявки"
|
|
||||||
21. **Рассмотрение заказа**: Поставщик может принять или отклонить заказ
|
|
||||||
22. **Изменение статуса**: При принятии статус SupplyOrder меняется на "CONFIRMED" (подтвержден поставщиком)
|
|
||||||
23. **Уведомление логистики**: После одобрения поставщиком заявка появляется в кабинете логистической компании
|
|
||||||
|
|
||||||
#### Этап 6: Обработка логистикой
|
|
||||||
|
|
||||||
24. **Получение заявки**: Заказ появляется в кабинете логистики в разделе "Заявки"
|
|
||||||
25. **Рассмотрение заявки**: Логистическая компания может подтвердить или отклонить заявку на доставку
|
|
||||||
26. **Подтверждение логистики**: При принятии логистика подтверждает возможность доставки в указанные сроки
|
|
||||||
27. **Обновление расходников**: Supply переходят в статус "confirmed" (ожидает отгрузки)
|
|
||||||
28. **Подготовка к отгрузке**: Поставщик готовит товар к отправке
|
|
||||||
|
|
||||||
#### Этап 7: Доставка и приемка
|
|
||||||
|
|
||||||
29. **Отгрузка товара**: Поставщик отправляет товар логистической компании
|
|
||||||
30. **Обновление статуса расходников**: Supply переходят в статус "in-transit" (в пути)
|
|
||||||
31. **Транспортировка**: Логистическая компания доставляет товар в фулфилмент-центр
|
|
||||||
32. **Статус "IN_TRANSIT"**: Заказ переходит в статус "в пути"
|
|
||||||
33. **Приемка на фулфилменте**: Менеджер фулфилмента принимает товар
|
|
||||||
34. **Обновление остатков**: currentStock обновляется на фактически полученное количество
|
|
||||||
35. **Статус "DELIVERED"**: Заказ завершается со статусом "доставлен"
|
|
||||||
36. **Обновление расходников**: Supply переходят в статус "in-stock" (на складе)
|
|
||||||
|
|
||||||
### 4.4 Особенности процесса
|
|
||||||
|
|
||||||
#### 4.4.1 Отличия от основного процесса
|
|
||||||
|
|
||||||
- **Прямое взаимодействие**: Фулфилмент напрямую заказывает у поставщика
|
|
||||||
- **Самостоятельная приемка**: Фулфилмент принимает товар на свой склад
|
|
||||||
- **Управление остатками**: Автоматическое управление минимальными остатками
|
|
||||||
- **Без посредников**: Логистика может быть внешней или встроенной
|
|
||||||
|
|
||||||
#### 4.4.2 Типы расходников
|
|
||||||
|
|
||||||
- **Упаковочные материалы**: Коробки, пакеты, скотч
|
|
||||||
- **Защитные материалы**: Пупырчатая пленка, стрейч-пленка
|
|
||||||
- **Маркировочные материалы**: Этикетки, стикеры, маркеры
|
|
||||||
- **Инструменты**: Ножи, степлеры, весы
|
|
||||||
- **Расходные материалы**: Батарейки, картриджи, канцелярия
|
|
||||||
|
|
||||||
#### 4.4.3 Автоматизация
|
|
||||||
|
|
||||||
- **Автоматический расчет минимальных остатков**: 10% от заказанного количества
|
|
||||||
- **Уведомления**: Автоматические уведомления всем участникам процесса
|
|
||||||
- **Обновление данных**: Синхронизация статусов между всеми системами
|
|
||||||
- **Отчетность**: Автоматическое обновление складских отчетов
|
|
||||||
|
|
||||||
### 4.5 Интеграция с основной системой
|
|
||||||
|
|
||||||
- **Единая база контрагентов**: Использование общего справочника партнеров
|
|
||||||
- **Общие товары**: Поставщики управляют единым каталогом товаров
|
|
||||||
- **Единая система уведомлений**: Общий мессенджер для коммуникаций
|
|
||||||
- **Общая отчетность**: Интеграция с общей системой аналитики
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. МОДЕЛЬ ДАННЫХ
|
|
||||||
|
|
||||||
### 5.1 Основные сущности
|
|
||||||
|
|
||||||
#### 5.1.1 Organization (Организация)
|
|
||||||
|
|
||||||
```sql
|
|
||||||
- id: String (CUID)
|
|
||||||
- inn: String (уникальный)
|
|
||||||
- type: OrganizationType
|
|
||||||
- name, fullName: String
|
|
||||||
- address, addressFull: String
|
|
||||||
- apiKeys: ApiKey[]
|
|
||||||
- employees: Employee[]
|
|
||||||
- products: Product[]
|
|
||||||
- services: Service[]
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 5.1.2 Product (Товар)
|
|
||||||
|
|
||||||
```sql
|
|
||||||
- id: String (CUID)
|
|
||||||
- name: String
|
|
||||||
- article: String
|
|
||||||
- price: Decimal
|
|
||||||
- quantity: Int
|
|
||||||
- type: ProductType (PRODUCT/CONSUMABLE)
|
|
||||||
- categoryId: String
|
|
||||||
- organizationId: String
|
|
||||||
- images: Json
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 5.1.3 Supply (Поставка)
|
|
||||||
|
|
||||||
```sql
|
|
||||||
- id: String (CUID)
|
|
||||||
- name: String
|
|
||||||
- price: Decimal
|
|
||||||
- quantity: Int
|
|
||||||
- status: String (planned/in-transit/delivered/in-stock)
|
|
||||||
- organizationId: String
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 5.1.4 SupplyOrder (Заказ поставки)
|
|
||||||
|
|
||||||
```sql
|
|
||||||
- id: String (CUID)
|
|
||||||
- partnerId: String
|
|
||||||
- status: SupplyOrderStatus
|
|
||||||
- totalAmount: Decimal
|
|
||||||
- deliveryDate: DateTime
|
|
||||||
- items: SupplyOrderItem[]
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5.2 Статусы заказов
|
|
||||||
|
|
||||||
```
|
|
||||||
PENDING - Ожидает подтверждения
|
|
||||||
CONFIRMED - Подтвержден
|
|
||||||
IN_TRANSIT - В пути
|
|
||||||
DELIVERED - Доставлен
|
|
||||||
CANCELLED - Отменен
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. ПРОЦЕССЫ СОЗДАНИЯ ПОСТАВОК СЕЛЛЕРАМИ
|
|
||||||
|
|
||||||
### 5.1 Описание процессов
|
|
||||||
|
|
||||||
Селлеры имеют несколько способов создания поставок в зависимости от источника товаров и типа поставки.
|
|
||||||
|
|
||||||
### 5.2 Типы поставок селлеров
|
|
||||||
|
|
||||||
#### 5.2.1 Поставка через карточки товаров
|
|
||||||
|
|
||||||
**Процесс**: Селлер → Мои поставки → Создать поставку → Карточки
|
|
||||||
|
|
||||||
1. **Выбор типа**: Селлер выбирает "Карточки" как источник товаров
|
|
||||||
2. **Интеграция с WB**: Система загружает карточки товаров из Wildberries API
|
|
||||||
3. **Выбор товаров**: Селлер выбирает нужные карточки из своего каталога WB
|
|
||||||
4. **Настройка количества**: Указание количества для каждой карточки
|
|
||||||
5. **Выбор услуг**: Выбор услуг фулфилмента и расходников
|
|
||||||
6. **Выбор фулфилмента**: Выбор фулфилмент-центра для обработки
|
|
||||||
7. **Указание даты**: Установка даты поставки
|
|
||||||
8. **Создание поставки**: Формирование WildberriesSupply в системе
|
|
||||||
|
|
||||||
#### 5.2.2 Поставка через поставщиков
|
|
||||||
|
|
||||||
**Процесс**: Селлер → Мои поставки → Создать поставку → Поставщик
|
|
||||||
|
|
||||||
1. **Выбор типа**: Селлер выбирает "Поставщик" как источник товаров
|
|
||||||
2. **Выбор поставщика**: Выбор из списка контрагентов типа WHOLESALE
|
|
||||||
3. **Просмотр каталога**: Просмотр товаров выбранного поставщика
|
|
||||||
4. **Выбор товаров**: Добавление товаров в корзину с указанием количества
|
|
||||||
5. **Выбор фулфилмента**: Выбор фулфилмент-центра для доставки
|
|
||||||
6. **Создание заказа**: Формирование SupplyOrder через основной процесс
|
|
||||||
|
|
||||||
#### 5.2.3 Поставка расходников селлера
|
|
||||||
|
|
||||||
**Процесс**: Селлер → Расходники → Создать поставку
|
|
||||||
|
|
||||||
1. **Выбор поставщика**: Выбор поставщика расходников (WHOLESALE)
|
|
||||||
2. **Выбор расходников**: Выбор необходимых расходных материалов **для селлера**
|
|
||||||
3. **Выбор фулфилмента**: Обязательный выбор фулфилмент-центра для доставки
|
|
||||||
4. **Создание заказа**: Формирование SupplyOrder с типом CONSUMABLE
|
|
||||||
|
|
||||||
**Важно**: Расходники селлера отличаются от расходников фулфилмента назначением и получателем. Расходники селлера заказываются селлером для своих товаров, но доставляются в фулфилмент-центр.
|
|
||||||
|
|
||||||
### 5.3 Особенности процессов селлера
|
|
||||||
|
|
||||||
#### 5.3.1 Прямое создание поставки
|
|
||||||
|
|
||||||
- **DirectSupplyCreation**: Создание поставки с выбранными товарами
|
|
||||||
- **Расчет стоимости**: Автоматический расчет общей стоимости товаров и услуг
|
|
||||||
- **Валидация**: Проверка наличия всех обязательных полей
|
|
||||||
- **Интеграция**: Сохранение данных в WildberriesSupply и WildberriesSupplyCard
|
|
||||||
|
|
||||||
#### 5.3.2 Управление объемами и весом
|
|
||||||
|
|
||||||
- **Расчет объема**: Автоматический расчет объема товаров для логистики
|
|
||||||
- **Количество мест**: Определение количества грузовых мест
|
|
||||||
- **Стоимость услуг**: Расчет стоимости услуг фулфилмента и логистики
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 6. ПРОЦЕССЫ УПРАВЛЕНИЯ ПАРТНЕРАМИ
|
|
||||||
|
|
||||||
### 6.1 Описание системы партнерства
|
|
||||||
|
|
||||||
Система партнерства позволяет организациям находить друг друга, отправлять заявки на сотрудничество и управлять контрагентами.
|
|
||||||
|
|
||||||
### 6.2 Процесс поиска партнеров
|
|
||||||
|
|
||||||
#### 6.2.1 Поиск в маркете
|
|
||||||
|
|
||||||
1. **Переход в маркет**: Организация заходит в раздел "Маркет"
|
|
||||||
2. **Выбор типа партнера**: Выбор вкладки (Фулфилмент, Селлеры, Логистика, Поставщики)
|
|
||||||
3. **Поиск организаций**: Использование SEARCH_ORGANIZATIONS запроса
|
|
||||||
4. **Фильтрация**: Поиск по названию, ИНН, адресу
|
|
||||||
5. **Просмотр карточек**: Изучение информации о потенциальных партнерах
|
|
||||||
|
|
||||||
#### 6.2.2 Отправка заявки на партнерство
|
|
||||||
|
|
||||||
1. **Выбор организации**: Клик на карточку интересующей организации
|
|
||||||
2. **Отправка заявки**: Нажатие кнопки "Отправить заявку"
|
|
||||||
3. **Добавление сообщения**: Опциональное сообщение к заявке
|
|
||||||
4. **Создание запроса**: Система создает CounterpartyRequest со статусом PENDING
|
|
||||||
5. **Уведомление**: Получатель видит входящую заявку в разделе "Партнеры"
|
|
||||||
|
|
||||||
#### 6.2.3 Обработка заявок
|
|
||||||
|
|
||||||
1. **Просмотр заявок**: Заявки отображаются в разделе "Партнеры" → "Мои контрагенты"
|
|
||||||
2. **Принятие заявки**: Изменение статуса на ACCEPTED, создание связи Counterparty
|
|
||||||
3. **Отклонение заявки**: Изменение статуса на REJECTED
|
|
||||||
4. **Автоматическое обновление**: Обновление списков во всех связанных компонентах
|
|
||||||
|
|
||||||
### 6.3 Управление контрагентами
|
|
||||||
|
|
||||||
#### 6.3.1 Типы контрагентов
|
|
||||||
|
|
||||||
- **FULFILLMENT**: Фулфилмент-центры для обработки товаров
|
|
||||||
- **SELLER**: Селлеры для продажи товаров
|
|
||||||
- **LOGIST**: Логистические компании для доставки
|
|
||||||
- **WHOLESALE**: Поставщики товаров и расходников
|
|
||||||
|
|
||||||
#### 6.3.2 Функции управления
|
|
||||||
|
|
||||||
- **Просмотр списка**: Все принятые контрагенты в одном разделе
|
|
||||||
- **Поиск и фильтрация**: Поиск по различным критериям
|
|
||||||
- **Статусы заявок**: Отслеживание входящих и исходящих заявок
|
|
||||||
- **Интеграция с процессами**: Использование контрагентов в поставках
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 7. ПРОЦЕССЫ УПРАВЛЕНИЯ СКЛАДАМИ
|
|
||||||
|
|
||||||
### 7.1 Типы складских систем
|
|
||||||
|
|
||||||
#### 7.1.1 Собственный склад организации
|
|
||||||
|
|
||||||
**Процесс**: Склад → Управление товарами
|
|
||||||
|
|
||||||
1. **Создание товаров**: Добавление новых товаров в каталог
|
|
||||||
2. **Редактирование**: Изменение характеристик товаров
|
|
||||||
3. **Управление остатками**: Отслеживание количества товаров
|
|
||||||
4. **Категоризация**: Привязка к категориям товаров
|
|
||||||
5. **Медиафайлы**: Загрузка изображений товаров
|
|
||||||
|
|
||||||
#### 7.1.2 Склад Wildberries (для селлеров)
|
|
||||||
|
|
||||||
**Процесс**: Склад WB → Просмотр остатков
|
|
||||||
|
|
||||||
1. **Интеграция с WB API**: Получение данных через Wildberries API
|
|
||||||
2. **Загрузка карточек**: Получение всех карточек товаров селлера
|
|
||||||
3. **Получение аналитики**: Индивидуальные запросы по каждому nmId
|
|
||||||
4. **Комбинирование данных**: Объединение карточек с данными остатков
|
|
||||||
5. **Отображение складов**: Группировка по складам WB
|
|
||||||
6. **Статистика**: Расчет общих показателей по остаткам
|
|
||||||
|
|
||||||
#### 7.1.3 Фулфилмент склады
|
|
||||||
|
|
||||||
**Процесс**: Фулфилмент → Склад → Управление
|
|
||||||
|
|
||||||
1. **Приемка товаров**: Получение товаров от поставщиков
|
|
||||||
2. **Размещение**: Указание места хранения товаров
|
|
||||||
3. **Обработка**: Подготовка товаров к отправке
|
|
||||||
4. **Контроль качества**: Проверка товаров на брак
|
|
||||||
5. **Отгрузка**: Подготовка к отправке селлерам
|
|
||||||
|
|
||||||
### 7.2 Интеграция складских процессов
|
|
||||||
|
|
||||||
#### 7.2.1 Синхронизация остатков
|
|
||||||
|
|
||||||
- **Автоматическое обновление**: Регулярная синхронизация с внешними API
|
|
||||||
- **Кэширование**: Сохранение данных для быстрого доступа
|
|
||||||
- **Уведомления**: Оповещения о критических остатках
|
|
||||||
|
|
||||||
#### 7.2.2 Аналитика складов
|
|
||||||
|
|
||||||
- **Статистика по товарам**: Общее количество, остатки, резерв
|
|
||||||
- **Статистика по складам**: Активные склады, загруженность
|
|
||||||
- **Товары в пути**: Отслеживание товаров в доставке
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 8. ПРОЦЕССЫ УПРАВЛЕНИЯ СОТРУДНИКАМИ
|
|
||||||
|
|
||||||
### 8.1 Система управления персоналом
|
|
||||||
|
|
||||||
#### 8.1.1 Добавление сотрудников
|
|
||||||
|
|
||||||
1. **Создание профиля**: Ввод основных данных сотрудника
|
|
||||||
2. **Документы**: Загрузка паспортных данных и фотографий
|
|
||||||
3. **Контакты**: Указание телефонов, email, мессенджеров
|
|
||||||
4. **Должность и зарплата**: Установка позиции и оплаты
|
|
||||||
5. **Экстренные контакты**: Контакты на случай чрезвычайных ситуаций
|
|
||||||
|
|
||||||
#### 8.1.2 Управление статусами
|
|
||||||
|
|
||||||
**Статусы сотрудников**:
|
|
||||||
|
|
||||||
- **ACTIVE**: Активно работает
|
|
||||||
- **VACATION**: В отпуске
|
|
||||||
- **SICK**: На больничном
|
|
||||||
- **FIRED**: Уволен
|
|
||||||
|
|
||||||
#### 8.1.3 Система табельного учета
|
|
||||||
|
|
||||||
1. **Создание расписания**: Планирование рабочих дней
|
|
||||||
2. **Отметка статусов**: Ежедневная отметка статуса работы
|
|
||||||
3. **Типы дней**:
|
|
||||||
- **WORK**: Рабочий день (8 часов)
|
|
||||||
- **WEEKEND**: Выходной (0 часов)
|
|
||||||
- **VACATION**: Отпуск (8 часов)
|
|
||||||
- **SICK**: Больничный (8 часов)
|
|
||||||
- **ABSENT**: Отсутствие (0 часов)
|
|
||||||
4. **Автоматический расчет**: Подсчет отработанных часов
|
|
||||||
5. **Отчетность**: Генерация табелей учета рабочего времени
|
|
||||||
|
|
||||||
### 8.2 Интеграция с бизнес-процессами
|
|
||||||
|
|
||||||
- **Назначение ответственных**: Привязка сотрудников к заказам и процессам
|
|
||||||
- **Уведомления**: Система уведомлений для сотрудников
|
|
||||||
- **Права доступа**: Разграничение доступа по ролям
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 9. ПРОЦЕССЫ ЛОГИСТИКИ
|
|
||||||
|
|
||||||
### 9.1 Управление перевозками
|
|
||||||
|
|
||||||
#### 9.1.1 Создание маршрутов
|
|
||||||
|
|
||||||
1. **Планирование маршрута**: Определение точек отправления и назначения
|
|
||||||
2. **Расчет параметров**: Расстояние, время в пути, стоимость
|
|
||||||
3. **Назначение груза**: Привязка конкретных товаров к маршруту
|
|
||||||
4. **Статусы маршрутов**:
|
|
||||||
- **planned**: Запланировано
|
|
||||||
- **in_transit**: В пути
|
|
||||||
- **delivered**: Доставлено
|
|
||||||
- **cancelled**: Отменено
|
|
||||||
|
|
||||||
#### 9.1.2 Отслеживание доставок
|
|
||||||
|
|
||||||
1. **Мониторинг статусов**: Отслеживание текущего состояния доставок
|
|
||||||
2. **Уведомления**: Автоматические уведомления об изменении статусов
|
|
||||||
3. **Аналитика**: Статистика по доставкам и эффективности
|
|
||||||
4. **Интеграция**: Связь с процессами фулфилмента и поставок
|
|
||||||
|
|
||||||
### 9.2 Типы логистических операций
|
|
||||||
|
|
||||||
- **Доставка от поставщика к фулфилменту**: Входящая логистика
|
|
||||||
- **Доставка от фулфилмента к селлеру**: Исходящая логистика
|
|
||||||
- **Межскладские перемещения**: Внутренняя логистика
|
|
||||||
- **Возвраты**: Обратная логистика
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 10. СИСТЕМА АУТЕНТИФИКАЦИИ
|
|
||||||
|
|
||||||
### 10.1 Процесс регистрации/входа
|
|
||||||
|
|
||||||
1. **Ввод телефона**: Пользователь вводит номер телефона
|
|
||||||
2. **SMS-код**: Система отправляет код подтверждения через SMS Aero
|
|
||||||
3. **Выбор типа кабинета**: Пользователь выбирает тип организации
|
|
||||||
4. **Ввод ИНН**: Для B2B пользователей обязательно указание ИНН
|
|
||||||
5. **Проверка через DaData**: Автоматическое получение данных организации
|
|
||||||
6. **API ключи маркетплейсов**: Для селлеров - настройка интеграций
|
|
||||||
7. **Подтверждение**: Завершение регистрации
|
|
||||||
|
|
||||||
### 10.2 Типы аутентификации
|
|
||||||
|
|
||||||
- **Пользователи**: JWT токены, хранение в localStorage
|
|
||||||
- **Админы**: Отдельная система с админскими токенами
|
|
||||||
- **API интеграции**: Bearer токены для внешних сервисов
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 11. ВНЕШНИЕ ИНТЕГРАЦИИ
|
|
||||||
|
|
||||||
### 11.1 Wildberries API
|
|
||||||
|
|
||||||
- **Назначение**: Получение данных по складам и товарам
|
|
||||||
- **Эндпоинты**:
|
|
||||||
- `/ping` - проверка валидности ключа
|
|
||||||
- `/api/v1/seller-info` - информация о продавце
|
|
||||||
- `/api/v1/stocks` - остатки товаров
|
|
||||||
- `/api/v1/warehouses` - список складов
|
|
||||||
|
|
||||||
### 11.2 Ozon API
|
|
||||||
|
|
||||||
- **Назначение**: Интеграция с маркетплейсом Ozon
|
|
||||||
- **Аутентификация**: API ключ + Client ID
|
|
||||||
|
|
||||||
### 11.3 DaData API
|
|
||||||
|
|
||||||
- **Назначение**: Получение информации об организациях по ИНН
|
|
||||||
- **Данные**: Реквизиты, адреса, статусы организаций
|
|
||||||
|
|
||||||
### 11.4 SMS Aero API
|
|
||||||
|
|
||||||
- **Назначение**: Отправка SMS для аутентификации
|
|
||||||
- **Аутентификация**: HTTP Basic Auth (email + API key)
|
|
||||||
|
|
||||||
### 11.5 AWS S3
|
|
||||||
|
|
||||||
- **Назначение**: Хранение файлов (изображения, документы, голосовые сообщения)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 12. СИСТЕМА СООБЩЕНИЙ
|
|
||||||
|
|
||||||
### 12.1 Типы сообщений
|
|
||||||
|
|
||||||
```
|
|
||||||
TEXT - Текстовые сообщения
|
|
||||||
VOICE - Голосовые сообщения
|
|
||||||
IMAGE - Изображения
|
|
||||||
FILE - Файлы
|
|
||||||
```
|
|
||||||
|
|
||||||
### 12.2 Функциональность
|
|
||||||
|
|
||||||
- Чаты между организациями
|
|
||||||
- Прикрепление файлов
|
|
||||||
- Голосовые сообщения
|
|
||||||
- История переписки
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 13. УПРАВЛЕНИЕ СОТРУДНИКАМИ (СТАРОЕ)
|
|
||||||
|
|
||||||
### 13.1 Статусы сотрудников
|
|
||||||
|
|
||||||
```
|
|
||||||
ACTIVE - Активный
|
|
||||||
VACATION - В отпуске
|
|
||||||
SICK - На больничном
|
|
||||||
FIRED - Уволен
|
|
||||||
```
|
|
||||||
|
|
||||||
### 13.2 Система расписания
|
|
||||||
|
|
||||||
```
|
|
||||||
WORK - Рабочий день
|
|
||||||
WEEKEND - Выходной
|
|
||||||
VACATION - Отпуск
|
|
||||||
SICK - Больничный
|
|
||||||
ABSENT - Отсутствие
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 14. СИСТЕМА УСЛУГ И РАСХОДНИКОВ
|
|
||||||
|
|
||||||
### 14.1 Типы продуктов
|
|
||||||
|
|
||||||
```
|
|
||||||
PRODUCT - Основной товар
|
|
||||||
CONSUMABLE - Расходные материалы
|
|
||||||
```
|
|
||||||
|
|
||||||
**ВАЖНОЕ ПРАВИЛО**: В системе существуют два различных типа расходников:
|
|
||||||
|
|
||||||
- **Расходники селлера** - расходные материалы, которые заказывает селлер для своих нужд
|
|
||||||
- **Расходники фулфилмента** - расходные материалы, которые заказывает фулфилмент-центр для своих операций
|
|
||||||
|
|
||||||
Эти типы расходников имеют разные процессы заказа, разных получателей и разное назначение. В системе не должно быть просто "расходники" без указания принадлежности.
|
|
||||||
|
|
||||||
### 14.2 Услуги фулфилмента
|
|
||||||
|
|
||||||
- Приемка товара
|
|
||||||
- Хранение
|
|
||||||
- Упаковка
|
|
||||||
- Отгрузка
|
|
||||||
- Контроль качества
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 15. СИСТЕМА УВЕДОМЛЕНИЙ И СТАТУСОВ
|
|
||||||
|
|
||||||
### 15.1 Отслеживание изменений
|
|
||||||
|
|
||||||
- Все изменения статусов синхронизируются между кабинетами
|
|
||||||
- Участники процесса получают уведомления о важных событиях
|
|
||||||
- История изменений сохраняется для аудита
|
|
||||||
|
|
||||||
### 15.2 Критические точки процесса
|
|
||||||
|
|
||||||
1. Одобрение заявки поставщиком
|
|
||||||
2. Подтверждение логистикой
|
|
||||||
3. Приемка товара на фулфилменте
|
|
||||||
4. Завершение обработки товара
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 16. БЕЗОПАСНОСТЬ И ДОСТУПЫ
|
|
||||||
|
|
||||||
### 16.1 Разграничение доступа
|
|
||||||
|
|
||||||
- Каждый тип организации видит только свои разделы
|
|
||||||
- Общие модули (мессенджер, партнеры, настройки) доступны всем
|
|
||||||
- Админ имеет полный доступ к системе
|
|
||||||
|
|
||||||
### 16.2 Защита данных
|
|
||||||
|
|
||||||
- JWT токены с ограниченным временем жизни
|
|
||||||
- Валидация всех входящих данных
|
|
||||||
- Логирование критических операций
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 17. ИНИЦИАЛИЗАЦИЯ СИСТЕМЫ
|
|
||||||
|
|
||||||
### 17.1 Автоматическая настройка
|
|
||||||
|
|
||||||
При первом запуске система автоматически:
|
|
||||||
|
|
||||||
- Создает админа (admin/admin123)
|
|
||||||
- Инициализирует 20 базовых категорий товаров
|
|
||||||
- Настраивает базовую структуру БД
|
|
||||||
|
|
||||||
### 17.2 Команды управления
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm run db:seed # Инициализация БД
|
|
||||||
npm run db:reset # Полный сброс БД
|
|
||||||
npm run postinstall # Генерация Prisma Client
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 18. ОСОБЕННОСТИ РЕАЛИЗАЦИИ
|
|
||||||
|
|
||||||
### 18.1 Адаптивность
|
|
||||||
|
|
||||||
- Система поддерживает различные размеры экранов
|
|
||||||
- Мобильная версия для основных функций
|
|
||||||
- Прогрессивные веб-приложения (PWA) возможности
|
|
||||||
|
|
||||||
### 18.2 Производительность
|
|
||||||
|
|
||||||
- Кэширование данных маркетплейсов
|
|
||||||
- Оптимизированные GraphQL запросы
|
|
||||||
- Ленивая загрузка компонентов
|
|
||||||
|
|
||||||
### 18.3 Масштабируемость
|
|
||||||
|
|
||||||
- Модульная архитектура
|
|
||||||
- Возможность добавления новых типов организаций
|
|
||||||
- Расширяемая система интеграций
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 19. КРИТИЧЕСКИ ВАЖНЫЕ МОМЕНТЫ
|
|
||||||
|
|
||||||
### 19.1 Синхронизация статусов
|
|
||||||
|
|
||||||
Система должна обеспечивать консистентность данных между всеми участниками процесса. При изменении статуса в одном кабинете, изменения должны отражаться во всех связанных кабинетах.
|
|
||||||
|
|
||||||
### 19.2 Обработка ошибок API
|
|
||||||
|
|
||||||
Все внешние интеграции должны иметь fallback механизмы и graceful degradation при недоступности внешних сервисов.
|
|
||||||
|
|
||||||
### 19.3 Аудит операций
|
|
||||||
|
|
||||||
Все критические операции (создание заказов, изменение статусов, финансовые операции) должны логироваться для возможности аудита.
|
|
||||||
|
|
||||||
### 19.4 Разделение типов расходников
|
|
||||||
|
|
||||||
**КРИТИЧЕСКИ ВАЖНО**: В системе должно быть четкое разделение между расходниками селлера и расходниками фулфилмента:
|
|
||||||
|
|
||||||
- **Расходники селлера**: Заказываются селлером, доставляются в фулфилмент-центр, используются для товаров селлера
|
|
||||||
- **Расходники фулфилмента**: Заказываются фулфилмент-центром, доставляются на склад фулфилмента, используются для внутренних операций фулфилмента
|
|
||||||
|
|
||||||
Недопустимо использование общего термина "расходники" без указания принадлежности. Это может привести к ошибкам в учете, доставке и использовании материалов.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**ВНИМАНИЕ**: Данная логика является основой для всех разработок в системе.
|
|
||||||
Любые изменения в бизнес-процессах должны быть отражены в этом документе.
|
|
||||||
Разработчики должны использовать этот документ как источник истины при реализации новых функций.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
_Документ создан: $(date)_
|
|
||||||
_Версия системы: Sfera V_
|
|
||||||
_Статус: ЗАЩИЩЕН ОТ ИЗМЕНЕНИЙ БЕЗ РАЗРЕШЕНИЯ_
|
|
Reference in New Issue
Block a user