sql ActualizacióndeInsercióndeDatos en Ctrl_BitacoraCambios - Seadicionóinformaci

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql ActualizacióndeInsercióndeDatos en Ctrl_BitacoraCambios - Seadicionóinformaci相关的知识,希望对你有一定的参考价值。

/* --------------------------------------------------------------------------------------------------------------
FECHA		   |    AUTOR		|DESCRIPCION
09/Mar/2017    | Luis Bernal	|
--------------------------------------------------------------------------------------------------------------*/

----------------------------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)
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

		SET @idSeccion = 1      -- 1 = Inscripciones Academicas
		SELECT @idEditor = idUsuarioBita FROM dbo.Cat_BitacoraUsuarios 
		WHERE idOriginal = @idUsuario AND iTipoUsuario = 1

		-- **** INSERCIÓN DE INFORMACIÓN A Cat_BitacoraCambios ****
		DECLARE @sAccion VARCHAR(30),
				@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; 

以上是关于sql ActualizacióndeInsercióndeDatos en Ctrl_BitacoraCambios - Seadicionóinformaci的主要内容,如果未能解决你的问题,请参考以下文章

sql Wypinaniewnioskówzról

sql Insercióndesección'CapturaCalificacionesEducaciónConcontinua'enCat_Bitaco

sql CERTIFICADOS ACADEMICOS - Adecuaciónyadicióndecampos tablas

sql CreacióndespListarCursosSesionesAlumnos para captura de inasistenciasenEducaicónConcon

sql CreaciónSPspListarCursosSesionesMes para captura de inasistenciasenEducaciónConcontinu

sql Correcciónparalistar las evaluationaciones enlaconfiguracióndeindicadoresacadémic