Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2010, 14:03
NA1TM3R
 
Fecha de Ingreso: agosto-2008
Mensajes: 82
Antigüedad: 15 años, 9 meses
Puntos: 4
Exclamación Ayuda Expertos!

Saludos...

Ya tenía demasiado tiempo sin pisar éstos territorios de iluminación colectiva... hehehe...

Ésta vez será para pedir una manita...


Lo que sucede es que estoy elaborando un simulador de Incapacidades (laborales)...

He tratado de tomar en cuenta todo lo posible... pero al hacer las exaustivas pruebas vienen los errores...

Para éso sólo me interesan 2 tablas...

TABLA1
ID_USR - (ID de usuario/empleado)
DATE_IN - (Fecha de Ingreso)

TABLA2
ID_INC - (ID Incapacidad)
ID_USR - (ID de usuario/empleado)
INC_FROM - (Fecha de inicio de incapacidad)
INC_TO - (Fecha de termino de incapacidad)

Ahora... lo divertido...

Saber cuando cierra la próxima quincena y los cálculos...

La lógica que utilizé fué la siguiente:

Si el empleado pide 7 días de incapacidad en la quincena X...
restamos 15 menos los 7 días que se fué...
... el resultado sería: 8 días trabajados...
Si el empleado se incapacita durante 14 ó más días...
... el resultado sería 0...

Todo iba bien... hasta...

- Las incapacidades "encadenadas" (cuando pide 7 días, después otros 7)...
(Ya que mi consulta sólo jala el último registro en la tabla incapacidades, por lo tanto sólo cuenta los últimos 7 días, ignorando los otros 7.)

- Los días a medias quincenas...
(Ya que si decide irse de incapacidad 14 días, 5 días antes de terminar la quincena... le registra 0 días trabajados... cuando debería registrar 5.)

... ya intenté de muchisimas formas, pero no salen los resultados deseados...


Al parecer lo que necesito es crear una consulta que en base a la diferencia_de_fechas_(INC_FROM,INC_TO)...
... sólo sume los días correspondientes al "rango_de_fechas_de_la_quincena_correspondiente".. .
Pero no encuentro la forma...

¿Ó la solución es que al momento de insertar el rango de fechas se agrege a la tabla 1 registro por día, para así sumar los que no salgan de los días_de_la_quincena_actual? (NO CREEEEO)

Gracias por su respuesta...