Ver Mensaje Individual
  #1  
Antiguo 07-12-2010
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Paz Entre Ríos
Posts: 354
Reputación: 18
Cañones Va por buen camino
Lightbulb Modelo para horarios rotativos

Buenas a todos.
Recurro a ustedes para que me ayuden a idear un problema que se me presenta.
Necesito realizar un sistema de control de ingreso y egreso del personal de la empresa.
Para ello tengo que modelar el horario del empleado para después controlar si llega tarde o se retira antes, como así también si faltó con aviso, enfermedad...
La base de datos no se cual va a ser, está entre Firebird y Oracle. Por eso pongo acá este hilo porque mas que nada es sobre el modelo y no tanto el SQL.
El punto que mayor dificultad me trae, es que no todos los empleados tienen el mismo esquema de francos.
Algunos tienen 5x2. De Lunes a Viernes, Sábado y Domingo Franco.
Otros trabajan 6x2 así que para ellos la semana tiene 8 días como para decirlo de alguna manera.
Ni que hablar de los que trabajan 6x1 4x3 5x2 5x2. Una semana trabaja 6 y uno de franco, la segunda semana trabaja 4 y tres de franco.....
Anduve buscando pero no encuentro nada sobre como modelarlo.
A mi se me ocurre algo como esto. La tebla quedaría del siguiente modo:
Cita:
idEmpleado, periodo, 1, 2, 3, ..., 30, 31, transporte
Donde idEmpleado es FK a la tabla empleados, período es el mes/año y después 31 columnas para cada día donde en cada una ingreso un id a una tabla con el horario, motivo de inasistencia o franco.
QUE PIENSAN LOS DBA DE QUE TENGA 34 COLUMNAS LA TABLA?
En transporte voy a dejar el valor de los días que le faltan trabajar en ese horario.
Ej: si tiene que trabajar 4 días en turno noche y el 29 tuvo franco, el 30 y 31 trabaja a la noche. En transporte pongo 2 que son los díás que le faltan trabajar. Al mes siguiente 1 y 2 trabaja en turno noche y el 3 tiene franco. SI NO SE ENTIENDE LO EXPLICO DE NUEVO.
Como Primary Key pongo a idEmpleado y periodo.

Se me ocurre esto, porque antes de que se acabe el mes necesitamos saber como van a ser los horarios del mes que viene para ver si van a ser suficientes los empleados por turno. También controlar llegadas tardes, horas extras, cantidad de días trabajados.

Si hay alguna teoría que me pueda ayudar en esto, desde ya bienvenida sea!

Espero que podamos discutir esto y ver si sirve.
Desde ya muchas gracias a todos por su tiempo.
Responder Con Cita