ViniciusConsultor / controlhoras

Automatically exported from code.google.com/p/controlhoras
1 stars 0 forks source link

Listado: Listado HS por Guardia detallando servicio y sucursal #18

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Listado pedido por Hernando.

Original issue reported on code.google.com by juanga...@gmail.com on 10 Feb 2011 at 1:28

GoogleCodeExporter commented 8 years ago
Consulta que resuelve este listado.

select 
hg.FechaCorrespondiente,hg.NroEmpleado,emp.Apellido,emp.Nombre,hg.NumeroCliente 
as NroCliente,cli.Nombre as Cliente ,ser.Nombre as Servicio, 
sec_to_time(sum(time_to_sec(hg.HoraSalida) - time_to_sec(hg.HoraEntrada))) as 
Horas from horasgeneradasescalafon hg, clientes cli, empleados emp, servicios 
ser where hg.NumeroCliente=cli.NumeroCliente and 
hg.NumeroCliente=ser.NumeroCliente and hg.NumeroServicio=ser.NumeroServicio and 
hg.NroEmpleado=emp.NroEmpleado and hg.NroEmpleado=NROEMPLEADO and 
hg.FechaCorrespondiente between 'FECHADESDE' and 'FECHAHASTA' group by 
hg.NroEmpleado,emp.Apellido,emp.Nombre,hg.NumeroCliente,cli.Nombre,ser.Nombre

Original comment by juanga...@gmail.com on 14 Feb 2011 at 2:06

GoogleCodeExporter commented 8 years ago
Actualizar Query por esta otra. Cambia el sec_to_time(sum(time_to_sec(....))) 
por TIMEDIFF

select 
hg.FechaCorrespondiente,hg.NroEmpleado,emp.Apellido,emp.Nombre,hg.NumeroCliente 
as NroCliente,cli.Nombre as Cliente ,ser.Nombre as Servicio, 
TIMEDIFF(hg.HoraSalida,hg.HoraEntrada) as Horas from horasgeneradasescalafon 
hg, clientes cli, empleados emp, servicios ser where 
hg.NumeroCliente=cli.NumeroCliente and hg.NumeroCliente=ser.NumeroCliente and 
hg.NumeroServicio=ser.NumeroServicio and hg.NroEmpleado=emp.NroEmpleado and 
hg.NroEmpleado=NROEMPLEADO and hg.FechaCorrespondiente between 'FECHADESDE' and 
'FECHAHASTA' group by 
hg.NroEmpleado,emp.Apellido,emp.Nombre,hg.NumeroCliente,cli.Nombre,ser.Nombre

Original comment by juanga...@gmail.com on 23 Mar 2011 at 4:20

GoogleCodeExporter commented 8 years ago
Final: Actualizar Query por esta otra. Se agrega el sum de las hs, con 
SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(....)))).
Se quito el dato FechaCorrespondiente porque no tiene sentido en el agrupado 
por cliente/servicio

O sea:

SELECT hg.NroEmpleado,emp.Apellido,emp.Nombre,hg.NumeroCliente as 
NroCliente,cli.Nombre as Cliente ,ser.Nombre as Servicio, 
CAST(SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(hg.HoraSalida,hg.HoraEntrada)))) AS 
CHAR) as Horas FROM HORASGENERADASESCALAFON hg, CLIENTES cli, EMPLEADOS emp, 
SERVICIOS ser where hg.NumeroCliente=cli.NumeroCliente and 
hg.NumeroCliente=ser.NumeroCliente and hg.NumeroServicio=ser.NumeroServicio and 
hg.NroEmpleado=emp.NroEmpleado and hg.NroEmpleado=NROEMPLEADO and 
hg.FechaCorrespondiente between 'FECHADESDE' and 'FECHAHASTA' group by 
hg.NroEmpleado,emp.Apellido,emp.Nombre,hg.NumeroCliente,cli.Nombre,ser.Nombre

Original comment by juanga...@gmail.com on 23 Mar 2011 at 6:13

GoogleCodeExporter commented 8 years ago

Original comment by juanga...@gmail.com on 2 Apr 2011 at 11:21

GoogleCodeExporter commented 8 years ago

Original comment by juanga...@gmail.com on 21 Apr 2011 at 4:30