Entradas

Entrada #12 - 22/4/2024 - 9:00am a 4:00pm

Imagen
 Se realizó la capa de presentación, utilizando como base la capa del proyecto anterior. En general no hubieron problemas graves, solamente se realizaron modificaciones en la capa lógica para que funcionara con la de presentación. Aprendimos a utilizar rutas dentro de los URL. Se adjuntan imágenes del resultado de la capa de presentación: Login. Página principal. Ventana modificado. Ventanas movimientos. Fuentes: https://angular.io/guide/router-tutorial (Rutas URL)

Entrada #11 - 21/4/2024 - 12:00md a 3:08pm

Imagen
Se finalizó la capa lógica y se probaron las funciones, en general todo funcionó correctamente. Se tomaron como base las funciones que se realizaron ayer. Lo que agregamos hoy fue: - Login de usuario. - Modificación empleado. - Borrado empleado. - Inserción de movimientos. - Listado de movimientos. Pruebas: Ejecución del login. Ejecución de inserción de movimiento. Ejecución de listado movimientos. Ejecución de la modificación de empleado y prueba de que funcionó. Ejecución del borrado de empleado y prueba de que funcionó. Errores: Hubo un error con el SP de inserción de movimientos (Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.). El error se solucionó agregando un "EsActivo = 1" cuando se pedía el monto actual. Fuentes: https://stackoverflow.com/questions/16053907/subquery-returned-more-than-1-value-this-is-not-permitted-when-the-subquery-foll (Sol. Error).

Entrada #10 - 20/4/2024 - 6:00pm a 9:00pm

Imagen
Se realizó la capa lógica del proyecto, se utilizó como base la del proyecto anterior, por lo que esta fue más rápida y fácil de hacer, solo dio algunos problemas el mapeo desde el API test, donde el JSON llevaba los nombres de los atributos en mayúsculas y en realidad era en minúsculas, fuera de eso todo fue sobre ruedas. Lo que se realizó fue: Insertar y Listar con filtros. Los que quedan se realizan de manera sencilla, ya que se toman como base los que tenemos. Se subieron los cambios a github, nombre del commit es: "Commit inicial" Pruebas: Insertar. Listado con filtro de ID. Listado con filtro de nombre. Fuentes:  Proyecto anterior.  https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html  https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-controller/ann-methods/requestparam.html

Entrada #9 - 19/4/2024 - 3:35pm a 4:15pm

 Se agregó el control de los eventos a unos SP donde habíamos olvidado ponerlo, aparte, se mapea el ID del usuario de acuerdo a su nombre de usuario, en algunos SP olvidamos ponerlo. También se agregó un SP para el login de los usuarios. En general, no hubieron problemas en esta sesión.

Entrada #8 - 15/4/2024 - 5:46pm a 9:05pm

 Terminamos los SP de filtrado/listado e inserción de movimientos. Realizamos pruebas y todo funcionó correctamente. Tomamos los anteriores SP como "Plantillas" por lo que el código y estructura es similar. Realizamos unas modificaciones en el de insertar empleado, se mapeo la FK con INNER JOIN. *Tomamos un descanso para cenar de 8 a 8:50pm Tuvimos un problema con la inserción de movimientos, ya que la FK que tenía de identidad empleado no correspondía con la PK de empleado, la cual es el Id que es clustered, por lo que tuvimos que quitar la relación para que funcionara, ya que de ninguna manera funcionaba sin alterar la especificación. Pero en el resto todo fue perfecto. En general, solo queda comentar y revisar que todo este de acuerdo a lo requerido. La capa lógica la realizaremos como el proyecto anterior, en Spring Boot con Java y el IDE IntelliJ, utilizando un Rest API. Ya con esto la conexión con la pagina web se hace de manera sencilla. Fuentes: https://learn.microsof...

Entrada #7 - 14/4/2024 - 8:40pm a 9:27pm

Terminamos de hacer el CRUD de empleados, solo quedaría el insertar movimientos y los SP para listar. En general no tuvimos problema, ya que tomamos como base el SP de Insertar y lo modificamos. Por lo que fue algo sencillo y rápido de hacer. Mañana revisaremos bien los SP para identificar que puede faltar y una vez hecho esto continuamos con la capa lógica, la cual tomaremos como base el proyecto anterior, por lo que solo debemos agregar un par de cosas, una vez hecho esto iniciamos con la pagina web, la cual, con Angular y Bootstrap facilita mucho la creación. Fuentes: https://learn.microsoft.com/es-es/sql/t-sql/queries/update-transact-sql?view=sql-server-ver16

Entrada #6 - 13/4/2024 - 3:00pm a 6:10pm

Creamos 2 tablas temporales, un para empleados y otra para movimientos. Esto facilita el mapeo de la o las FK cuando se cargan los XML, ya que, guardamos los valores tal y como vienen en el XML y luego usamos un WHILE para iterar sobre la tabla y pasar cada elemento al SP que le corresponda para mapearlo. En general no hubieron problemas al realizarlas, ya que es prácticamente el mismo procedimiento nada mas agregando los SP para mapear FK e insertar. Como se crea una tabla temporal: CREATE TABLE #TempEmpleados ( Id int IDENTITY(1,1) PRIMARY KEY NOT NULL, NombrePuesto varchar(64) NULL, ValorDocumentoIdentidad int NULL, Nombre varchar(64) NULL, FechaContratacion datetime NULL, SaldoVacaciones smallint NULL, EsActivo bit NULL ) Para acceder a esta se hace como cualquier otra dentro de la BD. Fuentes: Clase 14 del curso. https://learn.microsoft.com/en-us/sql/relational-databases/tables/temporal-tables?view=sql-server-ver16