Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem koncepcyjny
Forum PHP.pl > Forum > Bazy danych
Lysiur
Witam, mam do rozgryzienia jeden problem związny z płatnościami oraz rozliczeniami. Występuje dwóch aktorów, Klient i Opiekun. Z każdym z nich jest podpisywana umowa, z klientem roczna, z opiekunem różnie (albo na rok, albo na konkretne zlecenie). Zlecenie jest powiązane z umową klienta i opiekuna. Na podstawie zlecenia rozliczany jest klient (faktura co 2 tyg, lub raz na koniec miesiąca lub z końcem zlecenia), opiekun rozliczany jest za cały miesiąc.

To jeszcze jest do ogarnięcia.

W każdej dowolnej sytuacji, zarówno klient jak i opiekun, może być dodatkowo obciążony jakimś kosztem, lub może mieć upust/zwrot. Także w między czasie może dojść do zmiany wysokości dziennego obciążenienia (klient), lub dziennego wynagrodzenia (opiekuna). Dodatkowym obiciążeniem może być np.: rozwiązanie umowy czy to Klientem czy Opiekunem.

Problem polega na tym, że nie bardzo mogę uporać się z samą koncepcją bazy. Aktualnie mam to rozwiązane jako tabele

Contract_Contractor (umowa klint),
Contract_Guardian (umowa opiekun),
Service (zlecenie)
Service_Day (dodatkowe koszty naliczane klientowi/opikunowi na podstawie zlecenia)

Service_Day jest miejscem gdzie przechowuje dodatkowe zmiany typu (doliczenie wartości, upust, etc) per dzień lub zakres dni. Dzięki temu mogę regulować wartości w finalnym rozliczeniu i dodatkowo wyświetlam to na kalendarzu rozliczeń.

Chwilowo nie mogę rozwiązać problemu ze zmianą stawki zleceń w trakcie jej trwania oraz dodatkowym doliczanie wartości z tytułu rozwiązania umowy, które defakto nie są bezpośrednio związane ze zleceniem.

Macie może pomysł, jak taki problem rozwiązać - lub przeorganizować dane w bazie danych?

Na myśl, przychodzi mi dodatowa tabela (kótra miała by informację, że opłata została doliczona do danego rozliczenia).

Z góry dziękuję za jakieś sugestie.
netmare
Nie do końca rozumiem Twoje problemy, ale na szybko wydaje mi się, ze u mnie jakoś tak by to wyglądało

Składniki:
id|nazwa
1 Wynagrodznie normalne
2 Potrącenie bo klient wstał lewą nogą

Kontrahent
1 Iksiński

Historia składników
id|_kontrahenta|id_skladnika|data_od|wartość
1 1 01-01-2012 20
1 1 01-05-2012 21
1 2 01-05-2012 -10
1 2 03-05-2012 0

Wykonane rozliczenia:
id_kontrahenta|do_dnia
1 01-03-2012
1 01-05-2012

Oczywiście dodatkowo klucze podstawowe jednokolumnowe, indeksy unique i różne dodatkowe informacje o rachunkach jak data wystawienia, kwota itd, itp.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.