Hora Inicio: 6:54 a.m
Responsables: Austin Hakanson
Actividades:
- Se descubre que no es necesario el uso de un case en el select de @Pagos del día porque si el DATEDIFF() entre la hora final de la jornada y la hora de salida de la asistencia es 0, al multiplicar se anule cualquier salario por horas extra. Estos son los estatutos viejos:
-- Caso para horas extra regulares
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
-- Caso para horas ordinarias
ELSE SPH.Salario * DATEDIFF(HOUR,A.HoraEntrada, A.HoraSalida) END
Este es el nuevo:
SPH.Salario * DATEDIFF(HOUR,A.HoraEntrada, A.HoraSalida) + SPH.Salario * DATEDIFF(HOUR,TJ.HoraFin,A.HoraSalida) * 1.5
- Se registran en los movimientos de planilla los pagos por horas ordinarias y horas extraordinarias. Se utiliza CAST() por primera vez para convertir el numero de horas extra a varchar y agregarlo a la descripción de pago de horas extra. https://www.c-sharpcorner.com/blogs/convert-integer-to-string-in-sql-server
- Se modifica la tabla crédito para que siga el modelo de agregación visto en clase. También se añade la tabla de deducción que no se había agregado para crear la especialización por herencia de movimiento planilla en movimientos de crédito y de deducción.
- Se corrigen algunos errores al registrar movimientos de planilla como que el salario base se pague siempre y que por aparte se agreguen la horas extra, antes si tenía horas extra solo agregaba estas.
- Se agrego la tabla credito a Reiniciar tablas y se inicia la especialización de los movimientos de planilla en credito.
- Hay un problema al seleccionar los movimientos de planilla que deben ingresarse en crédito.
Hora pausa: 9:42 a.m
Hora reanuda: 10:38 a.m
Actividades:
- Se corrige el problema para agregar créditos con herencia de movimientos de planilla, código resultante:
- Se realizan pruebas para determinar el numero entre el cual hay que dividir las deducciones para ser aplicadas semanalmente
DECLARE @fecha date = '2017-05-30'
DECLARE @fechaActual date = '2017-06-27'
DECLARE @UltimoViernesDelMes datetime = dbo.ObtenerUltimoDiaDelMes(@fechaActual,'friday')
SELECT CAST(@UltimoViernesDelMes as date)
DECLARE @Semanas int
SET @Semanas = DATEDIFF(WEEK,@fecha, @UltimoViernesDelMes)
SELECT @Semanas
- Pausa: 11:41 a.m
- Hora reanudación: 12:22 a.m
Actividades:
- Se corrigió un error con el cálculo de los meses, ahora sí terminan en el último viernes del mes.
- Se hizo la función para calcular la diferencia de horas bien (tomando el caso de la media noche)
- Se logran hacer las deducciones cada semana. Las porcentuales y las fijas (para estas se divide entre el numero de semanas en el mes)
- Se toma todo el trabajo de ayer y hoy sobre el procesamiento de pagos y deducciones y se escribe en un stored procedure encapsulado en try-catch y un transation.
Hora Fin: 4:40 p.m
Horas totales: 8:09 h
No hay comentarios:
Publicar un comentario