1. Модуль заказа и приходования товара.
Первая вкладка (Формирование заказа):
На страницу выгружается:
Шапка: тип выборки (среднее за 30 дней или по месяцам), начальная и конечная даты, кнопка "Генерировать", кнопка "Выгрузить")
---------
- номенклатура активного товара (название и производитель на английском языке с сортировкой по производителю и названию товара)
- текущий остаток
- кол-во товара из предыдущих заказов не имеющих статус "выполнен"
- продажи за предыдущий период (по месяцам или среднее за 30 дней - тип выборки, начальная и конечная даты вводятся в шапке)
- продажи за предыдущий период (те же даты год назад от предыдущего пункта)
- продажи за последних три месяца (среднее за 30 дней)
- заказ (поле input)
- UPC
- ISBN
- метка (см. п.4)
- Поставщик (location)
- После нажатия на кнопку "Выгрузить" данные из таблицы выгружаються в XLS файл с названием order_[текущая дата] и скачиваются.
Вторая вкладка (Загрузка заказа):
- Шапка: Выбор файла на диске, кнопка "Загрузить"
- после загрузки заказ пишется в таблицы заказов:
а) дата заказа, поставщик
б) дата заказа, номер коробки, product_id, кол-во в заказе, кол-во, цена
Третья вкладка (предыдущие заказы):
Шапка: тип выборки (все или те, где статус пустой, поставщик)
все заказы, соответствующие критериям выборки выводятся слева направо по убыванию даты заказа):
Все данные берутся из таблицы заказов в БД, которая заполняется на 2й вкладке.
- Заглавие (дата заказа)
---------------
- Номер коробки
--------------
- Название товара на английском языке
- кол-во в заказе
- кол-во (input)
- цена (input, но в него грузятся данные из таблицы)
- срок реализации
- 3 пустых строки (все input, при сохранении, если они не пустые, то по названию товара находится его product_id в product_description простым сравнением двух строк)
- доставка (input)
- скидка (input)
- кнопка "Пересчитать"
- сумма (input, считается и записывается в поле [кол-во х цена - скидка] после нажатия кнопки пересчитать), input нужен для ручной корректировки
- Кнопка "сохранить". При нажатии:
а) в таблицу заказов пишется product_id, кол-во товара, срок реализации, цена и статус =1 по текущей коробке и текущему заказу
б) в таблицу коробок пишутся сумма товара в коробке и доставка
в) в таблицу партий товара пишется product_id, кол-во товара, срок реализации
г) в поле quantity таблицы product добавляется значение поля кол-во (текущее значение+новое, которое введено в поле "кол-во", в поле UPC пишется цена.
------------
- Следующая коробка из текущего заказа
Все также как и в первом случае
-----------
Далее идут следующие заказы
-----------
2. Контроль партий товара (партионный учет)
При изменении статуса заказа на "Выполнен" в таблице партий должно уменьшаться соответветствующее количество товаров из заказа с самым старым сроком. (Например товар есть с тремя конечными датами. При продаже такого товара, в таблице должно уменьшаться количество товара с самой старой датой конечного срока. Может быть ситуация когда заказали 3 единицы, а самой старой датой только одна или две. В таком случае списывается одна старая, и со следующей по "старшенству" даты - две.)
3. В карточке товара в админке под кол-вом сделать вывод текущего конечного срока (запись из таблицы партий с самой старой датой и не кол-во>0)
4. В карточке товара в админке под Артикулом сделать поле "Метка". Данные из поля при сохранении пишутся в соответствующую таблицу в БД.
5. В карточке товара на фронте под производителем сделать вывод текущего конечного срока (аналогично)
Все изменения в движке делаются строго OCMODом.
ТЗ с указаним таблиц, полей и т.д. (что где брать и куда писать) будет предоставлено при согласовании.
Предложения по стоимости и цене - в личку.
Заранее благодарю.