SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('[dbo].[sp_GetTanulokTantargyMulasztasokReszletezese]') IS NOT NULL 
BEGIN
  DROP PROCEDURE [dbo].[sp_GetTanulokTantargyMulasztasokReszletezese]
END  
GO

CREATE PROCEDURE [dbo].[sp_GetTanulokTantargyMulasztasokReszletezese]
	@pOsztalyId				INT,
	@pTanevId				INT,
	@pIskolaErdekuSzamit	BIT
  
AS
BEGIN
	SET NOCOUNT ON;

/*FEJLEC*/
SELECT
  IntezmenyAdat.C_NEV                             IntezmenyNeve
  ,IntezmenyAdat.C_OMKOD                          IntezmenyOMKod
  ,IntezmenyAdat.C_IGAZGATONEVE                   IntezmenyVezeto
  ,dbo.fnGetDokumentumIntezmenyCime(@pTanevId)    IntezmenyCime
  ,IntezmenyAdat.C_VAROS                          IntezmenyVaros
FROM T_INTEZMENYADATOK_OSSZES IntezmenyAdat
WHERE 
  INTEZMENYADAT.C_TANEVID = @pTanevId

/*TANULOK*/
SELECT DISTINCT
    TanuloId
    ,Felhasznalo.C_NYOMTATASINEV                AS TanuloNev
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @pIskolaErdekuSzamit) MulasztasokOsztalyonkent
  INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = MulasztasokOsztalyonkent.TanuloId

/*MULASZTOTT TANTARGY*/
SELECT DISTINCT
  TanuloId
  ,TargyakRendezes.C_ORDER
  ,TantargyId
  ,TantargyNev                AS  TantargyNev
  ,COUNT(1)                   AS  COUNT                    
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @pIskolaErdekuSzamit) MulasztasokOsztalyonkent
  INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = MulasztasokOsztalyonkent.TantargyId
  LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyakRendezes ON Tantargy.C_TARGYKATEGORIA = TargyakRendezes.ID AND TargyakRendezes.TOROLT = 'F' AND TargyakRendezes.C_TANEVID = @pTanevId
GROUP BY TanuloId, TantargyId, TantargyNev, TargyakRendezes.C_ORDER
ORDER BY TargyakRendezes.C_ORDER

SELECT
  TanuloId
	,OsztalyCsoportId
	,OsztalyCsoportNev                OsztalyCsoportNev
	,IIF(Igazolt = 'T', 'Igen', IIF(Igazolt = 'F', 'Nem', '')) Igazolt
	,MulasztasTipus.C_NAME            Tipusa
	,IgazolasTipus.C_NAME             IgazolasTipusa
	,KesesPercben                     Keses
	,Datum                            Datum
	,Oraszam                          Oraszam
	,TantargyId
  ,Felhasznalo.C_NYOMTATASINEV      OsztalyfonokNev
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @pIskolaErdekuSzamit) MulasztasokOsztalyonkent
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES MulasztasTipus ON MulasztasokOsztalyonkent.Tipusa = MulasztasTipus.ID AND MulasztasTipus.C_TANEVID = @pTanevId
  LEFT JOIN T_DICTIONARYITEMBASE_OSSZES IgazolasTipus ON MulasztasokOsztalyonkent.IgazolasTipusa = IgazolasTipus.ID AND IgazolasTipus.C_TANEVID = @pTanevId
  LEFT JOIN T_OSZTALY_OSSZES Osztaly ON MulasztasokOsztalyonkent.OsztalyCsoportId = Osztaly.ID 
  LEFT JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Osztaly.C_OSZTALYFONOKID = Felhasznalo.ID
ORDER BY Datum
   
END