Sesión #6

 Duración 2 horas 8:00pm-10:00pm

Se trabajó realizando los SP de filtro por nombre y documento de identidad, la parte lógica ya estaba creada del semestre anterior por lo cual fue fácil implementar las correcciones necesarias.

CREATE PROCEDURE GetFiltroEmpleadosNombre
    @nombre VARCHAR(64),
    @Username VARCHAR(128),
    @PostInIP VARCHAR(64),
    @PostTime DATETIME
AS
BEGIN
    SET NOCOUNT ON;
    SELECT E.[Id]  
       , E.[ValorDocumentoIdentidad]
       , E.[Nombre]
       , P.[Nombre] AS Puesto
       , E.[FechaContratacion]
       , E.[SaldoVacaciones]
       , E.[EsActivo]
    FROM dbo.Empleado E
    INNER JOIN dbo.Puesto P ON E.IdPuesto = P.Id
    WHERE E.Nombre LIKE '%' + @nombre + '%'
    ORDER BY E.Nombre ASC;
    BEGIN TRANSACTION;
    INSERT INTO dbo.bitacoraEvento(
        IdTipoEvento,
        IdUsuario,
        Fecha,
        Descripcion,
        PostInIP,
        PostTime
    ) VALUES (
        11,
        (SELECT Id FROM dbo.Usuario WHERE Username = @Username),
        GETDATE(),
        @nombre,
        @PostInIP,
        @PostTime
    );
    COMMIT TRANSACTION;
END
GO

CREATE PROCEDURE dbo.filtroEmpDoc
    @valorDocumento int,
    @Username VARCHAR(128),
    @PostInIP VARCHAR(64),
    @PostTime DATETIME
AS
BEGIN
    SET NOCOUNT ON;
    SELECT E.[Id]  
       , E.[ValorDocumentoIdentidad]
       , E.[Nombre]
       , P.[Nombre] AS Puesto
       , E.[FechaContratacion]
       , E.[SaldoVacaciones]
       , E.[EsActivo]
    FROM dbo.Empleado E
    INNER JOIN dbo.Puesto P ON E.IdPuesto = P.Id
    WHERE CAST(ValorDocumentoIdentidad AS VARCHAR(20)) LIKE '%' + CAST(@valorDocumento AS VARCHAR(20)) + '%'
    ORDER BY nombre ASC;
    BEGIN TRANSACTION;
    INSERT INTO dbo.bitacoraEvento(
        IdTipoEvento,
        IdUsuario,
        Fecha,
        Descripcion,
        PostInIP,
        PostTime
    ) VALUES (
        12,
        (SELECT Id FROM dbo.Usuario WHERE Username = @Username),
        GETDATE(),
        @valorDocumento,
        @PostInIP,
        @PostTime
    );
    COMMIT TRANSACTION;
END
GO

Comentarios

Entradas populares de este blog

Sesión #9