1029 lines
		
	
	
		
			30 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			1029 lines
		
	
	
		
			30 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS uspGetCsoportNaplo
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE uspGetCsoportNaplo
 | 
						|
   @tanevId int
 | 
						|
  ,@intezmenyid int
 | 
						|
  ,@csoportId int
 | 
						|
  ,@iskolaErdekuSzamit bit
 | 
						|
  ,@isGyakorlatiTargyak bit
 | 
						|
  ,@isElmeletiTargyak bit
 | 
						|
AS BEGIN
 | 
						|
  SET NOCOUNT ON;
 | 
						|
 | 
						|
  SET DATEFIRST 1; -- Sets the first day of the week to a number from 1 (Monday) through 7 (Sunday).
 | 
						|
 | 
						|
  DECLARE
 | 
						|
     @isreszletesmulasztasok bit = 0
 | 
						|
    ,@isGyakorlatVagyElmelet bit /*0 csak elmeleti || 1 csak gyakorlati || NULL elmeleti és gyakorlati*/
 | 
						|
    ,@isGyakorlatVagyElmeletFalse bit = NULL
 | 
						|
    ,@ElsoNapTanevRendje date
 | 
						|
    ,@UtolsoNapTanevRendje date
 | 
						|
    ,@ElsoNapTanev date
 | 
						|
    ,@UtolsoNapTanev date
 | 
						|
    ,@isVegzos varchar (1)
 | 
						|
    ,@datum date = GETDATE()
 | 
						|
    ,@FelevVege date
 | 
						|
    ,@VegzosUtolsoNap date
 | 
						|
 | 
						|
  DECLARE @TanitasiNapTipusok TABLE (Id INT)
 | 
						|
 | 
						|
  DECLARE @NapSorszam TABLE (
 | 
						|
     Datum date
 | 
						|
    ,Sorszam nvarchar (4)
 | 
						|
  )
 | 
						|
 | 
						|
  CREATE TABLE #OraSorszam (
 | 
						|
     TanitasioraId int PRIMARY KEY
 | 
						|
    ,OraSorszam int
 | 
						|
  )
 | 
						|
 | 
						|
  CREATE TABLE #hetek (
 | 
						|
     Het int
 | 
						|
    ,HetEleje nvarchar (11)
 | 
						|
    ,HetVege nvarchar (11)
 | 
						|
    ,IsSzombatiMulasztas  bit
 | 
						|
    ,IsVasarnapiMulasztas bit
 | 
						|
    ,PRIMARY KEY (Het)
 | 
						|
  )
 | 
						|
 | 
						|
  CREATE TABLE #hianyzasok (
 | 
						|
     C_HETSORSZAMA int
 | 
						|
    ,C_NYOMTATASINEV nvarchar (255)
 | 
						|
    ,TanuloId int
 | 
						|
    ,Hetfo nvarchar (128)
 | 
						|
    ,Kedd nvarchar (128)
 | 
						|
    ,Szerda nvarchar (128)
 | 
						|
    ,Csutortok nvarchar (128)
 | 
						|
    ,Pentek nvarchar (128)
 | 
						|
    ,Szombat nvarchar (128)
 | 
						|
    ,Vasarnap nvarchar (128)
 | 
						|
    ,Primary Key (C_HETSORSZAMA, TanuloId)
 | 
						|
  )
 | 
						|
 | 
						|
  DECLARE @TanuloCimTable TABLE (
 | 
						|
     FelhasznaloId int
 | 
						|
    ,Cim nvarchar (max)
 | 
						|
    ,Cimtipusa nvarchar (max)
 | 
						|
  )
 | 
						|
 | 
						|
  DECLARE @GondViseloCimTable TABLE (
 | 
						|
     GondviseloId int
 | 
						|
    ,Cim nvarchar (max)
 | 
						|
    ,Cimtipusa nvarchar (max)
 | 
						|
  )
 | 
						|
 | 
						|
  DECLARE @EmailCimTableTemp TABLE (
 | 
						|
     FelhasznaloId int
 | 
						|
    ,EmailCim nvarchar (max)
 | 
						|
    ,GondviseloId int
 | 
						|
  )
 | 
						|
 | 
						|
  DECLARE @EmailCimTanuloTable TABLE (
 | 
						|
     FelhasznaloId int
 | 
						|
    ,EmailCim nvarchar (max)
 | 
						|
  )
 | 
						|
 | 
						|
  DECLARE @EmailCimGondviseloTable TABLE (
 | 
						|
     GondviseloId int
 | 
						|
    ,EmailCim nvarchar (max)
 | 
						|
  )
 | 
						|
 | 
						|
  DECLARE @TelefonTableTemp TABLE (
 | 
						|
     FelhasznaloId int
 | 
						|
    ,Telefon nvarchar (max)
 | 
						|
    ,GondviseloId int
 | 
						|
  )
 | 
						|
 | 
						|
  DECLARE @TanuloTelefonTable TABLE (
 | 
						|
     FelhasznaloId int
 | 
						|
    ,Telefon nvarchar (max)
 | 
						|
  )
 | 
						|
 | 
						|
  DECLARE @GondviseloTelefonTable TABLE (
 | 
						|
     GondviseloId int
 | 
						|
    ,Telefon nvarchar (max)
 | 
						|
  )
 | 
						|
 | 
						|
  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
 | 
						|
  )
 | 
						|
 | 
						|
  DECLARE @Mulasztasok TABLE (
 | 
						|
     IgazoltE nvarchar(1)
 | 
						|
    ,Tanulo int
 | 
						|
    ,Tipus int
 | 
						|
  )
 | 
						|
 | 
						|
  IF(@isGyakorlatiTargyak = 1)
 | 
						|
    SET @isGyakorlatVagyElmelet = 1
 | 
						|
 | 
						|
  IF(@isElmeletiTargyak = 1)
 | 
						|
    SET @isGyakorlatVagyElmelet = 0
 | 
						|
 | 
						|
  IF(@isGyakorlatiTargyak = 1 AND @isElmeletiTargyak = 1)
 | 
						|
    SET @isGyakorlatVagyElmelet = NULL
 | 
						|
 | 
						|
  IF(@isGyakorlatiTargyak = 0 AND @isElmeletiTargyak = 0)
 | 
						|
    SET @isGyakorlatVagyElmeletFalse = 0
 | 
						|
 | 
						|
  SELECT TOP 1
 | 
						|
     @ElsoNapTanev = t.C_ELSOTANITASINAP
 | 
						|
    ,@UtolsoNapTanev = t.C_UTOLSOTANITASINAP
 | 
						|
  FROM T_TANEV_OSSZES t
 | 
						|
  WHERE t.ID = @tanevId
 | 
						|
    AND t.TOROLT = 'F'
 | 
						|
 | 
						|
  SELECT TOP 1
 | 
						|
    @ElsoNapTanevRendje = tr.C_DATUM
 | 
						|
  FROM T_TANEVRENDJE_OSSZES tr
 | 
						|
  WHERE tr.C_NAPTIPUSA = 1394
 | 
						|
    AND tr.C_TANEVID = @tanevId
 | 
						|
    AND tr.TOROLT = 'F'
 | 
						|
 | 
						|
  SELECT TOP 1
 | 
						|
    @UtolsoNapTanevRendje = tr.C_DATUM
 | 
						|
  FROM T_TANEVRENDJE_OSSZES tr
 | 
						|
  WHERE tr.C_NAPTIPUSA = 1395
 | 
						|
    AND tr.C_TANEVID = @tanevId
 | 
						|
    AND tr.TOROLT = 'F'
 | 
						|
 | 
						|
  SELECT TOP 1
 | 
						|
    @VegzosUtolsoNap = tr.C_DATUM
 | 
						|
  FROM T_TANEVRENDJE_OSSZES tr
 | 
						|
  WHERE tr.C_NAPTIPUSA = 1402
 | 
						|
    AND tr.C_TANEVID = @tanevId
 | 
						|
    AND tr.TOROLT = 'F'
 | 
						|
 | 
						|
  SELECT TOP 1
 | 
						|
    @FelevVege = tr.C_DATUM
 | 
						|
  FROM T_TANEVRENDJE_OSSZES tr
 | 
						|
  WHERE tr.C_NAPTIPUSA = 1400
 | 
						|
    AND tr.C_TANEVID = @tanevId
 | 
						|
    AND tr.TOROLT = 'F'
 | 
						|
 | 
						|
  SELECT TOP 1
 | 
						|
     @isVegzos = o.C_VEGZOSEVFOLYAM
 | 
						|
  FROM T_OSZTALYCSOPORT_OSSZES o
 | 
						|
  WHERE o.ID = @csoportId
 | 
						|
 | 
						|
  --Kezdőoldal
 | 
						|
  SELECT
 | 
						|
     ia.C_NEV AS IntezmenyNev
 | 
						|
    ,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCim
 | 
						|
    ,ia.C_OMKOD AS OMKOD
 | 
						|
    ,ia.C_IGAZGATONEVE AS IntezmenyVezeto
 | 
						|
    ,ocs.C_NEV AS Csoport
 | 
						|
    ,ocs.ID AS CsoportId
 | 
						|
    ,ISNULL(f.C_NYOMTATASINEV, '-') AS CsoportVezeto
 | 
						|
    ,ISNULL(cs.C_CSOPORTNAPLOLEIRAS, '-') AS CsoportNaploLeiras
 | 
						|
    ,FORMAT(cs.C_CSOPORTNAPLOMEGNYITASA, 'yyyy. MMMM dd.', 'hu-hu') AS Megnyitas
 | 
						|
    ,ISNULL(FORMAT(cs.C_CSOPORTNAPLOZARASA, 'yyyy. MMMM dd.', 'hu-hu'), '-') AS Lezaras
 | 
						|
    ,ISNULL(ocs.C_EVFOLYAMTIPUSA, 1296)	AS EvfolyamTipusa              -- 1296 = Na
 | 
						|
    ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
 | 
						|
    ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
 | 
						|
    ,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
 | 
						|
    ,cs.C_TIPUSA AS CsoportTipusa
 | 
						|
  FROM T_INTEZMENY_OSSZES i
 | 
						|
    INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.c_intezmenyid = i.id
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.c_intezmenyid = i.id
 | 
						|
      AND ocs.c_tanevid = @tanevid
 | 
						|
    INNER JOIN T_CSOPORT_OSSZES cs ON cs.id = ocs.id
 | 
						|
    LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=cs.c_csoportvezetoid
 | 
						|
  WHERE i.id = @intezmenyid
 | 
						|
    AND ia.c_tanevid = @tanevid
 | 
						|
    AND ocs.id = @csoportId
 | 
						|
 | 
						|
  --Csoportot vezette
 | 
						|
  SELECT
 | 
						|
     ISNULL(felhasznaloNev.C_NYOMTATASINEV, '-') AS CsoportVezeto
 | 
						|
    ,csoport.C_CSOPORTVEZETOID CsoportVezetoId
 | 
						|
  FROM T_CSOPORT_OSSZES csoport
 | 
						|
  INNER JOIN T_FELHASZNALO_OSSZES felhasznaloNev ON felhasznaloNev.id = csoport.C_CSOPORTVEZETOID
 | 
						|
  WHERE csoport.id = @csoportId
 | 
						|
 | 
						|
  --Tanulók
 | 
						|
  SELECT
 | 
						|
     ta.TanuloId AS Id
 | 
						|
    ,ta.TanuloCsoportId
 | 
						|
    ,ta.Sorszam
 | 
						|
    ,ta.TorzslapSzam
 | 
						|
    ,ta.OktAzon
 | 
						|
    ,ta.TajSzam
 | 
						|
    ,ta.AnyjaNeve
 | 
						|
    ,ta.SzulHely
 | 
						|
    ,ta.SzulIdo
 | 
						|
    ,ta.SocAdat
 | 
						|
    ,ta.Kepzes
 | 
						|
    ,ta.TanuloNeve
 | 
						|
    ,ta.Allampolgarsaga
 | 
						|
    ,ta.DiakIgazolvanySzam
 | 
						|
    ,ta.KilepesDatum
 | 
						|
    ,ta.BeirasiNaploSorszam
 | 
						|
    ,ta.AdottOsztaly AS Osztaly
 | 
						|
    ,ta.AdottOsztalyId AS OsztalyId
 | 
						|
    ,CONVERT(DATE, LEFT(ta.BelepesDatum, LEN(ta.BelepesDatum) - 1), 102) AS BelepesDatum
 | 
						|
  INTO #studentsWithTanuloCsoport
 | 
						|
  FROM fnGetDokumentumTanulokAdatai(@tanevId, @csoportId) ta
 | 
						|
 | 
						|
  SELECT
 | 
						|
     Id
 | 
						|
    ,Osztaly
 | 
						|
    ,OktAzon
 | 
						|
    ,TanuloNeve AS Nev
 | 
						|
    ,BelepesDatum AS BelepesDatum
 | 
						|
  FROM #studentsWithTanuloCsoport
 | 
						|
 | 
						|
  SELECT DISTINCT
 | 
						|
     Id
 | 
						|
  INTO #students
 | 
						|
  FROM #studentsWithTanuloCsoport
 | 
						|
 | 
						|
  --Napló adatok
 | 
						|
  INSERT INTO @TanitasiNapTipusok(Id)
 | 
						|
  SELECT DISTINCT
 | 
						|
    ID
 | 
						|
  FROM T_DICTIONARYITEMBASE_OSSZES
 | 
						|
  WHERE ID IN (1385, 1393, 1394, 1395, 1400, 1402, 1403, 1404)
 | 
						|
 | 
						|
  INSERT INTO @NapSorszam (
 | 
						|
     Datum
 | 
						|
    ,Sorszam
 | 
						|
  )
 | 
						|
  SELECT
 | 
						|
     C_NAPDATUMA
 | 
						|
    ,CAST(DENSE_RANK() OVER(ORDER BY C_NAPDATUMA) AS nvarchar (4))
 | 
						|
  FROM T_NAPTARINAP_OSSZES
 | 
						|
  WHERE C_TANEVID = @tanevId
 | 
						|
    AND TOROLT = 'F'
 | 
						|
    AND C_NAPTIPUSA IN (SELECT Id FROM @TanitasiNapTipusok)
 | 
						|
    AND C_NAPDATUMA <= ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev)
 | 
						|
 | 
						|
  INSERT INTO #OraSorszam  (
 | 
						|
     TanitasioraId
 | 
						|
    ,OraSorszam
 | 
						|
  )
 | 
						|
  EXEC	sp_GetOraSorszamByOsztaly
 | 
						|
     @osztalyCsoportId = @csoportId
 | 
						|
    ,@datum = @datum
 | 
						|
    ,@intezmenyId = @intezmenyId
 | 
						|
    ,@tanevId = @tanevId
 | 
						|
 | 
						|
  SELECT
 | 
						|
     tao.Id AS TanitasioraId
 | 
						|
    ,tao.C_DATUM AS Datum
 | 
						|
    ,CONVERT(varchar (5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(varchar (5), tao.C_ORAVEGE, 108) AS KezdetVeg
 | 
						|
    ,C_ORATULAJDONOSID AS PedagogusId
 | 
						|
    ,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, pedagogus.C_NYOMTATASINEV) AS PedagogusNev
 | 
						|
    ,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(nvarchar (max), OraSorszam),'-'), '-') AS OraSorszam
 | 
						|
    ,IIF(C_MEGTARTOTT = 'T', REPLACE(REPLACE(C_TEMA, char(0x0007),''), char(0x000B), ''), 'Elmaradt') AS Tema
 | 
						|
    ,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(nvarchar (max), OraSorszam),'-') +'.: ' + REPLACE(REPLACE(C_TEMA, char(0x0007),''), char(0x000B), ''), 'Elmaradt') AS TemaOraSzammal
 | 
						|
    ,tao.C_HETNAPJA AS HetNapja
 | 
						|
    ,C_HETSORSZAMA AS HetSorszama
 | 
						|
    ,C_MEGTARTOTT AS Megtartott
 | 
						|
    ,C_TANTARGYID AS TantargyId
 | 
						|
    ,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) AS Tantargynev
 | 
						|
    ,C_OSZTALYCSOPORTID AS OsztalyCsoportId
 | 
						|
    ,C_NAPSORSZAMA AS NapSorszama
 | 
						|
    ,C_ORAKEZDETE AS Kezdete
 | 
						|
  INTO #megtartottOrak
 | 
						|
  FROM T_TANITASIORA_OSSZES tao
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES pedagogus ON pedagogus.Id = tao.C_TANARID
 | 
						|
    LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.Id = tao.C_HELYETTESITOTANARID
 | 
						|
    INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tao.C_TANTARGYID
 | 
						|
      AND (tantargy.C_GYAKORLATI = CASE @isGyakorlatVagyElmelet WHEN 1 THEN 'T' WHEN 0 THEN 'F' END
 | 
						|
        OR @isGyakorlatVagyElmelet IS NULL)
 | 
						|
    LEFT JOIN(
 | 
						|
      SELECT DISTINCT
 | 
						|
         OraSorszam
 | 
						|
        ,TanitasioraId
 | 
						|
      FROM #OraSorszam
 | 
						|
    ) oraSorszam ON oraSorszam.TanitasioraId = tao.Id
 | 
						|
  WHERE C_OSZTALYCSOPORTID = @csoportId
 | 
						|
    AND tao.TOROLT = 'F'
 | 
						|
 | 
						|
  INSERT INTO #Hetek (
 | 
						|
     Het
 | 
						|
    ,HetEleje
 | 
						|
    ,HetVege
 | 
						|
    ,IsSzombatiMulasztas
 | 
						|
    ,IsVasarnapiMulasztas
 | 
						|
  )
 | 
						|
  SELECT
 | 
						|
     nn.C_HETSORSZAMA
 | 
						|
    ,FORMAT(MIN(nn.C_NAPDATUMA), 'yyyy.MM.dd.')
 | 
						|
    ,FORMAT(MAX(nn.C_NAPDATUMA), 'yyyy.MM.dd.')
 | 
						|
    ,0  --default
 | 
						|
    ,0  --default
 | 
						|
  FROM T_NAPTARINAP_OSSZES nn
 | 
						|
  WHERE nn.C_NAPDATUMA BETWEEN ISNULL(@ElsoNapTanevRendje, @ElsoNapTanev) AND IIF(@isVegzos = 'T', COALESCE(@VegzosUtolsoNap, @UtolsoNapTanevRendje, @UtolsoNapTanev), ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev))
 | 
						|
    AND nn.C_HETNAPJA BETWEEN 1407 AND 1413
 | 
						|
    AND nn.TOROLT='F'
 | 
						|
    AND nn.c_tanevId = @tanevId
 | 
						|
  GROUP BY nn.C_HETSORSZAMA
 | 
						|
  ORDER BY MIN(nn.C_NAPDATUMA)
 | 
						|
 | 
						|
  /* Naplo */
 | 
						|
  -- Hétfőtől vasárnapig kellenek, mert ez csak segédtábla
 | 
						|
  SELECT DISTINCT
 | 
						|
     nn.C_HETSORSZAMA AS Het
 | 
						|
    ,NapDictionary.C_NAME AS Nap
 | 
						|
    ,FORMAT(nn.C_NAPDATUMA, 'yyyy. MMMM dd.', 'hu-hu') AS Datum
 | 
						|
    ,nn.C_NAPDATUMA
 | 
						|
  FROM T_NAPTARINAP_OSSZES nn
 | 
						|
    LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = nn.c_napdatuma
 | 
						|
      AND tao.c_osztalycsoportid = @csoportid
 | 
						|
      AND tao.torolt = 'F'
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES NapDictionary ON NapDictionary.id = nn.C_ALAPHETNAPJA
 | 
						|
      AND NapDictionary.C_TANEVID = @tanevId
 | 
						|
  WHERE nn.c_napdatuma >= ISNULL(@ElsoNapTanevRendje, @ElsoNapTanev)
 | 
						|
    AND nn.c_napdatuma <= ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev)
 | 
						|
  ORDER BY
 | 
						|
     nn.C_HETSORSZAMA
 | 
						|
    ,nn.C_NAPDATUMA
 | 
						|
 | 
						|
  SELECT
 | 
						|
     mto.Datum AS C_NAPDATUMA
 | 
						|
    ,FORMAT(mto.Datum, 'dddd', 'hu-hu') AS Napneve
 | 
						|
    ,NULL AS C_MEGJEGYZES
 | 
						|
    ,nh.C_HETKEZDONAPJA AS C_HETKEZDONAPJA
 | 
						|
    ,nh.C_HETUTOLSONAPJA AS C_HETUTOLSONAPJA
 | 
						|
    ,HetSorszama AS C_HETSORSZAMA
 | 
						|
    ,KezdetVeg AS KezdetVeg
 | 
						|
    ,nsz.Sorszam AS Napszam
 | 
						|
    ,Tantargynev AS Tantargy
 | 
						|
    ,PedagogusNev AS Tanar
 | 
						|
    ,Tema AS Oraanyaga
 | 
						|
    ,OraSorszam AS C_ORAEVESSORSZAM
 | 
						|
    ,Kezdete AS Kezdete
 | 
						|
  INTO #szoveges
 | 
						|
  FROM #megtartottOrak mto
 | 
						|
    INNER JOIN T_NAPTARIHET_OSSZES nh ON Datum BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA
 | 
						|
      AND nh.C_TANEVID = @tanevId
 | 
						|
      AND nh.torolt='F'
 | 
						|
    LEFT JOIN @NapSorszam nsz ON nsz.Datum = mto.Datum
 | 
						|
 | 
						|
  /* NaploAdatok */
 | 
						|
  IF (@isGyakorlatVagyElmeletFalse IS NULL)
 | 
						|
 | 
						|
    IF ((@isGyakorlatVagyElmelet = 1) OR (@isGyakorlatVagyElmelet = 0) OR (@isGyakorlatVagyElmelet IS NULL))
 | 
						|
      SELECT DISTINCT
 | 
						|
         FORMAT(C_NAPDATUMA, 'yyyy. MMMM dd.', 'hu-hu') AS Datum
 | 
						|
        ,napneve
 | 
						|
        ,c_megjegyzes
 | 
						|
        ,c_hetkezdonapja
 | 
						|
        ,c_hetutolsonapja
 | 
						|
        ,c_hetsorszama
 | 
						|
        ,KezdetVeg
 | 
						|
        ,napszam
 | 
						|
        ,STUFF(
 | 
						|
          (
 | 
						|
            SELECT
 | 
						|
              ' | ' + CAST(bszov.TANTARGY AS nvarchar (max))
 | 
						|
            FROM #szoveges bszov
 | 
						|
            WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
 | 
						|
              AND bszov.KezdetVeg = szov.KezdetVeg
 | 
						|
            FOR XML PATH(''), TYPE
 | 
						|
          ).value
 | 
						|
          ('.', 'NVARCHAR(MAX)'), 1, 3, ''
 | 
						|
        ) AS TANTARGY
 | 
						|
        ,STUFF(
 | 
						|
          (
 | 
						|
            SELECT
 | 
						|
              ' | ' + CAST(bszov.TANAR AS nvarchar (max))
 | 
						|
            FROM #szoveges bszov
 | 
						|
            WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
 | 
						|
              AND bszov.KezdetVeg = szov.KezdetVeg
 | 
						|
            FOR XML PATH(''), TYPE
 | 
						|
          ).value
 | 
						|
          ('.', 'NVARCHAR(MAX)'), 1, 3, ''
 | 
						|
        ) AS TANAR
 | 
						|
        ,STUFF(
 | 
						|
          (
 | 
						|
            SELECT
 | 
						|
              ' | ' + CAST(bszov.ORAANYAGA AS nvarchar (max))
 | 
						|
            FROM #szoveges bszov
 | 
						|
            WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
 | 
						|
              AND bszov.KezdetVeg = szov.KezdetVeg
 | 
						|
            FOR XML PATH(''), TYPE
 | 
						|
          ).value
 | 
						|
          ('.', 'NVARCHAR(MAX)'), 1, 3, ''
 | 
						|
        ) AS ORAANYAGA
 | 
						|
        ,STUFF(
 | 
						|
          (
 | 
						|
            SELECT
 | 
						|
              ' | ' + CAST(bszov.C_ORAEVESSORSZAM AS nvarchar (max))
 | 
						|
            FROM #szoveges bszov
 | 
						|
            WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
 | 
						|
              AND bszov.KezdetVeg = szov.KezdetVeg
 | 
						|
            FOR XML PATH(''), TYPE
 | 
						|
          ).value
 | 
						|
          ('.', 'NVARCHAR(MAX)'), 1, 3, ''
 | 
						|
        ) AS OraEvesSorszama
 | 
						|
        ,Kezdete
 | 
						|
        ,C_NAPDATUMA
 | 
						|
    FROM #szoveges szov
 | 
						|
    ORDER BY
 | 
						|
       C_NAPDATUMA
 | 
						|
      ,Kezdete
 | 
						|
 | 
						|
  ELSE
 | 
						|
    IF (@isGyakorlatVagyElmeletFalse = 0)
 | 
						|
      SELECT
 | 
						|
         '' Datum
 | 
						|
         ,'' AS napneve
 | 
						|
         ,'' AS c_megjegyzes
 | 
						|
         ,'' AS c_hetkezdonapja
 | 
						|
         ,'' AS c_hetutolsonapja
 | 
						|
         ,'' AS c_hetsorszama
 | 
						|
         ,'' AS KezdetVeg
 | 
						|
         ,'' AS napszam
 | 
						|
         ,'' AS TANTARGY
 | 
						|
         ,'' AS TANAR
 | 
						|
         ,'' AS ORAANYAGA
 | 
						|
         ,'' AS OraEvesSorszama
 | 
						|
         ,'' AS Kezdete
 | 
						|
 | 
						|
  /*Hiányzások*/
 | 
						|
  INSERT INTO #hianyzasok (
 | 
						|
     C_HETSORSZAMA
 | 
						|
    ,C_NYOMTATASINEV
 | 
						|
    ,TanuloId
 | 
						|
    ,Hetfo
 | 
						|
    ,Kedd
 | 
						|
    ,Szerda
 | 
						|
    ,Csutortok
 | 
						|
    ,Pentek
 | 
						|
    ,Szombat
 | 
						|
    ,Vasarnap
 | 
						|
  )
 | 
						|
  SELECT
 | 
						|
     C_HETSORSZAMA
 | 
						|
    ,C_NYOMTATASINEV
 | 
						|
    ,TanuloId
 | 
						|
    ,MAX([1]) AS [Hetfo]
 | 
						|
    ,MAX([2]) AS [Kedd]
 | 
						|
    ,MAX([3]) AS [Szerda]
 | 
						|
    ,MAX([4]) AS [Csutortok]
 | 
						|
    ,MAX([5]) AS [Pentek]
 | 
						|
    ,MAX([6]) AS [Szombat]
 | 
						|
    ,MAX([7]) AS [Vasarnap]
 | 
						|
  FROM (
 | 
						|
    SELECT
 | 
						|
       C_HETSORSZAMA
 | 
						|
      ,C_NYOMTATASINEV
 | 
						|
      ,C_ORATANULOIID AS TanuloId
 | 
						|
      ,[1]
 | 
						|
      ,[2]
 | 
						|
      ,[3]
 | 
						|
      ,[4]
 | 
						|
      ,[5]
 | 
						|
      ,[6]
 | 
						|
      ,[7]
 | 
						|
    FROM (
 | 
						|
      SELECT DISTINCT
 | 
						|
         n.C_NAPTARINAPID
 | 
						|
        ,DATEPART(dw,n.C_DATUM) AS NAP
 | 
						|
        ,t.C_NYOMTATASINEV
 | 
						|
        ,C_ORATANULOIID
 | 
						|
        ,n.C_HETSORSZAMA
 | 
						|
        ,'['
 | 
						|
          + STUFF(
 | 
						|
          (
 | 
						|
            SELECT
 | 
						|
              ', ' + CAST(OraSorszam AS varchar (3)) + IIF(tm.C_TIPUS = 1499, '(k)','')
 | 
						|
            FROM T_TANULOMULASZTAS_OSSZES tm
 | 
						|
              INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID
 | 
						|
              INNER JOIN #students s ON s.Id = tm.C_ORATANULOIID
 | 
						|
              LEFT JOIN (SELECT DISTINCT * FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = O.Id
 | 
						|
            WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
 | 
						|
              AND m.C_ORATANULOIID = tm.C_ORATANULOIID
 | 
						|
              AND tm.C_TANEVID = @tanevId
 | 
						|
              AND tm.torolt='F'
 | 
						|
              AND o.c_tanevId = @tanevId
 | 
						|
              AND o.TOROLT = 'F'
 | 
						|
              AND tm.C_TIPUS IN (1499, 1500)
 | 
						|
              AND o.C_OSZTALYCSOPORTID = @csoportId
 | 
						|
            ORDER BY o.C_NAPTARINAPID, o.C_ORASZAM
 | 
						|
                  FOR XML PATH(''), TYPE
 | 
						|
          ).value
 | 
						|
          ('.', 'varchar(max)'), 1, 2, '')
 | 
						|
          + '] '
 | 
						|
          + CAST(SUM(IIF(m.C_IGAZOLT = 'T', 1, 0)) AS varchar(2))
 | 
						|
          + '/'
 | 
						|
          + CAST(SUM(IIF(m.C_IGAZOLT = 'F', 1, 0)) AS varchar(2)) AS hianyzas
 | 
						|
      FROM T_TANITASIORA_OSSZES n
 | 
						|
        INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID  and m.torolt='F'
 | 
						|
        INNER JOIN #students s ON s.Id = m.C_ORATANULOIID
 | 
						|
        INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID
 | 
						|
      WHERE n.C_TANEVID = @tanevId
 | 
						|
        AND m.C_TANEVID = @tanevId
 | 
						|
        AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533)
 | 
						|
        AND m.C_TIPUS IN (1499, 1500)
 | 
						|
        AND n.TOROLT = 'F'
 | 
						|
        AND n.C_OSZTALYCSOPORTID = @csoportId
 | 
						|
      GROUP BY
 | 
						|
         n.C_NAPTARINAPID
 | 
						|
        ,C_ORATANULOIID
 | 
						|
        ,C_NYOMTATASINEV
 | 
						|
        ,n.C_HETSORSZAMA
 | 
						|
        ,n.C_DATUM
 | 
						|
    ) AS SUB
 | 
						|
    PIVOT
 | 
						|
    (
 | 
						|
      MAX(HIANYZAS)
 | 
						|
      FOR NAP IN ([1], [2], [3], [4], [5], [6], [7])
 | 
						|
    ) AS PivotTable
 | 
						|
    ) AS ASD
 | 
						|
  GROUP BY
 | 
						|
     C_HETSORSZAMA
 | 
						|
    ,C_NYOMTATASINEV
 | 
						|
    ,TanuloId
 | 
						|
 | 
						|
  UPDATE #hetek
 | 
						|
  SET
 | 
						|
      #hetek.IsSzombatiMulasztas = h.Sz
 | 
						|
     ,#hetek.IsVasarnapiMulasztas = h.V
 | 
						|
  FROM (
 | 
						|
    SELECT
 | 
						|
        C_HETSORSZAMA AS hetsorszama
 | 
						|
      ,(CASE WHEN MAX(Szombat) IS NOT NULL THEN 1 ELSE 0 END) AS Sz
 | 
						|
      ,(CASE WHEN MAX(Vasarnap) IS NOT NULL THEN 1 ELSE 0 END) AS V
 | 
						|
    FROM #hianyzasok
 | 
						|
    GROUP BY C_HETSORSZAMA
 | 
						|
   ) AS h
 | 
						|
   WHERE h.hetsorszama=#hetek.Het
 | 
						|
 | 
						|
   /* NaploMulasztas */
 | 
						|
   SELECT
 | 
						|
      hi.C_HETSORSZAMA
 | 
						|
     ,hi.C_NYOMTATASINEV
 | 
						|
     ,hi.Hetfo
 | 
						|
     ,hi.Kedd
 | 
						|
     ,hi.Szerda
 | 
						|
     ,hi.Csutortok
 | 
						|
     ,hi.Pentek
 | 
						|
     ,hi.Szombat
 | 
						|
     ,hi.Vasarnap
 | 
						|
   FROM  #hianyzasok hi
 | 
						|
   ORDER BY hi.C_HETSORSZAMA
 | 
						|
 | 
						|
   /* NaptariHetek */
 | 
						|
   SELECT
 | 
						|
     h.Het
 | 
						|
    ,h.HetEleje
 | 
						|
    ,h.HetVege
 | 
						|
    ,h.IsSzombatiMulasztas
 | 
						|
    ,h.IsVasarnapiMulasztas
 | 
						|
   FROM #hetek h
 | 
						|
   ORDER BY h.Het
 | 
						|
 | 
						|
   /*TANULÓ adatai*/
 | 
						|
   SELECT
 | 
						|
     Id AS TanuloId
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,Sorszam
 | 
						|
    ,TorzslapSzam
 | 
						|
    ,OktAzon
 | 
						|
    ,TajSzam
 | 
						|
    ,AnyjaNeve
 | 
						|
    ,SzulHely
 | 
						|
    ,SzulIdo
 | 
						|
    ,SocAdat
 | 
						|
    ,Kepzes
 | 
						|
    ,TanuloNeve
 | 
						|
    ,Allampolgarsaga
 | 
						|
    ,DiakIgazolvanySzam
 | 
						|
    ,KilepesDatum
 | 
						|
    ,BeirasiNaploSorszam
 | 
						|
    ,Osztaly
 | 
						|
    ,OsztalyId
 | 
						|
    ,BelepesDatum
 | 
						|
  FROM #studentsWithTanuloCsoport
 | 
						|
 | 
						|
  /*TANULÓ elérhetőségei */
 | 
						|
  INSERT INTO @TanuloCimTable (
 | 
						|
     FelhasznaloId
 | 
						|
    ,Cim
 | 
						|
    ,Cimtipusa
 | 
						|
  )
 | 
						|
  SELECT DISTINCT
 | 
						|
     TanuloId
 | 
						|
    ,STUFF(
 | 
						|
      (
 | 
						|
        SELECT DISTINCT
 | 
						|
          CAST(Btemp.Cim AS nvarchar (max))  + char(13) + char(10)
 | 
						|
        FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @csoportid) btemp
 | 
						|
        WHERE temp.TanuloId = btemp.TanuloId
 | 
						|
          AND temp.CimTipusa = btemp.CimTipusa
 | 
						|
        FOR XML PATH(''), TYPE
 | 
						|
      ).value
 | 
						|
      ('.', 'NVARCHAR(MAX)'), 1, 0, ''
 | 
						|
    )
 | 
						|
    ,cimTipusa.C_NAME
 | 
						|
  FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @csoportid) temp
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa
 | 
						|
      AND cimTipusa.C_TANEVID = @tanevId
 | 
						|
 | 
						|
  INSERT INTO @GondViseloCimTable (
 | 
						|
     GondviseloId
 | 
						|
    ,Cim
 | 
						|
    ,Cimtipusa
 | 
						|
  )
 | 
						|
  SELECT DISTINCT
 | 
						|
     GondviseloId
 | 
						|
    ,STUFF(
 | 
						|
      (
 | 
						|
        SELECT DISTINCT
 | 
						|
          CAST(Btemp.Cim AS nvarchar (max))  + char(13) + char(10)
 | 
						|
        FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportid) btemp
 | 
						|
        WHERE temp.GondviseloId = btemp.GondviseloId
 | 
						|
          AND temp.CimTipusa = btemp.CimTipusa
 | 
						|
        FOR XML PATH(''), TYPE
 | 
						|
      ).value
 | 
						|
      ('.', 'NVARCHAR(MAX)'), 1 ,0, ''
 | 
						|
    )
 | 
						|
    ,cimTipusa.C_NAME
 | 
						|
  FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportid) temp
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa
 | 
						|
       AND cimTipusa.C_TANEVID = @tanevId
 | 
						|
 | 
						|
  INSERT INTO @EmailCimTableTemp (
 | 
						|
     FelhasznaloId
 | 
						|
    ,EmailCim
 | 
						|
    ,GondviseloId
 | 
						|
  )
 | 
						|
  SELECT
 | 
						|
     TanuloId
 | 
						|
    ,C_EMAILCIM
 | 
						|
    ,C_GONDVISELOID
 | 
						|
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
 | 
						|
    INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
 | 
						|
  WHERE email.TOROLT = 'F'
 | 
						|
    AND email.C_TANEVID = @tanevId
 | 
						|
    AND LEN(C_EMAILCIM) > 0
 | 
						|
 | 
						|
  INSERT INTO @EmailCimTanuloTable (
 | 
						|
     FelhasznaloId
 | 
						|
    ,EmailCim
 | 
						|
  )
 | 
						|
  SELECT DISTINCT
 | 
						|
    FelhasznaloId
 | 
						|
    ,STUFF(
 | 
						|
      (
 | 
						|
        SELECT DISTINCT
 | 
						|
          CAST(btemp.EmailCim AS nvarchar (max)) + char(13) + char(10)
 | 
						|
        FROM @EmailCimTableTemp btemp
 | 
						|
        WHERE temp.FelhasznaloId = btemp.FelhasznaloId
 | 
						|
          AND btemp.GondviseloId IS NULL
 | 
						|
        FOR XML PATH(''), TYPE
 | 
						|
      ).value
 | 
						|
      ('.', 'NVARCHAR(MAX)'), 1 ,0, ''
 | 
						|
    ) Email
 | 
						|
  FROM @EmailCimTableTemp temp
 | 
						|
  WHERE GondviseloId IS NULL
 | 
						|
 | 
						|
  INSERT INTO @EmailCimGondviseloTable (
 | 
						|
     GondviseloId
 | 
						|
    ,EmailCim
 | 
						|
  )
 | 
						|
  SELECT DISTINCT
 | 
						|
    GondviseloId
 | 
						|
    ,STUFF(
 | 
						|
      (
 | 
						|
        SELECT DISTINCT
 | 
						|
          CAST(btemp.EmailCim AS nvarchar (max)) + char(13) + char(10)
 | 
						|
        FROM @EmailCimTableTemp btemp
 | 
						|
        WHERE temp.GondviseloId = btemp.GondviseloId
 | 
						|
          AND btemp.GondviseloId IS NOT NULL
 | 
						|
        FOR XML PATH(''), TYPE
 | 
						|
      ).value
 | 
						|
      ('.', 'NVARCHAR(MAX)'), 1 ,0, ''
 | 
						|
    ) Email
 | 
						|
  FROM @EmailCimTableTemp temp
 | 
						|
  WHERE GondviseloId IS NOT NULL
 | 
						|
 | 
						|
  INSERT INTO @TelefonTableTemp (
 | 
						|
     FelhasznaloId
 | 
						|
    ,Telefon
 | 
						|
    ,GondviseloId
 | 
						|
  )
 | 
						|
  SELECT
 | 
						|
    TanuloId
 | 
						|
    ,C_TELEFONSZAM
 | 
						|
    ,C_GONDVISELOID
 | 
						|
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
 | 
						|
    INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
 | 
						|
  WHERE
 | 
						|
    telefon.TOROLT = 'F'
 | 
						|
    AND telefon.C_TANEVID = @tanevId
 | 
						|
    AND LEN(telefon.C_TELEFONSZAM) > 0
 | 
						|
 | 
						|
  INSERT INTO @TanuloTelefonTable (
 | 
						|
     FelhasznaloId
 | 
						|
    ,Telefon
 | 
						|
  )
 | 
						|
  SELECT DISTINCT
 | 
						|
    FelhasznaloId
 | 
						|
    ,STUFF(
 | 
						|
      (
 | 
						|
        SELECT DISTINCT
 | 
						|
          CAST(btemp.Telefon AS nvarchar (max)) + char(13) + char(10)
 | 
						|
        FROM @TelefonTableTemp btemp
 | 
						|
        WHERE temp.FelhasznaloId = btemp.FelhasznaloId
 | 
						|
          AND GondviseloId IS NULL
 | 
						|
        FOR XML PATH(''), TYPE
 | 
						|
      ).value
 | 
						|
      ('.', 'NVARCHAR(MAX)'), 1 ,0, ''
 | 
						|
    )
 | 
						|
  FROM @TelefonTableTemp temp
 | 
						|
  WHERE GondviseloId IS NULL
 | 
						|
 | 
						|
  INSERT INTO @GondviseloTelefonTable (
 | 
						|
     GondviseloId
 | 
						|
    ,Telefon
 | 
						|
  )
 | 
						|
  SELECT DISTINCT
 | 
						|
     GondviseloId
 | 
						|
    ,STUFF(
 | 
						|
      (
 | 
						|
        SELECT DISTINCT
 | 
						|
          CAST(btemp.Telefon AS nvarchar (max)) + char(13) + char(10)
 | 
						|
        FROM @TelefonTableTemp btemp
 | 
						|
        WHERE temp.GondviseloId = btemp.GondviseloId
 | 
						|
          AND temp.FelhasznaloId = btemp.FelhasznaloId
 | 
						|
          AND GondviseloId IS NOT NULL
 | 
						|
        FOR XML PATH(''), TYPE
 | 
						|
      ).value
 | 
						|
      ('.', 'NVARCHAR(MAX)'), 1 ,0, ''
 | 
						|
    )
 | 
						|
  FROM @TelefonTableTemp temp
 | 
						|
  WHERE GondviseloId IS NOT NULL
 | 
						|
 | 
						|
  SELECT
 | 
						|
     s.Id AS tanuloid
 | 
						|
    ,cim.Cimtipusa AS cimtipus
 | 
						|
    ,cim.Cim
 | 
						|
    ,email.EmailCim AS email
 | 
						|
    ,telefon.Telefon AS telefonszam
 | 
						|
  FROM #students s
 | 
						|
    LEFT JOIN @TanuloCimTable cim ON cim.FelhasznaloId = s.Id
 | 
						|
    LEFT JOIN @EmailCimTanuloTable email ON email.FelhasznaloId = s.Id
 | 
						|
    LEFT JOIN @TanuloTelefonTable telefon ON telefon.FelhasznaloId = s.Id
 | 
						|
  ORDER BY Cimtipusa
 | 
						|
 | 
						|
  SELECT
 | 
						|
     DATEPART(MONTH, Datum) AS Honap
 | 
						|
    ,TantargyId AS Id
 | 
						|
    ,Igazolt AS IgazoltE
 | 
						|
    ,TanuloId AS TanuloId
 | 
						|
    ,TanuloCsoportId AS TanuloCsoportId
 | 
						|
    ,IgazolasTipusa AS IgazolasTipus
 | 
						|
    ,Datum AS Datum
 | 
						|
    ,Tipusa AS Tipus
 | 
						|
    ,KesesPercben AS KesesPercben
 | 
						|
    ,HetSorszama AS HetSorszama
 | 
						|
    ,Oraszam AS Oraszam
 | 
						|
    ,CAST(DATEPART(MONTH, Datum) AS nvarchar (10)) + IIF(C_GYAKORLATI = 'T', 'G', 'E') AS ElmeletGyakorlat
 | 
						|
    ,C_GYAKORLATI AS isGyakorlat
 | 
						|
  INTO #mulasztasTmp
 | 
						|
  FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes(@tanevId, @csoportId, @iskolaErdekuSzamit, 1, 0, DEFAULT, DEFAULT, 0) TanulokMulasztasai
 | 
						|
    INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId
 | 
						|
 | 
						|
  EXEC sp_GetDokumentumMulasztasokIdoszakonkent
 | 
						|
     @tanevId = @tanevId
 | 
						|
    ,@osztalyCsoportId = @csoportId
 | 
						|
    ,@iskolaErdekuSzamit = @iskolaErdekuSzamit
 | 
						|
    ,@isReszletesMulasztasok = @isreszletesmulasztasok
 | 
						|
 | 
						|
  DECLARE @gondviselok TABLE (Id INT)
 | 
						|
  INSERT INTO @gondviselok
 | 
						|
  SELECT
 | 
						|
    GondviseloId
 | 
						|
  FROM fnGetDokumentumGondviselok(@csoportId, @tanevId, 'F', 'T')
 | 
						|
 | 
						|
  /*gondviselő elérhetőségei */
 | 
						|
  SELECT DISTINCT
 | 
						|
     Gondviselok.TanuloId AS TanuloId
 | 
						|
    ,Gondviselok.GondviseloNev + ' (' + RokonsagiFok.C_NAME + ')' AS C_NEV
 | 
						|
    ,cim.Cimtipusa AS C_CIMTIPUSA
 | 
						|
    ,cim.cim AS C_OSSZETETTCIM
 | 
						|
    ,telefon.telefon AS C_TELEFONSZAM
 | 
						|
    ,email.emailcim AS C_EMAILCIM
 | 
						|
  FROM fnGetDokumentumGondviselok (@csoportId, @tanevId, 'F', 'T') Gondviselok
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFok ON RokonsagiFok.ID = Gondviselok.RokonsagifokId AND RokonsagiFok.C_TANEVID = @tanevId
 | 
						|
    LEFT JOIN @EmailCimGondviseloTable email ON email.GondviseloId = Gondviselok.GondviseloId
 | 
						|
    LEFT JOIN @GondviseloTelefonTable telefon ON telefon.GondviseloId = Gondviselok.GondviseloId
 | 
						|
    LEFT JOIN @GondViseloCimTable cim ON cim.GondviseloId = Gondviselok.GondviseloId
 | 
						|
  ORDER BY cim.Cimtipusa
 | 
						|
 | 
						|
  /*TANULÓ osztályzatai*/
 | 
						|
  SELECT
 | 
						|
     Datum
 | 
						|
    ,TipusId
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,ErtekelesSzoveg
 | 
						|
	,ErtekelesSzovegFormazott
 | 
						|
    ,ErtekelesSzovegRovidNev
 | 
						|
    ,ErtekelesOsztalyzatId
 | 
						|
    ,ErtekelesOsztalyzatValue
 | 
						|
    ,ErtekelesOsztalyzatNev
 | 
						|
    ,ErtekelesSzazalek
 | 
						|
    ,MagatartasOsztalyzatId
 | 
						|
    ,MagatartasOsztalyzatNev
 | 
						|
    ,MagatartasSzoveg
 | 
						|
    ,MagatartasErtekId
 | 
						|
    ,MagatartasErtek
 | 
						|
    ,SzorgalomOsztalyzatId
 | 
						|
    ,SzorgalomOsztalyzatNev
 | 
						|
    ,SzorgalomSzoveg
 | 
						|
    ,SzorgalomErtekId
 | 
						|
    ,SzorgalomErtek
 | 
						|
    ,TanuloId
 | 
						|
    ,OsztalyCsoportId
 | 
						|
    ,TantargyId
 | 
						|
    ,TantargyNevZarojellel
 | 
						|
    ,TantargyNev
 | 
						|
    ,TantargyNevNyomtatvanyban
 | 
						|
    ,TargyKategoriaId
 | 
						|
    ,FotargyE
 | 
						|
    ,FotargyId
 | 
						|
    ,Altantargy
 | 
						|
    ,ErtekelesTema
 | 
						|
    ,Jeloles
 | 
						|
    ,JelolesAndErtekelesTema
 | 
						|
    ,isMagatartasSzorgalom
 | 
						|
    ,RENDEZ1
 | 
						|
    ,RENDEZ2
 | 
						|
    ,RENDEZ3
 | 
						|
    ,RENDEZ4
 | 
						|
    ,RENDEZ5
 | 
						|
  INTO #ErtekelesekTemp
 | 
						|
  FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevId, @csoportId, DEFAULT, 0, 1, DEFAULT, DEFAULT)
 | 
						|
  WHERE OsztalyCsoportId = @csoportId
 | 
						|
 | 
						|
  EXEC sp_GetDokumentumErtekelesekIdoszakonkent
 | 
						|
     @tanevId = @tanevId
 | 
						|
    ,@osztalyCsoportId = @csoportid
 | 
						|
    ,@ertekelesTipusa = NULL
 | 
						|
    ,@csakTanorai = 0
 | 
						|
    ,@csakKivlasztottOsztalyCsoport	= 1
 | 
						|
    ,@atsoroltTanuloErtekelesek = 0
 | 
						|
    ,@fuggolegesTantargyak = 0
 | 
						|
    ,@intezmenyId = @intezmenyid
 | 
						|
 | 
						|
  /*Szöveges minősítések*/
 | 
						|
  SELECT
 | 
						|
    a.tanuloId
 | 
						|
    ,a.TanuloCsoportId
 | 
						|
    ,a.Honap
 | 
						|
    ,a.Tantargy
 | 
						|
    ,a.Ertekeles
 | 
						|
    ,a.Tipus
 | 
						|
  FROM (
 | 
						|
    SELECT
 | 
						|
       s.Id tanuloId
 | 
						|
      ,s.TanuloCsoportId
 | 
						|
      ,szoveges.Honap
 | 
						|
      ,szoveges.Tantargy
 | 
						|
      ,szoveges.Ertekeles
 | 
						|
      ,szoveges.Tipus
 | 
						|
      ,szoveges.RendezHonap
 | 
						|
    FROM #studentsWithTanuloCsoport s
 | 
						|
      LEFT JOIN (
 | 
						|
        SELECT
 | 
						|
           TanuloId tanuloId
 | 
						|
          ,TanuloCsoportId
 | 
						|
          ,'[' + CONVERT(nvarchar (max), DATEPART(MONTH, Datum)) + '. hónap]' AS Honap
 | 
						|
          ,IIF(TantargyNev <> TantargyNevNyomtatvanyban AND TantargyNevNyomtatvanyban IS NOT NULL, TantargyNevNyomtatvanyban + ' (' + TantargyNev + ')', TantargyNev) AS Tantargy
 | 
						|
          ,ErtekelesSzovegFormazott + Jeloles AS Ertekeles
 | 
						|
          ,ErtekelesTipusDictionary.C_NAME AS Tipus
 | 
						|
          ,CASE
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 1 THEN 5
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 2 THEN 6
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 3 THEN 7
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 4 THEN 8
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 5 THEN 9
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 6 THEN 10
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 7 THEN 11
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 8 THEN 12
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 9 THEN  1
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 10 THEN 2
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 11 THEN 3
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 12 THEN 4
 | 
						|
          END AS RendezHonap
 | 
						|
        FROM #ErtekelesekTemp ErtekelesTemp
 | 
						|
          INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId
 | 
						|
            AND ErtekelesTipusDictionary.C_TANEVID = @tanevId
 | 
						|
        WHERE
 | 
						|
          ErtekelesSzoveg IS NOT NULL
 | 
						|
      ) szoveges ON szoveges.TANULOID = s.Id
 | 
						|
        AND s.TanuloCsoportId = szoveges.TanuloCsoportId
 | 
						|
  ) a
 | 
						|
  ORDER BY
 | 
						|
     RendezHonap
 | 
						|
    ,Tantargy
 | 
						|
 | 
						|
  SELECT
 | 
						|
     COUNT(DISTINCT Id) TanulokSzama
 | 
						|
    ,Osztaly
 | 
						|
  FROM #studentsWithTanuloCsoport
 | 
						|
  GROUP BY Osztaly
 | 
						|
 | 
						|
  --értékelésekhez tartozó feljegyzések
 | 
						|
  SELECT DISTINCT
 | 
						|
     TanuloId
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,STUFF(
 | 
						|
      (
 | 
						|
        SELECT DISTINCT
 | 
						|
          ', ' +  JelolesAndErtekelesTema
 | 
						|
        FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
 | 
						|
        WHERE LEN(JelolesAndErtekelesTema) > 0
 | 
						|
          AND ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId
 | 
						|
          AND ErtekelesTemavalOsszefuz.ErtekelesSzoveg IS NULL
 | 
						|
          AND ErtekelesTemavalOsszefuz.MagatartasSzoveg IS NULL
 | 
						|
          AND ErtekelesTemavalOsszefuz.SzorgalomSzoveg IS NULL
 | 
						|
        FOR XML PATH(''), TYPE
 | 
						|
      ).value('.', 'NVARCHAR(MAX)'), 1, 2, ''
 | 
						|
    ) AS JelolesTemaval
 | 
						|
  FROM #ErtekelesekTemp  ErtekelesTemaval
 | 
						|
  WHERE LEN(JelolesAndErtekelesTema) > 0
 | 
						|
    AND ErtekelesTemaval.ErtekelesSzoveg IS NULL
 | 
						|
    AND ErtekelesTemaval.MagatartasSzoveg IS NULL
 | 
						|
    AND ErtekelesTemaval.SzorgalomSzoveg IS NULL
 | 
						|
 | 
						|
  --megtartott órák száma
 | 
						|
  SELECT
 | 
						|
     COUNT(mo.TantargyId) AS TantargyOraszam
 | 
						|
    ,mo.Tantargynev AS TantargyNev
 | 
						|
  INTO #megtartottOrakSzama
 | 
						|
  FROM #megtartottOrak mo
 | 
						|
  WHERE mo.Megtartott = 'T'
 | 
						|
  GROUP BY
 | 
						|
     mo.TantargyId
 | 
						|
    ,mo.TantargyNev
 | 
						|
 | 
						|
  SELECT DISTINCT
 | 
						|
     SUM(tmp.TantargyOraszam) AS OsszesTantargySzam
 | 
						|
    ,STUFF(
 | 
						|
      (
 | 
						|
        SELECT DISTINCT
 | 
						|
          ', ' + btmp.TantargyNev + '(' + CAST(btmp.TantargyOraszam AS nvarchar (max)) + ')'
 | 
						|
        FROM #megtartottOrakSzama btmp
 | 
						|
        FOR XML PATH(''), TYPE
 | 
						|
      ).value('.', 'NVARCHAR(MAX)'), 1 , 2, ''
 | 
						|
    ) AS Tantargyak
 | 
						|
  FROM #megtartottOrakSzama tmp
 | 
						|
 | 
						|
  -- Csoport tanárai
 | 
						|
  SELECT
 | 
						|
     targy.C_NEV AS TargyNev
 | 
						|
    ,tanar.C_NYOMTATASINEV AS TanarNev
 | 
						|
    ,targykategoria.C_ORDER
 | 
						|
    ,tanar.ID TanarId
 | 
						|
    ,tanar.C_OKTATASIAZONOSITO AS TanarOktAzon
 | 
						|
  FROM T_FELHASZNALO_OSSZES tanar
 | 
						|
    INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANARID = tanar.ID
 | 
						|
      AND f.TOROLT='F'
 | 
						|
      AND f.C_OSZTALYCSOPORTID = @csoportId
 | 
						|
    INNER JOIN T_TANTARGY_OSSZES targy ON targy.ID = f.C_TANTARGYID
 | 
						|
      AND targy.TOROLT='F'
 | 
						|
    INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES ON T_TARGYKATEGORIATIPUS_OSSZES.ID = targy.C_TARGYKATEGORIA
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES targykategoria ON targykategoria.ID = T_TARGYKATEGORIATIPUS_OSSZES.ID
 | 
						|
      AND targykategoria.TOROLT = 'F'
 | 
						|
      AND targykategoria.C_TANEVID = @tanevId
 | 
						|
  WHERE tanar.TOROLT = 'F'
 | 
						|
    AND tanar.C_INTEZMENYID = @intezmenyid
 | 
						|
    AND tanar.c_tanevId = @tanevId
 | 
						|
  GROUP BY
 | 
						|
     C_ORDER
 | 
						|
    ,targy.C_NEV
 | 
						|
    ,tanar.C_NYOMTATASINEV
 | 
						|
    ,tanar.ID
 | 
						|
    ,tanar.C_OKTATASIAZONOSITO
 | 
						|
  ORDER BY
 | 
						|
     C_ORDER
 | 
						|
    ,targy.C_NEV
 | 
						|
    ,tanar.C_NYOMTATASINEV
 | 
						|
 | 
						|
  DROP TABLE #megtartottOrakSzama
 | 
						|
  DROP TABLE #students
 | 
						|
  DROP TABLE #Tantargyak
 | 
						|
 | 
						|
END
 | 
						|
GO
 |