ViniciusConsultor / controlhoras

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

Listado de Escalafon Diario no muestra Funcionarios luego de haberlos cambiado en el control diario #43

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Que pasos reproducen el problema?
1. Sacar el Listado de Escalafon Diario.
2. Ir a Control Diario -> NroCliente, NroServicio, Fecha.
3. Cambiar un Funcionario
4. Sacar un nuevo Listado de Escalafon Diario.
5. No se ve el nuevo funcionario.

Cual es la salida esperada? Que resultado tuve en lugar del esperado?
No se ven los funcionarios cambiados en el escalafon diario.

Provea informacion adicional a continuación:

Original issue reported on code.google.com by juanga...@gmail.com on 25 Mar 2011 at 5:30

GoogleCodeExporter commented 8 years ago
El problema es la consulta del Listado. Esta hace un JOIN contra 
EscalafonEmpleado para el IdEscalafon correspondiente, pero como el empleado 
que se agrego por otro, no esta en el EscalafonEmpleado correspondiente al 
IDEscalafon, el JOIN no trae este registro.
El JOIN este existia para ir a buscar la cantidad de Hs antes de la llamada al 
funcionario. 

La solucion fue agregar un campo DateTime de nombe 
DiaHoraLlamadaAntesHoraEntrada a la tabla horasgeneradas.
Quedo con el siguiente schema:

mysql> desc horasgeneradasescalafon;
+--------------------------------+-----------------------+------+-----+---------
+----------------+
| Field                          | Type                  | Null | Key | Default 
| Extra          |
+--------------------------------+-----------------------+------+-----+---------
+----------------+
| IdHorasGeneradasEscalafon      | bigint(20)            | NO   | PRI | NULL    
| auto_increment |
| NumeroCliente                  | mediumint(8) unsigned | NO   | MUL | NULL    
|                |
| NumeroServicio                 | mediumint(8) unsigned | NO   |     | NULL    
|                |
| NroEmpleado                    | mediumint(8) unsigned | NO   | MUL | NULL    
|                |
| FechaCorrespondiente           | date                  | NO   |     | NULL    
|                |
| HoraEntrada                    | datetime              | NO   |     | NULL    
|                |
| HoraSalida                     | datetime              | NO   |     | NULL    
|                |
| DiaHoraLlamadaAntesHoraEntrada | datetime              | NO   |     | NULL    
|                |
+--------------------------------+-----------------------+------+-----+---------
+----------------+

Se actualizo el codigo correspondiente a la Generacion de Horas, seteando el 
nuevo valor.

Sentencias:
alter table horasgeneradasescalafon change column 
DiaHoraLLamadaAntesHoraEntrada DiaHoraLlamadaAntesHoraEntrada DateTime Not Null;
update horasgeneradasescalafon set 
DiaHoraLlamadaAntesHoraEntrada=ADDTIME(HoraEntrada,'-02:00:00');

Se actualizo el listado quedando como resultado el siguiente:
update consultasclientes set Query="Select ser.NumeroCliente, ser.Nombre as 
Servicio,date_format(hge.DiaHoraLlamadaAntesHoraEntrada, '%H:%i') as 
Llamada,date_format(hge.HoraEntrada, '%H:%i') as 
Entrada,date_format(hge.HoraSalida, '%H:%i') as Salida, '             ' as 
Cierre, cast(concat(emp.NroEmpleado,' - ', emp.Apellido,' ', emp.Nombre) as 
char) as Funcionario, (select  group_concat(distinct(he.dia)) from 
horarioescalafon he, tiposdias td where he.TipoDia=td.Id and 
td.Nombre='Descanso' and he.NroEmpleado = hge.NroEmpleado) as DiaDescanso, 
emp.CelularenConvenio, emp.Celular as CelularParticular, emp.Telefonos from 
Empleados emp,horasgeneradasescalafon hge, Servicios ser where 
hge.FechaCorrespondiente='FECHASOLA' and hge.HoraEntrada is not null and 
hge.HoraSalida is not null and ser.NumeroCliente= hge.NumeroCliente and 
ser.NumeroServicio = hge.NumeroServicio and emp.NroEmpleado = hge.NroEmpleado 
group by ser.NumeroCliente, 
ser.Nombre,date_format(hge.DiaHoraLlamadaAntesHoraEntrada, '%H:%i'), 
date_format(hge.HoraEntrada, '%H:%i'),date_format(hge.HoraSalida, '%H:%i'), 
cast(concat(emp.NroEmpleado,' - ', emp.Nombre,' ', emp.Apellido) as char), 
emp.CelularenConvenio, emp.Celular order by 
date_format(hge.DiaHoraLlamadaAntesHoraEntrada, '%H:%i')" where 
idConsultaCliente=3;

Original comment by juanga...@gmail.com on 25 Mar 2011 at 5:42

GoogleCodeExporter commented 8 years ago
Es alter horasgeneradasescalafon add column, no change column

-- Se agrega campo DateTime, DiaHoraLlamadaAntesHoraEntrada
alter table horasgeneradasescalafon add column DiaHoraLlamadaAntesHoraEntrada 
DateTime Not Null;

Original comment by juanga...@gmail.com on 25 Mar 2011 at 5:47

GoogleCodeExporter commented 8 years ago

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