Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

DB para control de horarios de empleados

Estas en el tema de DB para control de horarios de empleados en el foro de Bases de Datos General en Foros del Web. Hola gente, es mi primero post por aqui y posteo ya que tengo un problema que no he podido resolver. Estoy intentando crear un sistema ...
  #1 (permalink)  
Antiguo 08/07/2010, 00:25
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 13 años, 9 meses
Puntos: 0
Exclamación DB para control de horarios de empleados

Hola gente, es mi primero post por aqui y posteo ya que tengo un problema que no he podido resolver.

Estoy intentando crear un sistema (MYSQL/ PHP) que controle los horarios de entrada y salida de empleados y a su vez, me diga por dia las horas trabajadas, y si realizó horas extras.

A su vez, existen diferentes sucursales.Cada empleado pertenece a una Sucursal, y tiene una cantidad de Horas determinadas para trabajar (8 horas en la mayoria de los casos).

Voy asi:

Empleados:


Id
Nombre
Horas // la cantidad de horas que trabaja, es un campo TIME, si trabaja 8 horas diaras entonces = 08:00:00
DiaInicio // Es un INT, que corresponde a .. si es 0 = Domingo, 1 = Lunes, etc
DiaFin // Es un INT, que corresponde a .. si es 0 = Domingo, 1 = Lunes, etc.
SucursalId // El identificador de la sucursal.

Sucursal:

Id
Nombre

Marcas

Id
FechaInicio // es un datetime.. tipo 07/07/2010 10:00:00. Es la hora que marca la entrada.
FechaFin // es un datetime, y lo actualizo cuando el empleado marca que se va.
EmpleadoId // el identificador del empleado.

Lo que yo tengo q hacer ahora es Dado un Empleado, listar todas las entradas y salidas de todos los dias del mes.

algo asi (mysql):

Código PHP:
$query mysql_query("Select * from marcas Where EmpleadoId = $id AND DATE_FORMAT(FechaInicio, '%m') = '$mes' Order by TrabajoId asc "); 
Hasta ahi bien, se me listan todas las 'marcas' de ese empleado y de ese mes. Pero lo que tengo que hacer ahora es:

- Calcular las horas trabajadas por dia. ( ni idea de como hacerlo, se me ocurre algo de algun GROUP BY fecha_dia)



Y bueno, sacarme esa duda primero, y luego si no puedo, Alguien sabe de algun sistema ya hecho para hacer esto??

Desde ya muchas gracias!!
  #2 (permalink)  
Antiguo 08/07/2010, 08:30
 
Fecha de Ingreso: julio-2010
Mensajes: 104
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: DB para control de horarios de empleados

Buenas tardes,

Select:
1. Suma de las horas trabajadas(campo Horas de Empleados o la resta de fecha inicio y fin).
2. Suma de los días trabajados.
3. divides 1 entre 2.
Ya tienes la media.

Where:

Aquí estableces el tiempo de observación, en tu caso un mes.

Group by:

Los primeros elementos deben ser algun dato que haga referencia al empleado: id, nombre, empleadoId.


Un saludo y buen día.

Etiquetas: empleados, sitemap
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:50.