Obliczanie wynagrodzenia godzinowe

głosy
1

Mam tabeli bazy danych takie jak to:

wagetable
 name     lowhours  highhours  wage 
 Default  0         40         10   
 Default  40        9999       15   
 Brian    0         40         15   
 Brian    40        50         20   
 Brian    50        9999       22   
 Chad     0         40         13   
 Chad     40        9999       17 

Jeśli 'Brian' pracował 43.5151587 godzin, chcę, żeby zorientować się, że uczynił (40 * 15) + (3.5151587 x 20) = 670.303174.

Jest to baza danych SQLite, więc wiem, że będę korzystać:

SELECT wage FROM wagetable WHERE name LIKE 'Brian' AND 'HourNum' BETWEEN lowhours AND highhours;

Dzięki kombinacji podłodze i% ... Ja po prostu nie oddanie logiki razem w mojej głowie.

Zwróć uwagę odpowiedzi w C # i PHP akceptowane, jak mogę przekonwertować logikę tego co mi potrzeba. Szukam kodu pseudo ale akceptuje wyciągnięta odpowiedzi

Edit: proszę pamiętać ... Godziny przepracowane nigdy nie będzie dokładną liczbą całkowitą, dlaczego pozwoliłem nakładających się zdarzyć.

Edit2:

Chcę wziąć pracowników ogółem przepracowanych godzin (przykład: 43.5151587), a następnie uświadomić sobie, że pierwsze 40 godzin, robił standardowego wynagrodzenia @ $ 15 za godzinę. tak (40 * 15) ... Potem pracował 3.5151587 nadgodzin @ 20 $ za godzinę. tak (40 * 15) dodać do niego (3.5151587 * 20) ... Całkowita kwota zarobione było 670,303174

Utwórz 16/08/2010 o 11:01
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

Z tego, co wnoszę z Twojego postu (psuedocode):

foreach pay_bracket p:
    if hours > p.length
        pay += p.length * p.pay
        hours -= p.length
    else
        pay += hours * p.pay
        end

Gdzie lengthjest highhours- lowhours(i wsporniki płatne są tuż obok siebie, oczywiście).

Odpowiedział 16/08/2010 o 11:11
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more