sql Adiciónderegistro en bitacora de Iniciodesesión - SPRINT 5 BIT / AM-84
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql Adiciónderegistro en bitacora de Iniciodesesión - SPRINT 5 BIT / AM-84相关的知识,希望对你有一定的参考价值。
----------------------------INICIO PROCEDIMIENTO ------------------------
IF OBJECT_ID('spInsertarBitacoraCambios', 'P') IS NOT NULL
DROP PROC spInsertarBitacoraCambios
GO
CREATE PROCEDURE [dbo].[spInsertarBitacoraCambios]
@idUsuario BIGINT,
@dFecha DATETIME,
@idPlanEstudios INT,
@iFolioInscrip INT,
@idAsignatura INT,
@idGrupo INT,
@iAccion TINYINT,
@sDetalleAccion VARCHAR(100),
@iOrigenBitacora INT
/* --------------------------------------------------------------------------------------------------------------
FECHA | AUTOR | DESCRIPCION
09/Mar/2017 | Luis Bernal | Registro de Inscripción Acádemica
06/Abr/2017 | Luis Bernal | Adición de registro de Inicio de Sesión
--------------------------------------------------------------------------------------------------------------*/
AS
BEGIN
SET NOCOUNT ON;
SET LANGUAGE spanish;
SET DATEFORMAT MDY;
SET DATEFIRST 7;
-- **** DECLARACIÓN DE VARIABLES ****
DECLARE @idSeccion SMALLINT,
@idEditor INT,
@idEditado INT,
@sAccion VARCHAR(30)
--===================================================================================================================================================================================================================================
-- **** INSERCIÓN DE INFORMACIÓN A Cat_BitacoraCambios ****
--===================================================================================================================================================================================================================================
-- >>> INSCRIPCIONES ACADÉMICAS <<<
IF @iOrigenBitacora = 1
BEGIN
SET @idSeccion = 1 -- 1 = Inscripciones Academicas
SELECT @idEditor = idUsuarioBita FROM dbo.Cat_BitacoraUsuarios WHERE idOriginal = @idUsuario AND iTipoUsuario = 1
DECLARE @idAlumno INT,
@sPlanEstudios VARCHAR(110),
@iFolioPeriodo INT,
@sPeriodo VARCHAR(50),
@idOfEduc INT,
@sOfEduc VARCHAR(50),
@sMatricula VARCHAR(30),
@sNombreAlumno VARCHAR(120),
@iGrado INT,
@sNombreGrupo VARCHAR(50),
@sAsignatura VARCHAR(150)
-- +++ Obtención de Datos Generales +++
SET @sAccion = CASE WHEN @iAccion = 1 THEN 'Inscripción' WHEN @iAccion = 2 THEN 'Eliminación Inscripción' ELSE 'Empty' END
SELECT @sPlanEstudios = (sNombre + ' (' + sVersion + ')') FROM dbo.Cat_PlanEstudios WHERE idPlanEstudios = @idPlanEstudios
SELECT @idAlumno = ci.idAlumno, @sMatricula = sMatricula, @sNombreAlumno = (sApellidoPaterno + ' ' + sApellidoMaterno + ' ' + sNombre),
@iFolioPeriodo = ci.iFolioPeriodo, @sPeriodo = cp.sAbPeriodo, @idOfEduc = ci.idOfEduc
FROM dbo.Ctrl_Inscripciones ci
JOIN dbo.Ctrl_Periodos cp ON ci.iFolioPeriodo = cp.iFolio
JOIN dbo.Cat_Alumnos ca ON ca.idAlumno = ci.idAlumno
WHERE ci.iFolio = @iFolioInscrip
SELECT @idEditado = idUsuarioBita FROM dbo.Cat_BitacoraUsuarios WHERE idOriginal = @idAlumno AND iTipoUsuario = 3
SELECT @sOfEduc = sNombre FROM dbo.Cat_OfEduc WHERE idOfEduc = @idOfEduc
-- +++ Obtención e inserción de datos particulares +++
SELECT @idGrupo = CASE WHEN @idGrupo = -1 THEN idGrupo ELSE @idGrupo END
FROM dbo.Ctrl_TrayectoriaAcademica WHERE iFolioInscripcion = @iFolioInscrip AND idAsignatura = @idAsignatura
SELECT @iGrado = iGrado FROM dbo.Ctrl_PlanEstudios WHERE idPlanEstudios = @idPlanEstudios AND idAsignatura = @idAsignatura
SELECT @sNombreGrupo = sNombre FROM dbo.Ctrl_Grupos WHERE idGrupo = @idGrupo
SELECT @sAsignatura = sAsignatura FROM dbo.Cat_Asignaturas WHERE idAsignatura = @idAsignatura
IF @iAccion = 2 OR (NOT EXISTS (SELECT * FROM dbo.Ctrl_TrayectoriaAcademica WHERE iFolioInscripcion = @iFolioInscrip AND idAsignatura = @idAsignatura AND idGrupo = @idGrupo))
BEGIN
IF EXISTS (SELECT * FROM dbo.Ctrl_TrayectoriaAcademica WHERE iFolioInscripcion = @iFolioInscrip AND idAsignatura = @idAsignatura)
BEGIN
SET @sAccion = @sAccion + ' - Cambio de Grupo'
END
INSERT INTO dbo.Ctrl_BitacoraCambios
( idEditor ,
idEditado ,
idSeccion ,
dFecha ,
sdescripcion
)
VALUES ( @idEditor , -- idEditor - bigint
@idEditado , -- idEditado - bigint
@idSeccion , -- idSeccion - smallint
@dFecha , -- dFecha - datetime
(@sAccion + '|' + CONVERT(VARCHAR(20), @idEditado) + '|' + @sMatricula + '|' + @sNombreAlumno + '|' + CONVERT(VARCHAR(20), @iFolioPeriodo) + '|' +
@sPeriodo + '|' + CONVERT(VARCHAR(20), @idOfEduc) + '|' + @sOfEduc + '|' + CONVERT(VARCHAR(20), @idPlanEstudios) + '|' + @sPlanEstudios + '|' +
CONVERT(VARCHAR(20), @iGrado) + '|' + CONVERT(VARCHAR(20), @idGrupo) + '|' + @sNombreGrupo + '|' + CONVERT(VARCHAR(20), @idAsignatura) + '|' +
@sAsignatura + '|' + @sDetalleAccion ) -- sdescripcion - varchar(8000)
)
END
END -- END IF @iOrigenBitacora = 1
-- >>> INICIO DE SESIÓN <<<
IF @iOrigenBitacora = 2
BEGIN
SET @idSeccion = 2 -- 2 = Inicio de Sesión
SET @sAccion = 'Inicio de Sesión'
SET @idEditado = NULL
DECLARE @sNombreUsuario VARCHAR(150),
@sCuentaLog VARCHAR(50)
IF @sDetalleAccion = 'Admin'
BEGIN
SELECT @sNombreUsuario = (sApellidoPaterno + ' ' + sApellidoMaterno + ' ' + sNombre), @sCuentaLog = sCorreo FROM dbo.Cat_Usuarios WHERE idUsuario = @idUsuario
SELECT @idEditor = idUsuarioBita FROM dbo.Cat_BitacoraUsuarios WHERE idOriginal = @idUsuario AND iTipoUsuario = 1
END
ELSE
BEGIN
IF @sDetalleAccion = 'Alumno'
BEGIN
SELECT @sNombreUsuario = (sApellidoPaterno + ' ' + sApellidoMaterno + ' ' + sNombre), @sCuentaLog = sMatricula FROM dbo.Cat_Alumnos WHERE idAlumno = @idUsuario
SELECT @idEditor = idUsuarioBita FROM dbo.Cat_BitacoraUsuarios WHERE idOriginal = @idUsuario AND iTipoUsuario = 3
END
ELSE
BEGIN
IF @sDetalleAccion = 'Profesor'
BEGIN
SELECT @sNombreUsuario = (sApellidoP + ' ' + sApellidoM + ' ' + sNombre), @sCuentaLog = sCorreo FROM dbo.Cat_Profesores WHERE idProfesor = @idUsuario
SELECT @idEditor = idUsuarioBita FROM dbo.Cat_BitacoraUsuarios WHERE idOriginal = @idUsuario AND iTipoUsuario = 2
END
ELSE
BEGIN
IF @sDetalleAccion = 'Familiar'
BEGIN
SELECT @sNombreUsuario = (sApellidoP + ' ' + sApellidoM + ' ' + sNombre), @sCuentaLog = sCorreo FROM dbo.Ctrl_Familiares WHERE idFamiliar = @idUsuario
SELECT @idEditor = idUsuarioBita FROM dbo.Cat_BitacoraUsuarios WHERE idOriginal = @idUsuario AND iTipoUsuario = 4
END
END
END
END -- END IF @sDetalleAccion
INSERT INTO dbo.Ctrl_BitacoraCambios
( idEditor ,
idEditado ,
idSeccion ,
dFecha ,
sdescripcion
)
VALUES ( @idEditor , -- idEditor - bigint
@idEditado , -- idEditado - bigint
@idSeccion , -- idSeccion - smallint
@dFecha , -- dFecha - datetime
(@sAccion + '|' + @sDetalleAccion + '|' + CONVERT(VARCHAR(10), @idUsuario) + '|' + @sNombreUsuario + '|' + @sCuentaLog) -- sdescripcion - varchar(8000)
)
END -- END IF @iOrigenBitacora = 2
END;
以上是关于sql Adiciónderegistro en bitacora de Iniciodesesión - SPRINT 5 BIT / AM-84的主要内容,如果未能解决你的问题,请参考以下文章
sql Adiciónderegistro en bitacora de CapturadeCalificaciónEC - SPRINT 5 BIT / AM-84
sql Adicióndecondiciónenbloque de concepto OfPeAsigEv para distinguished de manera adecuad
sql Adiciónderegistro en bitacora de Iniciodesesión - SPRINT 5 BIT / AM-84
sql AdicióndeEquivalencias anteriormente registradas en Importador de Calificaciones - BIT /
sql adiciónderegistro en Bitacora de calificaciones(respectrando losdiferentesorígenesdeca
sql Adicióndecolumnas para registro de nombre y puesto de responsable de firmar certificados