FITOMN of AM v3
3/29/2017 - 4:32 PM

Adecuación de gráficas para considerar los planteles a los que tiene acceso el usuario en sesión - TICKET BIT/IAM-1381

Adecuación de gráficas para considerar los planteles a los que tiene acceso el usuario en sesión - TICKET BIT/IAM-1381


----------------------------INICIO PROCEDIMIENTO ------------------------
IF OBJECT_ID('spVistasInscXAnio', 'P') IS NOT NULL
      DROP PROC spVistasInscXAnio
GO

CREATE PROCEDURE spVistasInscXAnio
    @sPeriodos XML ,
    @sPlanteles XML ,
    @sCarreras XML,
	@idUsuario INT

/* --------------------------------------------------------------------------------------------------------------
FECHA		   |    AUTOR		|DESCRIPCION
29/Mar/2017    | Luis Bernal	|
--------------------------------------------------------------------------------------------------------------*/
AS
    BEGIN
        SET NOCOUNT ON;
        SET LANGUAGE spanish;
        SET DATEFORMAT MDY;
        SET DATEFIRST 7;	
	--SET @sPeriodos = '<es><e i="12" /><e i="29" /><e i="28" /><e i="23" /><e i="14" /><e i="9" /><e i="30" /><e i="27" /><e i="25" /><e i="18" /><e i="17" /><e i="10" /><e i="11" /><e i="26" /><e i="20" /><e i="24" /><e i="16" /><e i="19" /><e i="15" /><e i="8" /><e i="13" /><e i="6" /><e i="4" /><e i="3" /><e i="1" /><e i="7" /><e i="5" /><e i="2" /></es>'
	--SET @sPlanteles = '<es><e i="7" /><e i="37" /><e i="4" /><e i="11" /><e i="8" /><e i="15" /><e i="5" /><e i="19" /><e i="6" /><e i="39" /><e i="29" /><e i="36" /><e i="20" /><e i="10" /><e i="12" /><e i="13" /><e i="24" /><e i="26" /><e i="22" /><e i="32" /><e i="23" /><e i="38" /><e i="25" /><e i="31" /><e i="16" /><e i="1" /><e i="35" /><e i="14" /><e i="27" /><e i="18" /><e i="21" /><e i="0" /><e i="34" /><e i="40" /><e i="30" /></es>'
	--SET @sCarreras = '<es><e i="1" /><e i="2" /><e i="3" /><e i="6" /><e i="7" /><e i="9" /><e i="10" /><e i="11" /><e i="12" /><e i="13" /><e i="14" /><e i="15" /><e i="16" /><e i="17" /><e i="18" /><e i="19" /><e i="20" /><e i="21" /><e i="22" /><e i="23" /><e i="24" /><e i="25" /><e i="26" /><e i="27" /><e i="28" /></es>'	
	
        DECLARE @iPlanteles INT
        DECLARE @iPeriodos INT
        DECLARE @iCarreras INT	
	
	--EXEC sp_xml_preparedocument @iPlanteles output, @sPlanteles
	--EXEC sp_xml_preparedocument @iPeriodos output, @sPeriodos
	--EXEC sp_xml_preparedocument @iCarreras output, @sCarreras
	
 --   SELECT
	--	per.iAnioInicial AS iAnio,
	--	COUNT(insc.iFolio) AS iTotal
 --   FROM
	--	Ctrl_Inscripciones insc
	--		INNER JOIN Cat_EstatusInsc estinsc
	--				ON insc.idEstatusInsc=estinsc.idEstatus
	--		INNER JOIN OPENXML(@iPlanteles, 'es/e') with (i smallint) as XMLPlanteles
	--				ON XMLPlanteles.i= insc.idPlantel
	--		INNER JOIN OPENXML(@iPeriodos, 'es/e') with (i bigint) as XMLPeriodos
	--				ON XMLPeriodos.i= insc.iFolioPeriodo
	--		INNER JOIN OPENXML(@iCarreras, 'es/e') with (i smallint) as XMLCarreras
	--				ON XMLCarreras.i= insc.idOfEduc
	--		INNER JOIN Ctrl_Periodos per
	--				ON insc.iFolioPeriodo=per.iFolio			
 --   WHERE
	--	estinsc.bVigente=1		
	--GROUP BY
	--	per.iAnioInicial
	--ORDER BY
	--	iAnioInicial
		
	--EXEC sp_xml_removedocument @iPlanteles	
	--EXEC sp_xml_removedocument @iPeriodos
	--EXEC sp_xml_removedocument @iCarreras

		SELECT  cp.iAnioInicial AS iAnio ,
				COUNT(DISTINCT ci.iFolio) AS iTotal
		FROM    dbo.Ctrl_Periodos AS cp
				INNER JOIN dbo.Ctrl_Inscripciones AS ci ON ci.iFolioPeriodo = cp.iFolio
				INNER JOIN dbo.Cat_EstatusInsc AS cei ON cei.idEstatus = ci.idEstatusInsc AND cei.bOcupaEspacio = 1
				INNER JOIN dbo.Ctrl_Periodos AS cp2 ON cp2.iFolio = ci.iFolioPeriodo
		WHERE   ci.idPlantel IN (SELECT CPU.idPlantel FROM dbo.Ctrl_PlantelesUsuario CPU WHERE CPU.idUsuario = @idUsuario)
				AND cp.dFechaInicial <= GETDATE()
				AND cp.dFechaFinal >= GETDATE()
		GROUP BY cp.iAnioInicial
    END