Hora Inicio: 9 p.m
Hora Fin: 1 a.m
Horas Trabajadas: 4 horas
Modalidad: Virtual
Se crearon varios SP
complementarios los cuales son los siguientes:
- InfoBorrar: este SP lo que realiza es mostrar la información del empleado que se desea eliminar, como el nombre y documento de identidad.
- InfoInsertarMovimiento: realiza lo mismo que el anterior, sin embargo, este también muestra el saldo de vacaciones.
- ListarPuesto: este SP nos ayuda a poder obtener los nombres de todos los puestos para poder mostrarlos en una lista despegable donde el usuario debe elegir uno de todos los puestos.
- ListarTipoMovimiento: realiza lo mismo del SP anterior, pero esta muestra todos los tipos de movimientos que se pueden realizar.
- LogOut: este SP nos ayuda para que, a la hora de presionar el botón de salir en capa lógica, esto se guarde en la bitacota de evento.
const fetchData = async () => {
try {
const response = await fetch(`http://localhost:3006/api/borrarInfo?employee=${employee}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
if (!response.ok) {
throw new Error(`Network response was not ok: ${response.statusText}`);
}
const result = await response.json();
setData(result);
} catch (error) {
console.error('Error fetching data:', error);
setError('Error fetching data. Please try again.');
}
};
useEffect(() => {
fetchData(); //Llama a la función fetchData cuando el componente se monta
}, []);
Además, el API debe de hacer uso de una query para la recepción de dichos parametros
app.get('/api/borrarInfo', async (req, res) => {
try {
const employee = req.query.employee; // Access the employee parameter from the query string
const result = await infoBorrarStoredProcedure(employee);
res.json(result);
} catch (error) {
console.error('Error calling infoBorrar stored procedure:', error);
res.status(500).json({ error: 'Internal Server Error' });
}
});
Se logró conectar todas las ventanas de la capa lógica con sus respectivos sp mediantes solicitudes a la base de datos y sus respectivas funciones dentro de la API. Además se completo una vista estructurada de cada una de ellas mediante componentes pertinentes, como las listas desplegables para los tipos puestos y tipos de movimientos.
Los SP quedaron de la siguiente manera:
Todos los SP siguen la siguiente estructura:
ALTER PROCEDURE [dbo].[InsertarEmpleado]
@OutResulTCode INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY
-- ejemplo de ejecucion del SP
-- se hacen declaraciones
-- se hacen inicializacion
SET @OutResulTCode=0;
-- se hacen validaciones
-- inicia el código
INSERT dbo.BitacoraEvento(
[IdTipoEvento]
, [Descripcion]
, [IdPostByUser]
, [PostInIP]
, [PostTime]
)
VALUES (
-- se ingresan los valores dependiendo de lo que se solicite
);
END TRY
BEGIN CATCH
INSERT INTO dbo.DBError VALUES (
SUSER_SNAME(),
ERROR_NUMBER(),
ERROR_STATE(),
ERROR_SEVERITY(),
ERROR_LINE(),
ERROR_PROCEDURE(),
ERROR_MESSAGE(),
GETDATE()
);
SET @OutResulTCode=50008 ;
END CATCH;
SET NOCOUNT OFF;
END;

No hay comentarios.:
Publicar un comentario