Entradas

Mostrando las entradas de abril, 2025

Corrección del CargaDatos

 27/04/2025          11:00 - 14:00 La carga de datos no se estaba haciendo de manera exitosa ya que los movimientos no estaban siendo reflejados en el saldo del empleado que se agregaba. La solución a esto fue hacerlo iterando y que de acuero al empleado, se aplicaran los respectivos movimientos.

Funcionalidad insertar empleado

 Fecha: 27/04/25 Horas: 6 Se diseñó la interfaz de la página y luego se integró con el código. Nuevamente hubo problemas del frontend para encontrar las rutas del endpoint. Se hicieron ciertos arreglos y ya los reconoce. 

Funcionalidad de modificación

Fecha: 27/04/25   Horas: 6 Se hizo la integración de la interfaz con el código. Hubo ciertos problemas en que el frontend no lograba accesar a las rutas de los endpoints. Noté que el problema estaba en los datos que obtenía del local storage, ya que la terminal me indicaba que era un string inválido, por lo que se solucionó el problema haciendo un casting sobre el dato para que sea un string válido.

SP para insertar nuevos empleados y para calcular saldo de vacaciones

 Fecha: 26/04/25 Horas: 3 Se modificó el sp de insertar nuevo empleado para que se realicen las validaciones del nombre y documento de identidad. Además, se incluyó el código que ingrese entradas a la bitácora.  Se creó un sp para calcular el saldo de vacaciones con base a la fecha de contratación.

SP de modificar empleado y listar puestos

 Fecha: 25/04/25 Horas: 4 Hice el sp para modificar la indormación de un empleado, las validaciones se hacen ahí mismo y van en orden, si el documento de identidad no es válido, pero el nombre tampoco lo es, lo primero que tira es el error por nombre inválido. Hasta que se valide que tanto el nombre como el documento de identidad son válidos y no repetidos, se realiza el proceso de UPDATE. Todo se registra en la Bitácora de eventos. También hice el sp para listar los nombres de todos los puestos, para poder hacer el menú drop down.

Realización de la función de consulta

 Fecha: 24/04/25 Horas: 5 Hubo problemas a la hora de llamar el endpoint desde el frontend. El endpoint sí funciona como debe, ya que se probó desde postman. Luego lo que se hizo fue cambiar el nombre de la variable a la que se le introduce al body de la solicitud post al mismo nombre de variable que se utilizó para crear el endpoint. Se supondría que los nombres de las variables no deberían de afectar siempre y cuando se esté enviando los datos en el formato debido. Sin embargo, para este caso, solo utilizando los mismos nombres de variables se pudo captar correctamente el dato en el body para realizar la solicitud desde el frontend.

Consulta al profe sobre inserción de empleado

Imagen
 Fecha: 22/04/25 Se le consultó al profe si en la ventana de inserción de un nuevo empleado se necesita agregar un campo para ingresar la fecha de contratación para calcular el saldo de vacaciones según esa fecha. El profe contestó que sí.

Arreglo de la funcionalidad de filtrado

 Fecha: 21/04/25 Horas: 2 Arreglé el problema de que al querer filtrar por nombre o documento de identidad, el programa no lograba captar la ruta del endpoint donde se encontraba la función para generar las tablas según el texto para filtrar. Ya funciona filtrar por nombre y por documento de identidad. Solo acepta como inputs válidos solo letras y espacios o solo números, en esos casos donde el input es válido pero el valor que se quiere filtrar no es parte de ninguno de los registros en la BD, entonces mostrará una tabla en blanco. En caso de que sea un input inválido o vacío, se mostrará la tabla completa con todos los empleados activos.

SP Logout y otras correcciones

21/4/2025               11:00 - 12:00 Creé el SP del Logout. Además implementé las alertas de las validaciones de datos y de errores del insertado por saldo negativo del InsertarMovimientos. Mientras que desarrollaba todo esto, me di cuenta que el SP del InsertarMovimientos estaba actualizando la tabla de bitacora de eventos de manera incorrecta, ya que estaba insertarndo el ID del tipo de movimiento cuando tenía que insertar el ID del tipo de evento, entonces lo corregí. 

Creación página de InsertarMovimientos

 20/04/2025          16:00 - 19:00 Creé la página de insertarMovimientos y su SP. Estuve cambiando cosas de la interfaz de usuario. Además queda investigar como hacer que, al estar usando TailwindCSS, genere el output de todos los .html en un mismo archivo sin arruinar las interfaces de cada uno.

Creacion del sp ListarEmpleadosNombre Y ListarEmpleadosId

 Fecha: 19/04/25 Horas: 0.5 Se creó el procedimiento almacenado para filtrar por un string alfabético y obtener el nombre de todos los empleados que contengan ese string en su nombre y que además esté activo. Además se ordena alfabéticamente. Lo mismo se realizó, para el segund sp, con la diferencia que ahora busca por número de documento de identidad.

Pantalla Listar Movimientos

 19/04/2025               13:00 - 16:00 Creé el StoredProcedure que permite lista movimientos, además tambien lo implementé ya en capa lógica.

Mostrar la tabla en la página prinicipal

 Fecha: 18/04/25 Horas: 4 Se crearon las funciones a partir de las cuales se generaron los endpoints para mostrar en la pantalla principal la tabla de todos los empleados en la base de datos que tienen un estado activo. Se diseñó la tabla para que contenga checkbox en cada fila para permitir la selección de un empleado al que se le quiera realizar alguna acción. Se restringió para que solo se pueda seleccionar un checkbox a la vez y que si hay alguno seleccionado se guardará el nombre en el localstorage, en el caso de que no haya ninguno seleccionado, se limpia el localstorage para no dejar "basura".

Creación de la interfaz de la página principal y modificación de sp

 Fecha: 18/04/25 Horas: 2 Se creó la interfaz para la página principal y se realizó la conexión de la página luego de un login exitoso. Se modificó el sp de ListarEmpleados para quitar la columna de EsActivo para que solo devuelva las filas de empleados cuyo estado sea activo, los no activos se ignoran.

SP de Carga de Datos, SP de Eliminar y Consulta al profe

Imagen
 18/04/2024                          12:00- 21:00 A la hora de crear el SP de carga de datos, se estaban teniendo problemas puesto que a la hora de ejecutar el SP, el MSSSQL no estaba logrando obtener el archivo. Esto fue por que el servidor de la base de datos no es hosteada de manera local, por lo tanto no puede agarrar archivos locales de la computadora. Investigando me di cuenta que la manera en que se podía arreglar esto, era subiendo el archivo al server, pero CloudCluster, donde hosteamos el server, no permitía esto. La solución al final fue servir el archivo desde un archivo de JavaScript, de manera que la llamada al StoredProcedure tuviera como parámetro el archivo XML. Esto funciona porque el archivo de Javascript si es local, por lo tanto si puede obtener archivos por sus rutas locales. Además, me surgio duda sobre la implementación de una de las funciones que contiene el SQL, por lo tanto le hice...

Creación de sp Listado e Insertar

 Horas: 2 Se crearon los sp para listar a los empleados de forma alfabética para que muestre identificación, nombre, fecha de contratación y si es activo. El sp de insertar un nuevo empleado, está teniendo ciertos problemas, ya que el insert no se está completando.

Pantalla de login terminada

13/04/2025          13:00 - 18:00 Se hicieron los otros dos storedProcedures necesarios:MostrarErrores y RevisarBloqueo. Además arreglé un error que había surgido que no permitía que obtuviera los outResultCode de los SP en la capa Lógica. Lo que estaba pasando era que los botones estaban dentro de un form y no tenían su tipo especificado, por lo tanto cada vez que se presionaba el boton, la pagina se refrescaba, y esto desordenaba las rutas. El arreglo fue asignar al boton el type=button para que no se refresque la pagina.

Consulta al profesor sobre Errores DB y su evento

Imagen
 

Creación de tablas Empleado, Puesto, Movimiento y TipoMovimiento

 Inicio: 04/12/25 19:00 Fin: 04/12/25 21:00 Se crearon las tablas de Empleado, Puesto, Movimiento y TipoMovimiento. Se vincularon cada una con su respectiva FK.

Primer StoredProcedure

 11/4/2025 12:30 - 17:00 Desarrollé el primer storedprocedure de la tarea. Este corresponde al de validar que el usuario y la contraseña sean correctas. Además verifica que en la ultima media hora, no se hayan hecho mas de 5 logins no exitosos. En caso de que si, retorna un valor que corresponde al codigo de error de login deshabilitado.

Creación interfaz login

Imagen
 07/04/2025 13:00 - 17:00 Se creó la interfaz de la pantalla del Login. Además se creó el router principal que se encargará de todas las rutas de la tarea. También se investigó como obtener el IP Adress utilizando NodeJS.

Creación tablas + Consulta al profe

Imagen
 6/4/2025 11:00 - 12:30 Creé las siguientes tablas: Y además las vincule por medio de un diagrama:  Repasé los videos de clase relacionados con los elementos que se utilizarán en esta tarea. También le pregunté al profesor sobre el codigo que nos brindo para la tabla DBErrors:

Estructurando proyecto

Imagen
 1/4/2025          17:00 - 17:30 Hoy creé la estructura del proyecto, utilizando el MVC. Además se implementaron variables de entorno.