BG Development


Страници: (7) [1] 2 3 ... последна »  ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Как да организирам парични потоци в базата данни
filmss
Публикувано на: 22-07-2017, 19:42
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 87
Регистриран на: 07.09.12



Здравейте, правя една система за отчитане на плащанията на нашия блок.
Но се чудя как да организирам плащането
Всеки апартаменти има месечни разходи + разходи други (за ремонти и т.н.)
Не всеки апартамент плаща месец за месец а евентуално може някой да иска да си плаща само месечните разходи и на веднъж да плати ремонтите.

Та въпроса ми е:
Да направя таблица където всеки месец записвам дължимата сума и платената сума т.е. като си платиш А = B
Или в една таблица да записвам платените от апартамент суми като положително число а дължимите като отрицателно и накрая да вадя баланс ос всички суми за даден абонат

Кой вариант е по удачен?
PMEmail Poster
Top
dvader
Публикувано на: 22-07-2017, 21:41
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 3640
Регистриран на: 12.07.05



Направи две таблици - в едната се записва кой какво дължи, в другата - кой кога колко е платил. Вика му се "дебит" и "кредит"...
После можеш да измислиш куп справки...


--------------------
I find your lack of faith disturbing
PM
Top
filmss
Публикувано на: 22-07-2017, 23:21
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 87
Регистриран на: 07.09.12



Така няма ли да се получат двойно повече запитвания към БД
И също така при предплащане на месеци да оставям като положително салдо или да им въвеждам плащания в кредит спрямо наличното салдо
PMEmail Poster
Top
Bender
Публикувано на: 23-07-2017, 06:37
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 4576
Регистриран на: 19.06.14



QUOTE (filmss @ 23-07-2017, 00:21)
Така няма ли да се получат двойно повече запитвания към БД
И също така при предплащане на месеци да оставям като положително салдо или да им въвеждам плащания в кредит спрямо наличното салдо

Направи го със съхранени процедури изцяло в базада за да не правиш повече запитвания лол


--------------------
Живота е спагети, кода за да работи добре трябва да го наподобява - Дон Реба
...
Живеем в греховни времена, какво очакваш богоугоден и благочестив код ли? - Дон Реба
...
много положителна енергия черпя от вас двамата,единият комунистически девствен,другият яко яхнал асемблерните розови понита - saruman
...
Рано или късно усерите на Виндофс разбират че стоят от неправилната страна на хуя. - ici
PM
Top
akrachev
Публикувано на: 23-07-2017, 08:18
Quote Post



Име: Атанас Крачев
Група: Потребител
Ранг: Редовен член

Мнения: 439
Регистриран на: 27.11.09



QUOTE (dvader @ 22-07-2017, 21:41)
Направи две таблици - в едната се записва кой какво дължи, в другата - кой кога колко е платил. Вика му се "дебит" и "кредит"...
После можеш да измислиш куп справки...

Точно така:
table expense_types(expense_type_id, name) -- типове разходи
table due (due_id PK, apartment_id, eventDate, expense_type_id, amount) - дължимо
table payments(payment_id PK, apartment_id, paymentDate, amount) - платено
table payment_details(payment_id, due_id) - какво точно е платил

Има ли дължимо?
A = select sum(amount) from due where apartment_id = X
B = select sum(amount) from payments where apartment_id = X
Има ли дължимо = A > B

Месечните (режийни) се слагат с крон един път месенчно за всеки в due

Няма ме цяла година и понеже съм богат .NET-аджия и имам пари плащам накуп предварително:
id = insert into payments(apartment_id, NOW(), 1000)
insert into payment_details(id, null)

PMEmail Poster
Top
filmss
Публикувано на: 23-07-2017, 11:21
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 87
Регистриран на: 07.09.12



Малко не виждам смисъла на payment_details
Не е ли по добре всичко да се опише направо в due
PMEmail Poster
Top
akrachev
Публикувано на: 23-07-2017, 11:34
Quote Post



Име: Атанас Крачев
Група: Потребител
Ранг: Редовен член

Мнения: 439
Регистриран на: 27.11.09



Тук много зависи за какво е цялата система - ако я правиш доброволно за входа, може да използваш варианта който нахвърлях или подобна измислица.

Ако системата, ще е за МЛМ система с обхват хиляди кооперации в България - най добре е да е стандартна double-entry система:
https://medium.com/@RobertKhou/double-entry...se-2b7838a5d7f8
PMEmail Poster
Top
kierenski
Публикувано на: 23-07-2017, 14:31
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 80
Регистриран на: 10.01.16



QUOTE (akrachev @ 23-07-2017, 08:18)
QUOTE (dvader @ 22-07-2017, 21:41)
Направи две таблици - в едната се записва кой какво дължи, в другата - кой кога колко е платил. Вика му се "дебит" и "кредит"...
После можеш да измислиш куп справки...

Точно така:
table expense_types(expense_type_id, name) -- типове разходи
table due (due_id PK, apartment_id, eventDate, expense_type_id, amount) - дължимо
table payments(payment_id PK, apartment_id, paymentDate, amount) - платено
table payment_details(payment_id, due_id) - какво точно е платил

Има ли дължимо?
A = select sum(amount) from due where apartment_id = X
B = select sum(amount) from payments where apartment_id = X
Има ли дължимо = A > B

Месечните (режийни) се слагат с крон един път месенчно за всеки в due

Няма ме цяла година и понеже съм богат .NET-аджия и имам пари плащам накуп предварително:
id = insert into payments(apartment_id, NOW(), 1000)
insert into payment_details(id, null)

Не е ли по-добре да се ползва една таблица и дълга да се вписва с "-" стойност, а плащането с "+" стойност и да се добави една колона с номер на дълг и като се прави плащане да се казва кое пространство покрива.
PMEmail Poster
Top
dvader
Публикувано на: 23-07-2017, 14:48
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 3640
Регистриран на: 12.07.05



QUOTE (kierenski @ 23-07-2017, 14:31)
Не е ли по-добре да се ползва една таблица и дълга да се вписва с "-" стойност, а плащането с "+"

Ако се закълнеш, че двете таблици винаги ще имат еднакви полета, тогава може.
Освен това, отрицателните числа са зло и е по-добре да се избягват.
А как ще отбелязваш отменени операции? Със знак "+-"?


--------------------
I find your lack of faith disturbing
PM
Top
filmss
Публикувано на: 23-07-2017, 15:15
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 87
Регистриран на: 07.09.12



Друг въпрос при така дадените таблици
Ако имаме примерно суми за апартамент, които се събират са:
Ток, вода, асансьор и ремонти

При направата на плащането за даден апартамент в таблицата се записва плащане за все тип или общата сума, която е платена
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (7) [1] 2 3 ... последна » Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2015 | BG Development | All Rights Reserved
RSS 2.0