/* --------------------------------------------------------------------------------------------------------------
FECHA | AUTOR |DESCRIPCION
13/Mar/2017 | Luis Bernal |
--------------------------------------------------------------------------------------------------------------*/
----------------------------INICIO PROCEDIMIENTO ------------------------
IF OBJECT_ID('spBitacoraListarCambios', 'P') IS NOT NULL
DROP PROC spBitacoraListarCambios
GO
CREATE PROCEDURE [dbo].[spBitacoraListarCambios]
@idSeccion INT,
@dFechaI DATETIME,
@dFechaF DATETIME
AS
BEGIN
SET NOCOUNT ON;
SET DATEFIRST 7;
SET LANGUAGE spanish;
SET DATEFORMAT DMY;
DECLARE @msg VARCHAR(500)
SET @dFechaF = DATEADD(hh, 23, @dFechaF)
SET @dFechaF = DATEADD(mi, 59, @dFechaF)
SET @dFechaF = DATEADD(ss, 59, @dFechaF)
IF @dFechaF < @dFechaI
BEGIN
SET @msg = 'La fecha final no puede ser menor a la fecha inicial. Verifica el rango de fechas seleccionado e intentalo nuevamente.'
END
ELSE
BEGIN
IF @idSeccion = 0
BEGIN
SET @msg = 'Todas las secciones en el rango de fechas del ' + CONVERT(VARCHAR(50), @dFechaI) + ' al ' + CONVERT(VARCHAR(50), @dFechaF)
SELECT cbc.dFecha, cbs.sSeccion, idEditor, sNombre, sdescripcion
FROM dbo.Ctrl_BitacoraCambios cbc JOIN dbo.Cat_BitacoraUsuarios cbu ON cbu.idUsuarioBita = cbc.idEditor
JOIN dbo.Cat_BitacoraSecciones cbs ON cbs.idSeccionBita = cbc.idSeccion
WHERE cbc.dFecha BETWEEN @dfechaI AND @dFechaF
ORDER BY cbc.dFecha DESC
END
ELSE
BEGIN
SET @msg = 'SECCION ' + CONVERT(CHAR(2), @idSeccion) + ' en el rango de fechas del ' + CONVERT(VARCHAR(20), @dFechaI) + ' al ' + CONVERT(VARCHAR(20), @dFechaF)
SELECT cbc.dFecha, cbs.sSeccion, idEditor, sNombre, sdescripcion
FROM dbo.Ctrl_BitacoraCambios cbc JOIN dbo.Cat_BitacoraUsuarios cbu ON cbu.idUsuarioBita = cbc.idEditor
JOIN dbo.Cat_BitacoraSecciones cbs ON cbs.idSeccionBita = cbc.idSeccion
WHERE cbc.idSeccion = @idSeccion AND cbc.dFecha BETWEEN @dfechaI AND @dFechaF
ORDER BY cbc.dFecha DESC
END
END
PRINT @msg
END;