DROP PROCEDURE IF EXISTS dbo.sp_GetUzenofuzetErtekelolap
DROP PROCEDURE IF EXISTS dbo.uspGetUzenofuzetErtekelolap
GO

CREATE PROCEDURE [dbo].[uspGetUzenofuzetErtekelolap]
	@osztalyId INT,
	@tanevId   INT,
  @intezmenyId    INT

AS
BEGIN
	SET NOCOUNT ON;

	--Intézmény, tanév
	SELECT 
     T_INTEZMENYADATOK_OSSZES.C_NEV				IntezmenyNeve
    ,T_INTEZMENYADATOK_OSSZES.C_VAROS				IntezmenyVaros
    ,dbo.fnGetDokumentumIntezmenyCime(@tanevId)	IntezmenyCime
    ,T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM		TELEFON
    ,T_INTEZMENYADATOK_OSSZES.C_EMAILCIM			EMAILCIM
    ,T_INTEZMENYADATOK_OSSZES.C_OMKOD				IntezmenyOMKod
    ,T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE		Intezmenyvezeto 
    ,(SELECT C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE T_OSZTALY_OSSZES.ID = @osztalyId AND T_OSZTALY_OSSZES.C_ALTANEVID = @tanevId AND T_OSZTALY_OSSZES.TOROLT = 'F') PartnerID
    ,T_TANEV_OSSZES.C_NEV							TANEV
    ,@osztalyId AS  OsztalyId
	FROM T_INTEZMENYADATOK_OSSZES
		INNER JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID AND T_TANEV_OSSZES.TOROLT = 'F'
	WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
    AND T_TANEV_OSSZES.ID = @tanevId

	--Osztály, évfolyam
	SELECT 
     ocs.C_NEV
		,ocs.C_EVFOLYAMTIPUSA
		,f.C_NYOMTATASINEV Osztalyfonok
    ,ocs.ID  AS  OsztalyId
    ,f.ID AS  OsztalyfonokId
	  ,ocs.C_EVFOLYAMTIPUSA		EvfolyamTipusa
	  ,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
	  ,o.C_TANTERVID			TantervId
	  ,ocs.C_KEPZESIFORMA		KepzesiForma
	  ,o.C_AGAZAT				Agazat
	  ,o.C_SZAKMACSOPORT		SzakmaCsoport
	  ,o.C_SZAKKEPESITES		Szakkepesites
	  ,o.C_RESZSZAKKEPESITES	Reszszakkepesites
	  ,ocs.C_KERESZTFELEVES	OJCSJKeresztfeleves
	  ,ocs.C_VEGZOSEVFOLYAM	CSJVegzosEvfolyamu
	  ,o.C_TECHNIKAIOSZTALY	OJTechnikaiOsztaly
	  ,o.C_NEMZETISEGI		OJNemzetisegi
	  ,o.C_KETTANNYELVU		OJKettannyelvu
	  ,o.C_NYELVIELOKESZITO	OJNyelviElokeszito
	  ,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI			OJIsGyogypedagogiaiLogopediai
	  ,o.C_SPORT				OJSportOsztaly
	  ,o.C_AJPROGRAM			OJAranyJanosProgram
	FROM T_OSZTALYCSOPORT_OSSZES AS ocs
		INNER JOIN T_OSZTALY_OSSZES AS o ON ocs.id = o.ID
		LEFT JOIN T_FELHASZNALO_OSSZES AS f ON f.id = o.c_osztalyfonokid
	WHERE ocs.TOROLT='F' 
		AND ocs.ID = @osztalyId
		AND ocs.C_TANEVID = @tanevId

	
	--Tanuló adatai
	SELECT 
		 TanuloId						Id
		,TanuloCsoportId				TanuloCsoportId
		,OsztalyTanuloi.BelepesDatum	BelepesDatum
		,OsztalyTanuloi.KilepesDatum	KilepesDatum
	INTO #studentsWithTanuloCsoport
	FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi

	SELECT 
		T_FELHASZNALO_OSSZES.ID						TanuloId,
		TanuloCsoportId,
		T_FELHASZNALO_OSSZES.C_NYOMTATASINEV		TANULONEV,
		T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO	OKTATASIAZONOSITO
    ,@osztalyId AS  OsztalyId
	FROM T_FELHASZNALO_OSSZES
		INNER JOIN #studentsWithTanuloCsoport Tanulok ON Tanulok.Id = T_FELHASZNALO_OSSZES.Id
	ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
	
	SELECT 
		 Datum
		,RogzitesDatum
		,TipusId
		,ErtekelesSzoveg
		,ErtekelesSzovegRovidNev
		,ErtekelesOsztalyzatId
		,ErtekelesOsztalyzatValue
		,ErtekelesOsztalyzatNev
		,ErtekelesSzazalek
		,MagatartasOsztalyzatId
		,MagatartasOsztalyzatNev
		,MagatartasSzoveg
		,MagatartasSzovegRovidNev
		,MagatartasErtekId
		,MagatartasErtek
		,SzorgalomOsztalyzatId
		,SzorgalomOsztalyzatNev
		,SzorgalomSzoveg
		,SzorgalomSzovegRovidNev
		,SzorgalomErtekId
		,SzorgalomErtek
		,TanuloId
		,TanuloCsoportId
		,OsztalyCsoportId
		,TantargyId
		,TantargyNevZarojellel
		,TantargyNev
		,TantargyNevNyomtatvanyban
		,TargyKategoriaId
		,FotargyE
		,FotargyId
		,Altantargy
		,ErtekelesTema
		,Jeloles
		,JelolesAndErtekelesTema 
		,isMagatartasSzorgalom
		,RENDEZ1 
		,RENDEZ2
		,RENDEZ3
		,RENDEZ4
		,RENDEZ5
	INTO #ErtekelesekTemp
	FROM fnGetDokumentumErtekelesekOsztalyonkent (@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT)

	CREATE TABLE #Tantargyak(
  	 ID					INT
		,C_FOTARGYID		INT
		,C_NEV				NVARCHAR(255) COLLATE DATABASE_DEFAULT
		,C_NEVNYOMTATVANYBAN	NVARCHAR(255) COLLATE DATABASE_DEFAULT
		,C_TARGYKATEGORIA 	INT
    ,c_tanuloid int
    ,c_tanulocsoportid  int
    ,RENDEZ1 int
    ,RENDEZ2 nvarchar(255) COLLATE DATABASE_DEFAULT
    ,RENDEZ3 int
    ,RENDEZ4 int
    ,RENDEZ5 nvarchar(255) COLLATE DATABASE_DEFAULT
		,C_INTEZMENYID	 	INT
		,C_TANEVID 			INT
	);
  EXEC uspGetDokumentumErtekelesekIdoszakonkent
		@tanevId						= @tanevId,
		@osztalyCsoportId				= @osztalyId,
		@ertekelesTipusa				= NULL, 
		@csakTanorai					= 1, 
		@csakKivalasztottOsztalyCsoport	= 0, 
		@atsoroltTanuloErtekelesek		= 0,
		@fuggolegesTantargyak			= 0,
		@isMegjegyzesMegjelenjen		= 0,
    @intezmenyId                    = @intezmenyId

	DROP TABLE #studentsWithTanuloCsoport
  DROP TABLE #Tantargyak
END

GO