Cálculo del salario por hora

votos
1

Tengo una tabla de base de datos de esta manera:

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 

Si 'Brian' trabajó 43.5151587 horas, yo quiero que darse cuenta de que él hizo (40 * 15) + (3,5151587 * 20) = 670.303174.

Se trata de una base de datos SQLite, así que sé que voy a utilizar:

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

Con una combinación de suelo y% ... estoy simplemente no poner la lógica juntos en mi cabeza.

Tenga en cuenta las respuestas en C # y PHP aceptado, como puedo convertir la lógica de lo que necesito. Busco pseudo código, pero a aceptar respuestas dibujadas a cabo

Editar: tenga en cuenta ... Las horas trabajadas nunca será un entero exacta, por lo que permiten la superposición suceda.

Edit2:

Quiero aprovechar de empleados total de horas trabajadas (ejemplo: 43.5151587) y luego darse cuenta de que las primeras 40 horas, estaba haciendo de pago estándar @ $ 15 la hora. de modo (40 * 15) ... Luego trabajó 3.5151587 horas de tiempo extra @ $ 20 por hora. de modo (40 * 15) añadir a ella (3,5151587 * 20) ... La cantidad total percibida era 670.303174

Publicado el 16/08/2010 a las 11:01
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

Por lo que sé de su cargo (psuedocode):

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

Donde lengthes highhours- lowhours(y que, con remuneraciones están uno al lado del otro, por supuesto).

Respondida el 16/08/2010 a las 11:11
fuente por usuario

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