DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokFelmentesekHatarozatok
DROP PROCEDURE IF EXISTS dbo.uspGetTanulokFelmentesekHatarozatok
GO

CREATE PROCEDURE dbo.[uspGetTanulokFelmentesekHatarozatok]
	@OsztalyId		INT,
	@TanevId		INT
AS
BEGIN
	SET NOCOUNT ON;
	
	/*Alap adatok*/
  SELECT DISTINCT 
	   @OsztalyId					OsztalyId
	  ,ocs.C_NEV					OSZTALYCSOPORT_NEV
	  ,ofo.C_NYOMTATASINEV		OSZTFO_NEV
	  ,i.C_IGAZGATONEVE			INT_IGAZGATO_NEV
	  ,i.C_NEV					INT_NEV
	  ,i.C_IRANYITOSZAM			INT_IRSZAM
	  ,i.C_VAROS					INT_VAROS
	  ,dbo.fnGetDokumentumIntezmenyCime(@TanevId)	INT_CIM
	  ,i.C_OMKOD					INT_OMKOD
  FROM T_OSZTALYCSOPORT_OSSZES ocs 
  	INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
  	LEFT  JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = o.C_OSZTALYFONOKID 
  	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

	/*Mentességek*/
  SELECT
     tt.C_NEV				TANTARGY
    ,tm.C_MENTESSEGOKA		MENTESSEG_OKA
    ,IIF(C_ERTEKELESMENTESITES = 'T', 'Értékelés alóli felmentés,', '') 
      + IIF(C_ORAMENTESITES = 'T', 'Tanóra látogatása alóli felmentés,', '') 	
      + IIF(C_SZOVEGESENERTEKELHETO = 'T', 'Szövegesen értékelhető,', '') TIPUSA
    ,dbo.fnGetDokumentumDatumFormatum(tm.C_KEZDETE)			Kezdete
    ,dbo.fnGetDokumentumDatumFormatum(tm.C_VEGE)			Vege
    ,ft.ID					TANULO_ID
    ,ft.C_NYOMTATASINEV AS  TANULO_NEV
    ,ft.C_NYOMTATASINEV + ' ' + CAST(ft.ID AS NVARCHAR)  GROUPPARAMETER
    ,@OsztalyId AS OsztalyId
    ,ft.C_OKTATASIAZONOSITO AS TanuloOktAzon
    ,feljegyzo.ID AS FeljegyzoId
    ,feljegyzo.C_NYOMTATASINEV AS FeljegyzoNeve
    ,feljegyzo.C_OKTATASIAZONOSITO AS FeljegyzoOktAzon
    ,CASE WHEN tt.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END as RENDEZ1
    ,COALESCE(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV, tt.C_NEV) as RENDEZ2
    ,ISNULL(tt.C_FOTARGYID, tt.ID) as RENDEZ3
    ,tt.C_FOTARGYID as RENDEZ4
    ,ISNULL(tt.C_NEVNYOMTATVANYBAN, tt.C_NEV) as RENDEZ5
  INTO #TanuloMentesseg
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'T') Tanulok
    INNER JOIN T_FELHASZNALO_OSSZES ft ON ft.ID = Tanulok.TanuloId AND ft.TOROLT = 'F'
    LEFT JOIN T_TANULOMENTESSEG_OSSZES tm ON tm.C_TANULOID = ft.ID AND tm.TOROLT = 'F'
    LEFT JOIN T_TANTARGY_OSSZES tt ON tt.ID = tm.C_TANTARGYID AND tt.TOROLT = 'F'
    LEFT JOIN T_FELHASZNALO_OSSZES feljegyzo ON feljegyzo.ID = tm.CREATOR AND feljegyzo.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = tt.C_TARGYKATEGORIA
	    AND TargyKategoriaDictionary.TOROLT = 'F'
	    AND TargyKategoriaDictionary.C_TANEVID = @tanevId
    LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON tt.C_FOTARGYID = FotargyTable.ID
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA
	    AND FotargyKategoriaDictionary.TOROLT = 'F'
	    AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
	ORDER BY ft.C_NYOMTATASINEV

	SELECT 
      TANTARGY
		,MENTESSEG_OKA
		,IIF(TIPUSA = '', '', LEFT(TIPUSA, LEN(TIPUSA) - 1)) TIPUSA
		,Kezdete
		,Vege
		,TANULO_ID
		,TANULO_NEV
		,GROUPPARAMETER		
    ,OsztalyId
    ,TanuloOktAzon
    ,FeljegyzoId
    ,FeljegyzoNeve
    ,FeljegyzoOktAzon
	FROM #TanuloMentesseg 
	ORDER BY TANULO_ID, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5, Kezdete
		
  /* Osztály adatok */
  SELECT
     o.ID AS OsztalyId
    ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
    ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
    ,ocs.C_KEPZESIFORMA AS KepzesiForma
    ,o.C_OSZTALYFONOKID AS OsztalyfonokId
    ,o.C_TANTERVID AS TantervId
    ,o.C_SZAKMACSOPORT AS SzakmaCsoport
    ,o.C_AGAZAT AS Agazat
    ,o.C_SZAKKEPESITES AS Szakkepesites
    ,o.C_RESZSZAKKEPESITES AS 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
	  ,o.C_LOGOPEDIAI			OJLogopediai
	  ,o.C_SPORT				OJSportOsztaly
	  ,o.C_AJPROGRAM			OJAranyJanosProgram
	  ,o.C_GYOGYPEDAGOGIAI	OJGyogypedagogiai
  FROM T_OSZTALY_OSSZES AS o
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
  WHERE o.ID = @OsztalyId

	DROP TABLE #TanuloMentesseg
		
END

GO