🧾 Товар
Таблица на схеме

📅 Задачи yougile
- 🔵 Создать таблицу и контроллер ITR-179
- 🟢 Реализовать веб-интерфейс для работы с заказами покупателя ITR-167
✏️ Общее описание
🔎 Уточнить
🖊️ Общие особенности
- Все товары ссылаются на складские единицы
- Добавлять, удалять товары, менять их количество может только менеджер
- Менеджер может предлагать скидку от РРЦ. Если скидка больше, чем ему разрешено предлагать, то необходимо согласование с начальником
📋 Предзаполненные данные
🔐 Доступ
- Менеджер по продажам (просмотр и редактирование своих)
- Помощник менеджера по продажам (просмотр и редактирование если создан связанным менеджером по продажам)
- Начальник менеджеров по продажам (просмотр)
- Начальник производства (просмотр)
- Менеджер производства (просмотр)
- Главный конструктор (просмотр)
- Конструктор (просмотр)
- Снабженец (просмотр)
Роли по полям
Поле\Роль | М. по продажам | Помощник | Начальник м. | Нач. произв. | М. произв. | Гл. констр. | Констр. | Снабженец |
|---|---|---|---|---|---|---|---|---|
| Наименование | Выбор* | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр |
| Количество | Редактирование | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр |
| Единица | Просмотр* | Просмотр* | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр |
| Категория | Просмотр* | Просмотр* | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр |
| Тип | Просмотр* | Просмотр* | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр |
| Цена | Редактирование | Просмотр | Просмотр | - | - | - | - | - |
| Валюта | Просмотр* | Просмотр* | Просмотр | Просмотр | Просмотр | - | - | - |
| Сумма | Редактирование* | Просмотр | Просмотр | Просмотр | Просмотр | - | - | - |
| РРЦ | Просмотр* | Просмотр* | Просмотр | - | - | - | - | - |
| Скидка | Редактирование* | Просмотр | Просмотр | - | - | - | - | - |
| Отгружено | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Задача |
| Заказ на производство | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр |
| Опросный лист | Редактирование | Редактирование | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр |
| Фото | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр |
| Дата отгрузки план | Просмотр* | Просмотр* | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр |
| Дата отгрузки факт | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр | Просмотр |
| Согл.* | Просмотр* | Просмотр* | Просмотр* | - | - | - | - | - |
*максимально уменьшаю количество символов в ячейках, чтобы удобно отображалось в редакторе
Примечание:
- Согласованный чертеж и дата согласования редактируется через задачи. Менеджер по продажам и помощник менеджера по продажам согласовывают чертеж без заказа, менеджер производства — после оформления заказа, а конструктор создает чертеж.
- Количество отгруженных редактируется через задачи Снабженцем
- РРЦ (рекомендуемая розничная цена) редактируется в форме изделий
- Наименование и Единица редактируется в форме складских единиц или изделий. Здесь складская единица только выбирается
- Валюта и Дата отгрузки планируемая устанавливается в заказе покупателя
- Оплаченный заказ редактировать запрещено
- Сумма = Цена * Количество
- Цена = РРЦ*(1-Скидка/100) < = > Скидка = (1 - РРЦ/Цена)*100
- Согл. - Идёт согласование создания этого изделия или складской единицы. Только в задаче "Заказ покупателя. Сбор первоначальной информации"
💻 Веб интерфейс
https://orders.regina.fvds.ru/goods https://orders.regina.fvds.ru/buyerOrder/00000000-0000-0000-0000-000000000000
Таблица в заказе покупателя
Отгружено - количество товара в счёт-фактурах со статусом Проведён
- Наименование (ссылка для открытия модального окна с полной информацией об изделии или складской единице)
- Количество
- Единица
- Цена
- Валюта
- НДС
- Сумма
- РРЦ
- Скидка
- Отгружено
- Заказ на производство
- ТЗ (ссылка)
- КП (ссылка)
- Опросный лист (ссылка)
- Согласованный чертёж (ссылка)
- Чертёж/эскиз от клиента (ссылка)
- Фото (ссылка) Технические: id, Номер Действия: Просмотр (для М. по продажам, Помощник, Начальник м. - модальное окно информации о товаре. У остальных - модальное окно изделия или складской единицы)
Таблица в общем меню
Колонки как в таблице в ⭐ Заказе покупателя и дополнительно (если есть доступ):
- Товары
- Наименование (ссылка для открытия модального окна с полной информацией об изделии или складской единице)
- Количество
- Сумма
- Единица измерений
- Категория (складской единицы)
- Тип (складской единицы)
- Дата согласования
- Дата отгрузки план
- Дата отгрузки факт
- Номер заказа на производстве
Просмотр

Добавление
Добаление происходит в модальном окне Полную таблицу вставлять слишком объёмно, поэтому выбор и фильтрацию решено реализовать через автокомплиты Фронт получает все Складские единицы (отдельный уникальный запрос который возвращает поля: id, Наименование, Категория, Тип, Единица, РРЦ) На форме вверху расположены два автокомплита для фильтрации. По умолчанию в фильтре установлено значение "Изделие" для категории. При открытии фокус ставится на поле "Наименование". Серые поля не редактируемые: Категория, Тип, Единица и РРЦ из выбранного значения sku. Валюта - из заказа. Сумма = Цена*Количество. НДС = Цена*НДС в заказе/100 с округлением до вторго знака Белые поля редактируемые: Наименование, Количество Желтые поля редактируемые, но взаимосвязанные - при вводе цены меняется скидка, при вводе скидки меняется цена: Цена = (1-Скидка/100)* РРЦ, Скидка = (1 - Цена/РРЦ)*100. Значения округляются до 2го знака после запятой. Если РРЦ рано 0, то скидка не показывается и не вычисляется
После создания открывать модальное окно редактирования (*проверить, что такая работа выглядит нормально)

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

Удаление
🔗 Связанные сущности
👨🏽💻 API
/Order/Good/.. - Swagger - Order API