SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

DROP PROCEDURE IF EXISTS uspGetIskolalatogatasiIgazolas
GO

CREATE PROCEDURE uspGetIskolalatogatasiIgazolas
	@osztalyId	INT,
	@tanevId	INT
AS
BEGIN

	SET NOCOUNT ON;

    -- fejléc
	SELECT
	   IntezmenyAdatok.C_NEV AS IntezmenyNeve
	  ,IntezmenyAdatok.C_IGAZGATONEVE AS IGAZGATONEVE
	  ,IntezmenyAdatok.C_VAROS AS IntezmenyVaros
	  ,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCime
	  ,C_OSZTALYFONOKID AS PartnerID
	  ,KepzesTipus.C_NAME AS KepzesForma
	  ,Tanev.C_NEV AS TANEV
	  ,ocs.C_NEV AS Osztaly
	  ,@osztalyId AS OsztalyId
	  ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
	  ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
	  ,ocs.C_KEPZESIFORMA AS KepzesiForma
	  ,Osztaly.C_OSZTALYFONOKID AS OsztalyFonokId
	  ,Osztaly.C_TANTERVID AS TantervId
	  ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
	  ,Osztaly.C_TECHNIKAIOSZTALY AS OJTechnikaiOsztaly
	  ,Osztaly.C_NEMZETISEGI AS OJNemzetisegi
	  ,Osztaly.C_KETTANNYELVU AS OJKettannyelvu
	  ,Osztaly.C_NYELVIELOKESZITO AS OJNyelviElokeszito
	  ,Osztaly.C_LOGOPEDIAI AS OJLogopediai
	  ,Osztaly.C_SPORT AS OJSportOsztaly
	  ,Osztaly.C_AJPROGRAM AS OJAranyJanosProgram
	  ,Osztaly.C_GYOGYPEDAGOGIAI AS OJGyogypedagogiai
	  ,Osztaly.C_SZAKMACSOPORT AS SzakmaCsoport
	  ,Osztaly.C_AGAZAT AS Agazat
	  ,Osztaly.C_SZAKKEPESITES AS Szakkepesites
	  ,Osztaly.C_RESZSZAKKEPESITES AS Reszszakkepesites
	FROM T_INTEZMENYADATOK_OSSZES IntezmenyAdatok
    INNER JOIN T_TANEV_OSSZES Tanev ON Tanev.ID = IntezmenyAdatok.C_TANEVID AND Tanev.TOROLT = 'F'
	  INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = @osztalyId AND ocs.C_TANEVID = IntezmenyAdatok.C_TANEVID AND ocs.TOROLT = 'F'
	  INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.C_ALTANEVID = IntezmenyAdatok.C_TANEVID AND Osztaly.ID = ocs.ID AND Osztaly.TOROLT = 'F'
	  INNER JOIN T_DICTIONARYITEMBASE_OSSZES KepzesTipus ON KepzesTipus.ID = ocs.C_KEPZESIFORMA AND KepzesTipus.C_TANEVID = IntezmenyAdatok.C_TANEVID AND KepzesTipus.TOROLT = 'F'
	WHERE IntezmenyAdatok.TOROLT = 'F' AND IntezmenyAdatok.C_TANEVID = @tanevId
	
	-- tanulók
  SELECT 
     Felhasznalo.C_NYOMTATASINEV			TanuloNev
    ,Felhasznalo.C_OKTATASIAZONOSITO		OktatasiAzonosito
    ,dbo.fnGetDokumentumDatumFormatum(Felhasznalo.C_SZULETESIDATUM)	SzuletesiIdo
    ,Felhasznalo.C_SZULETESIHELY			SzuletesiHely
    ,Felhasznalo.C_ANYJANEVE				AnyjaNeve
    ,dbo.fnGetDokumentumDatumFormatum(TanuloCsoport.C_BELEPESDATUM)			JogviszonyKezdete
    ,dbo.fnGetDokumentumDatumFormatum(TanugyiAdatok.C_JOGVISZONYVARHATOBEFEJEZESE)	JogviszonyVarhatoBefejezese
    ,dbo.fnGetDokumentumDatumFormatum(TanuloCsoport.C_KILEPESDATUM)				KilepesDatum
    ,IIF(TanuloCsoport.C_KILEPESDATUM IS NOT NULL AND TanuloCsoport.C_KILEPESDATUM < GETDATE(), 'T', 'F')	IsKilepett
    ,Felhasznalo.ID							TanuloId
    ,@osztalyId AS OsztalyId
    ,ocs.C_NEV AS Osztaly
    ,KepzesTipus.C_NAME AS KepzesForma
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') s
    INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.Id = s.TanuloId
    INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport on TanuloCsoport.c_tanuloid = s.TanuloId AND TanuloCsoport.TOROLT = 'F' AND TanuloCsoport.C_TANEVID = @tanevId
      AND (TanuloCsoport.C_BELEPESDATUM < GETDATE() )
    INNER JOIN T_TANULOTANUGYIADATOK_OSSZES TanugyiAdatok ON TanugyiAdatok.C_TANULOCSOPORTID = TanuloCsoport.Id AND TanugyiAdatok.TOROLT = 'F' AND TanugyiAdatok.C_TANEVID = @tanevId
    INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND Osztaly.TOROLT = 'F' AND Osztaly.C_ALTANEVID = TanuloCsoport.C_TANEVID
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' AND ocs.C_TANEVID = TanuloCsoport.C_TANEVID
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES KepzesTipus ON KepzesTipus.ID = ocs.C_KEPZESIFORMA AND KepzesTipus.C_TANEVID = TanuloCsoport.C_TANEVID AND KepzesTipus.TOROLT = 'F'
  ORDER BY Felhasznalo.C_NYOMTATASINEV     
	
END

GO