Гость
Map
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД / 13 сообщений из 13, страница 1 из 1
07.06.2021, 18:33
    #40076208
george_amsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
Здравствуйте! Помоги новичку с делемой.

Как разрешить данный конфликт?
SF это стоимость доставки по Китаю, в разных случаях его платит либо поставщик, либо cargo - компания перевозчик.

Сама задача:
Поставщик клиенту присылает счет на оплату, в счете указаны товары. Товары доставляются в компанию перевозчик через курьерскую службу SF. В зависимости от поставщика за курьерскую доставку вносит оплату либо перевозчик, либо поставщик.
...
Рейтинг: 0 / 0
07.06.2021, 19:09
    #40076215
Кесарь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
george_amsu,

а в чём дилемма-то?
...
Рейтинг: 0 / 0
07.06.2021, 19:11
    #40076216
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
george_amsu,

Да в invoice добавь два поля с суммами типа:
- payment_supplier
- payment_cargo
Если поставщик оформил заказ и заполнил payment_supplier, то перевозчик везет бесплатно...
Если поставщик оформил заказ и НЕ заполнил payment_supplier, то SF заполняет payment_cargo и перевозчик везет платно...
Возможна складчина - часть платит поставщик, остальное доплачивает переводчик (payment_supplier+payment_cargo)
Перевозчикам сразу видно, что везти бесплатно, а что платно и сколько...

Хотя само по себе - бред полный... Нахрен какому перевозчику нужно платить свое бабло, чтоб кому-то что-то перевезти, обычно за перевозку берут бабло, а не наоборот... Сдается мне что не платят бабки а получают бабки за доставку либо поставщик, либо перевозчик...
Правда если отследить логику Али, то если поставщик не оплачивает доставку перевозчику, то эту доставку оплачивает Клиент перевозчику...
По этому достаточно одной суммы, ее и получит перевозчик от Клиента, если ее не заплатил Поставщик
...
Рейтинг: 0 / 0
07.06.2021, 20:06
    #40076224
george_amsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
vmag,

За SF нужно платить в любом случае. Просто в одном случае SF оплачивает поставщик и клиент платит ему за товар и SF. В другом случае SF оплачивает cargo и надо ему оплачивать услуги cargo и SF. Если подытожить, то SF попадает либо в invoice, либо в карго.
...
Рейтинг: 0 / 0
07.06.2021, 20:08
    #40076225
george_amsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
Кесарь,

Собственно не понятно, как можно сделать таблицу без цикличной связи, чтобы можно было брать данные данные из таблиц без ошибок и использования сложных технических приемов.
...
Рейтинг: 0 / 0
07.06.2021, 20:55
    #40076229
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
george_amsu
За SF нужно платить в любом случае.


Вы просто не оперируйте туманными терминами и не упрощайте процесс до гвоздя с молотком , тогда всё будет ОК...
Если ваше SF это по русски Доставка, то за неё не может платить ваш cargo (Перевозчик) ибо это его статья дохода, а не расхода...
За доставку платит или Клиент или Поставщик (заинтересованные стороны - одному нужно купить, другому сбыть) и они оба если что - то платят именно Перевозчику...
За что может платить Ваш Перевозчик в SF, так это за пользование этой SF с целью получения заказов на перевозку,
это могут быть либо абонентская плата либо процент от выручки за перевозки либо что-то в этом духе...
Соответственно в SF точно так же может платить взносы и Поставщик, дабы пользоваться службой Доставки как таковой...
Но эти платы в SF (за пользование сервисом) к процессу торговли имеют косвенное отношение
...
Рейтинг: 0 / 0
07.06.2021, 21:06
    #40076231
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
Дубль получился, сорри
...
Рейтинг: 0 / 0
07.06.2021, 21:22
    #40076233
george_amsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
vmag,

окей, статьи расхода такие:
- товар
- курьерская доставка до карго
- перевозка товара между странами (карго)

получается что курьерскую доставку от поставщика до карго оплачивают то одни, то другие.
...
Рейтинг: 0 / 0
07.06.2021, 21:23
    #40076235
george_amsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
vmag,

но конечно же курьерская доставка не бесплатная, ее надо оплачивать. как это сделать без петель, не понятно.)
...
Рейтинг: 0 / 0
07.06.2021, 21:47
    #40076242
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
george_amsu
получается что курьерскую доставку от поставщика до карго оплачивают то одни, то другие.


но это уже логистика и ваша SF тут если её развернуть будет на пару экранов минимум...
а если на пальцах, то это примерно так:
- Клиент делает у Поставщика заказ.
- SF анализирует как этот заказ доставить и предлагает варианты Поставщику (дороже, но быстрее или дешевле но дольше, в вариантах перечислены промежуточные пункты и способы: ЖД, авиа, морем, ну и цена вариантов)
- Поставщик выбирает что он потянет и какой будет выхлоп от продажи, если хоть что-то устраивает, он выбирает вариант, оплачивает и клиент Получает с Али посылку с бесплатной доставкой ибо за нее заплатил Поставщик...
- А вот если цена товара в посылке 30 р. то поставщик забивает болт на доставку с мыслью - кому нужно,
тот и купит и заплатит за доставку, по этому иногда выбираешь на али светодиодную ленту за 30 р., а при оформлении заказа тебе накидывают доставку за 500р, хош бери, хош не бери, это SF обременил уже Клиента по доставке одним из вариантов...
Короче SF это не просто квадратик - это отдельная, довольно сложная структура...

Добавьте в инвойс сумму доставки, признак того кто платит (Клиент или Поставщик) и успокойтесь...
...
Рейтинг: 0 / 0
07.06.2021, 22:30
    #40076249
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
george_amsu,

На самом деле ключевое здесь понятие
george_amsu
SF это стоимость доставки по Китаю

Логистику Поднебесной могут постичь только сами Китайцы...
Ради того чтобы снизить стоимость перевозки Мерседесов, Перевозчик может впрячься и перевезти тыщу другую
мелких посылок от одного пункта до другого вообще за бесплатно (в качестве доп. нагрузки), в этом случае за
доставку некоторых отправлений формально вообще никто не платит, правда такие посылки мы можем ждать
по пол года и можем вообще не дождаться, они как правило даже не отслеживаются ибо курсируют по всем провинциям Китая (до сотни промежуточных пунктов доставки, зато полная халява по доставке)...
...
Рейтинг: 0 / 0
08.06.2021, 11:50
    #40076324
Кесарь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
george_amsu
Кесарь,

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


А мне непонятны ваши затруднения. Возможно вы их не смогли донести простым и ясным языком.

У вас есть некая доставка, у неё есть (если нет, надо создать) признак того, кто платит. В чём тут может быть вообще затруднение? Непонятно.

Таблица контрагентов Partner (ID bigint pk, TypeID tinyint, ...), на неё в таблице доставок Delivery ссылается это новое поле. Скажем CargoPayerID. На этого контрагента и формируете нужные документы или другие сущности (в зависимости от типа контрагента, если там есть в этом какие-то развилки логические).


P.S. И да, безплатный совет. Не называйте ничего СФ, ППК, ССДФ и тому подобное. Называйте ВСЕ сущности, включая переменные в коде, содержательно. Пусть даже на первый взгляд это кажется излишним и неудобным. Потом пять раз поблагодарите себя за старания.

Взгляните например на процу CargoSupplierShipmentAdd и сразу понятно, что она делает.
...
Рейтинг: 0 / 0
08.06.2021, 11:54
    #40076326
Кесарь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проектирование БД
P.S.

Вообще же доставка - это некое дерево. В плохом случае граф (когда товар начинает ездить по одному узлу не один раз).

Вам нужно курить алгоритмы прохождения деревьев/графов и то, как они строятся в РСУБД.


ИМХО без циклических связей тут никак не обойтись.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]