domingo, 24 de noviembre de 2019

Actividades del día 24 de noviembre

Hora Inicio: 7:30 a.m

Responsables: Austin Hakanson

Actividades:

- Se empiezan a hacer los estatutos sql para hacer los cálculos de salario

Pausa: 8:28 a.m
Reanudación: 8:34 a.m

Actividades:

- Se utiliza por primera vez el estatuto case en un select  para especificar si se tiene que pagar horas extra o no.
Resultado:

SELECT E.Nombre, P.Puesto, TJ.Nombre, A.HoraEntrada, A.HoraSalida, SPH.Salario as SalarioPorHora, 
  CASE WHEN DATEDIFF(HOUR,TJ.HoraFin, A.HoraSalida) > 0 THEN SPH.Salario * DATEDIFF(HOUR,A.HoraEntrada, A.HoraSalida) + SPH.Salario * DATEDIFF(HOUR,TJ.HoraFin,A.HoraSalida) * 1.5 
ELSE SPH.Salario * DATEDIFF(HOUR,A.HoraEntrada, A.HoraSalida) END AS SalarioDeLaSemana
FROM Asistencia A
INNER JOIN Jornada J ON J.Id = A.IdJornada
INNER JOIN Empleado E ON E.Id = J.IdEmpleado
INNER JOIN Puesto P ON P.Id = E.IdPuesto
INNER JOIN TipoJornada TJ ON TJ.Id = J.IdTipoJornada
INNER JOIN SalarioPorHora SPH ON SPH.IdPuesto = P.Id and SPH.IdTipoJornada = TJ.Id
GROUP BY E.Nombre, P.Puesto, TJ.Nombre, A.HoraEntrada, A.HoraSalida, SPH.Salario, TJ.HoraFin

Hora Pausa: 9:10 a.m
Hora Reanudación: 10:50 a.m

Actividades:

- Se calcula el horario total a la semana por empleado, ya se suman tanto las horas ordinarias como las extraordinarias.
- Se decide que se tiene que agregar la tabla mes para identificar las planillas mensuales, también se simplifica el stored porcedure para agregar semanas, se piensa en crear un trigger que inicialice la primer planilla mensual y semanal de un usuario al ser contratado.

Hora Pausa: 12:51 p.m
Hora Reanudación: 3:27 p.m

Actividades: 

- Se busca en internet una solución para obtener el ultimo viernes de cada mes y se encuentran 2 soluciones: Una se encontró en un blog donde hay una una función escalar que utiliza los campos vacíos de la tabla master..spt_values para guardar los dias del año y luego en una condición where determina con DATENAME() si es viernes o cualquier día que se desee. Finalmente se agrupan por mes. La segunda solución era crear una tabla calendario y hacer un proceso similar, teniendo una tabla de números auxiliar. Al final se tomó la primera solución porque es más concisa.

- Se crea el sp para agregar meses

- Se crea un trigger para otorgar una planilla mensual y una planilla semanal cuando se contrata a un empleado. Se iniciativa con salarios en 0.

- Se crea una funcion para obtener el id de la semana para la planilla semanal

Hora Pausa: 7:00 p.m
Hora Reanudación: 11:16 p.m

Actividades: 

- Se continua con el desarrollo del pago de los usuarios.
- Se termina la inserción del pago en planilla semanal

Hora Fin: 11:47 p.m

Horas Totales: 7:33 h


No hay comentarios:

Publicar un comentario