﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

DROP PROCEDURE IF EXISTS uspTanulokGyorsBejegyzesStatisztika
GO

CREATE PROCEDURE uspTanulokGyorsBejegyzesStatisztika
	@tanevId					INT,
	@osztalyId					INT
AS
BEGIN
	DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F')

	SELECT DISTINCT 
		@osztalyId					OsztalyId
		,ocs.C_NEV					OsztalyNev
		,i.C_NEV					IntezmenyNeve
		,i.C_OMKOD					IntezmenyOMKod
	FROM T_OSZTALYCSOPORT_OSSZES ocs 
  	INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
  	INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F'
	WHERE ocs.ID = @osztalyId

    /*TANULÓ adatai*/
	CREATE TABLE #TanuloAlapAdatok (
		 TanuloId INT	
		,TanuloCsoportId INT
		,Sorszam INT NULL
		,TorzslapSzam NVARCHAR(500) NULL
		,OktAzon NVARCHAR(20) NULL
		,TajSzam NVARCHAR(9) NULL
		,AnyjaNeve NVARCHAR(64)
		,SzulHely NVARCHAR(50) NULL
		,SzulIdo NVARCHAR(MAX) NULL
		,SocAdat NVARCHAR(340) NULL
		,Kepzes NVARCHAR(255)
		,TanuloNeve NVARCHAR(255)
		,Allampolgarsaga NVARCHAR(250)
		,DiakIgazolvanySzam NVARCHAR(255) NULL
		,KilepesDatum NVARCHAR(MAX) NULL
		,BeirasiNaploSorszam NVARCHAR(50) NULL
		,AktualisOsztaly NVARCHAR(MAX) NULL
		,AktualisOsztalyId INT NULL
		,BelepesDatum NVARCHAR(MAX) NULL
	)

	INSERT INTO #TanuloAlapAdatok
	SELECT  
		 TanuloId	
		,TanuloCsoportId
		,Sorszam
		,TorzslapSzam
		,OktAzon
		,TajSzam
		,AnyjaNeve
		,SzulHely
		,SzulIdo
		,SocAdat
		,Kepzes
		,TanuloNeve
		,Allampolgarsaga
		,DiakIgazolvanySzam
		,KilepesDatum
		,BeirasiNaploSorszam
		,AktualisOsztaly
		,AktualisOsztalyId
		,BelepesDatum
	FROM fnGetDokumentumTanulokAdatai(@tanevId, @osztalyId)

	SELECT *
	FROM #TanuloAlapAdatok
	ORDER BY Sorszam

	-- Házifeladat hiány
	SELECT 
		 a.TanuloId
		,a.TanuloCsoportId	
		,feljegyzes.Tantargy
		,feljegyzes.Szeptember
		,feljegyzes.Oktober
		,feljegyzes.November
		,feljegyzes.December
		,feljegyzes.Januar
		,feljegyzes.Februar
		,feljegyzes.Marcius
		,feljegyzes.Aprilis
		,feljegyzes.Majus
		,feljegyzes.Junius
		,feljegyzes.Felev
		,feljegyzes.Ossz
	FROM #TanuloAlapAdatok a
	CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 6325, 0, @FelevVege, PARSE(a.BelepesDatum AS DATETIME), PARSE(a.KilepesDatum AS DATETIME)) feljegyzes
	WHERE feljegyzes.TanuloId = a.TanuloId

	-- Felszerelés hiány
	SELECT 
		 a.TanuloId
		,a.TanuloCsoportId	
		,feljegyzes.Tantargy
		,feljegyzes.Szeptember
		,feljegyzes.Oktober
		,feljegyzes.November
		,feljegyzes.December
		,feljegyzes.Januar
		,feljegyzes.Februar
		,feljegyzes.Marcius
		,feljegyzes.Aprilis
		,feljegyzes.Majus
		,feljegyzes.Junius
		,feljegyzes.Felev
		,feljegyzes.Ossz
	FROM #TanuloAlapAdatok a
	CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 6324, 0, @FelevVege, PARSE(a.BelepesDatum AS DATETIME), PARSE(a.KilepesDatum AS DATETIME)) feljegyzes
	WHERE feljegyzes.TanuloId = a.TanuloId

	-- Felmentés
	SELECT 
		 a.TanuloId
		,a.TanuloCsoportId	
		,feljegyzes.Tantargy
		,feljegyzes.Szeptember
		,feljegyzes.Oktober
		,feljegyzes.November
		,feljegyzes.December
		,feljegyzes.Januar
		,feljegyzes.Februar
		,feljegyzes.Marcius
		,feljegyzes.Aprilis
		,feljegyzes.Majus
		,feljegyzes.Junius
		,feljegyzes.Felev
		,feljegyzes.Ossz
	FROM #TanuloAlapAdatok a
	CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 1542, 0, @FelevVege, PARSE(a.BelepesDatum AS DATETIME), PARSE(a.KilepesDatum AS DATETIME)) feljegyzes
	WHERE feljegyzes.TanuloId = a.TanuloId

	--Dicséret
	SELECT 
		 a.TanuloId
		,a.TanuloCsoportId	
		,feljegyzes.Tantargy
		,feljegyzes.Szeptember
		,feljegyzes.Oktober
		,feljegyzes.November
		,feljegyzes.December
		,feljegyzes.Januar
		,feljegyzes.Februar
		,feljegyzes.Marcius
		,feljegyzes.Aprilis
		,feljegyzes.Majus
		,feljegyzes.Junius
		,feljegyzes.Felev
		,feljegyzes.Ossz
	FROM #TanuloAlapAdatok a
	CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 1536, 1, @FelevVege, PARSE(a.BelepesDatum AS DATETIME), PARSE(a.KilepesDatum AS DATETIME)) feljegyzes
	WHERE feljegyzes.TanuloId = a.TanuloId

END

GO
