|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.01.2024, 17:54 | #1 | |
Форумчанин
Регистрация: 06.11.2012
Сообщений: 119
|
Создать PHP скрипт или сделать SQL запрос для вычисления цикла сделки (в днях)?
Здравствуйте.
Для продажи товаров на маркетплейсе нужно рассчитать для заказов цикла сделки (в днях). Началом сделки считаю день закупки товара для заказа, окончанием перечислением денег за заказ на расчётный счет от маркетплейса. Вопрос 1. Подскажите нужно ли для этого создавать PHP скрипт (т.к. стек на PHP) или можно решить задачу только SQL запросом? Вопрос 2. При расчете как учитывать "вторник, четверг, выходной, праздничный"? Надо ли для этого создавать отдельную таблицу в БД с перечислением всех эти дней в году (чтобы их учитывал скрипт /sql запрос)? Условия: 1. Выплаты производятся в дни месяца 4, 12, 20, 28. 2. Если товары выкуплены до даты выплаты, то деньги будут перечислен в ближайшую дату выплаты. 3. Если заказ перешёл в статус «Доставлен» за 1 день до выплаты, то выплата перенесётся уже на следующий раз. К примеру, заказ был доставлен покупателю 3-го числа, выплата за него будет не 4-го, а уже 12-го 4. Если дата выплаты выпадает на вторник, четверг, выходной, праздничный, то переносится на следующий за ним рабочий день. Таблицы: - "4_1_orders_yandex_market" (Заказы) > order_number (Номер Заказа) - "4_3_status_yandex_market" (Статусы) > "number_order_yandex_market" (Номер Заказа) > "status" (Статус) > "data_time" (Дата-время наступления статуса) - "11_2_shipments_yandex_market" (Отгрузки) > "number_shipment" (№ Отгрузки) > "start_plan_interval_shipments" (дата Отгрузки) - "11_3_orders_yandex_market_from_shi pments" (Заказы из Отгрузок) > "number_shipment" (№ Отгрузки) > "number_order_yandex_market" (Номер заказа) SQL запрос: 1. Выбрать из таблицы "4_1_orders_yandex_market" Заказы для которых в таблице "4_3_status_yandex_market" отсутствует статус="CANCELLED" и присутствует статус="DELIVERED" 2. Вывести столбцы - Номер заказа - Дата закупки товара * В таблице "11_3_orders_yandex_market_from_shi pments" найти (Отгрузки Яндекс.Маркет) Заказ и в таблице "11_2_shipments_yandex_market" (Отгрузки Яндекс.Маркет) для него проверить поле start_plan_interval_shipments (дата Отгрузки), из этой даты вычесть 1 день. - Дата вручения * В таблице "4_3_status_yandex_market" (Статусы) статус "status" (Статус)= "DELIVERED", поле "data_time". - Дата выплаты плановая. * Ближайшая дата выплаты относительно "Дата вручения" - Дата выплаты итоговая * Ближайшая дата выплаты с соблюдением всех условий из раздела " Условия". - Цикл сделки (дн) (Дата выплаты итоговая) – (Дата закупки товара) Цитата:
Последний раз редактировалось rownong; 02.01.2024 в 18:02. |
|
03.01.2024, 11:18 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,179
|
Начну со 2-го вопроса, да нужна таблица праздничных дней на год... никакими средствами php, sql этого не узнать, в том числе лучше и выходных, так как бывают всякие переносы, объединения выходных итд... все это решается постановление правительства ежегодно. То что вторник/четверг - это можно определять посредством SQL
по 1-му, скорее всего можно сделать на чистом SQL запросе... сильно не вникал, но препятствий не вижу |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создать абстрактный класс (кривые) для вычисления координаты для некоторой x. Создать производные классы: прямая, эллипс, гипербола со своими функциями вычисления y в зависимости от входного | Apels1nka | Помощь студентам | 0 | 30.04.2022 12:30 |
Оператор цикла для вычисления суммы ряда | emalf | Visual C++ | 4 | 11.05.2017 11:09 |
Операторы цикла для вычисления функции | Юлия2013 | Помощь студентам | 5 | 15.04.2013 14:26 |
С использованием цикла для вычисления суммы ряда решить уравнение | ben74 | Помощь студентам | 0 | 15.03.2012 10:00 |
Решить уравнение с использованием цикла для вычисления суммы ряда | ben74 | Помощь студентам | 1 | 05.02.2012 12:48 |