Доработка интернет магазина, работа с MySQL

Игорь17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
13.11.2009

В связи с тем что предыдущий исполнитель продинамил 3 дня, предложение вновь актуально!

Требуется написание модуля бронирования товаров для магазина

ТЗ:

Есть таблица со списком заказов orders, таблица с товарами для этих заказов order_products , таблица orders_status_history с датами изменения статусов, таблица orders_status со статусами заказов, таблица склада store (в ней указано ассортимент и кол-во товара на нашем складе).

Нужно создать страницу ,на которую выводится список товаров из заказов со статусом "бронируется" в формате [products_id],[products_quantity] c разбитием по датам доставки (extra_date).

Если какой нибудь товар присутствует сразу в нескольких заказах, то в таблице он должен быть отображен одной строчкой, а кол-во суммируется.(Только если эти заказы не на разные даты доставки)

Сделать кнопку TXT , при нажатии на которую будут сохраняться несколько .txt файлов (в зависимости от кол-ва дат доставки на которые разбит список), со списком товаров и кол-вом через запятую в столбец. Имя файла - дата доставки - текущие дата и время(например 12_11_X_12_11_2009_13_22.txt ) .

Сделать проверку наличия товара из списка в таблице store c orders_id = 0 и store_status = 00 (Внимание! Из таблицы store, нас интересуют только эти товары)

Напротив тех товаров ,которые есть в таблице store выводить надпись "На нашем складе - [кол-во товара в store] шт." Ячейку выделить цветом.(Внимание! В таблице store возможно несколько записей с одинаковыми products_id и разным кол-вом , выводится их сумма.)

Самое важное:

Сделать кнопку "Забронировать на нашем складе"

Ее действия : для тех товаров из списка, которые есть в таблице store c orders_id = 0 и store_status = 00 , найти номер заказа в котором они заказаны(Внимание! интересуют только заказы со статусом "бронируется") и вставить его номер в столбец orders_id в таблице store.

После нажатия на кнопку, выводимая таблица со списком товаров обновляется, и уже показывает список без тех товаров , которые были забронированы на нашем складе.(Т.е. проверка списка, если артикул есть в store и ему присвоен номер заказа у которого стоит статус бронируется, то этот товар не выводится в списке)

Кнопка действует на те товары, на против которых расставлены галочки. Сверху в самом начале сделать общий чек бокс , который расставляет галочки везде.

Возможные варианты:

1. Товара в store больше чем в списке - то создается копия строчки с нужным кол-вом для заказа , в старой вычитается заказанное кол-во. Важно! У копии строчки должна быть та же products_date_added что и у оригинала. Обратить внимание на сложную ситуацию, когда один и тот же товар присутствует в разных заказах со статусом бронируется, но с разным кол-вом и в таблице store несколько записей с одним и тем же orders_id и разным кол-вом.

2. Кол-во товара на складе = товару в заказе , тут все просто, вставляется orders_id и все.

3. Товара заказах больше чем в store , тут товар приписывается в первую очередь к тем заказам у которых статус "Подтвержден" был выставлен раньше(эта информация берется из таблицы orders_status_history). То кол-во товара которого не хватило выводится в списке.

Обратить внимание! В результате в таблице store каждому заказу должно быть приписано именно столько товара, сколько в заказе. Главное чтобы общее кол-во товара store оставалось неизменным.В обработке учавствуют только товары из таблицы store c orders_id = 0 и store_status = 00(другие нас не интересуют) и заказы со статусом "Бронируется".

Более детальное тз при личном общении

Заявки фрилансеров