SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('[dbo].[sp_GetCsoportNaplo]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[sp_GetCsoportNaplo] END GO CREATE PROCEDURE [dbo].[sp_GetCsoportNaplo] @tanevId INT, @intezmenyid INT, @csoportId INT, @iskolaErdekuSzamit BIT, @isGyakorlatiTargyak BIT, @isElmeletiTargyak BIT AS BEGIN SET NOCOUNT ON; DECLARE @isreszletesmulasztasok BIT = 0 DECLARE @isGyakorlatVagyElmelet BIT /*0 csak elmeleti || 1 csak gyakorlati || NULL elmeleti és gyakorlati*/ DECLARE @isGyakorlatVagyElmeletFalse BIT = NULL 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 --Kezdőoldal SELECT ia.C_NEV IntezmenyNev ,dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCim ,ia.C_OMKOD OMKOD ,ia.C_IGAZGATONEVE IntezmenyVezeto ,ocs.C_NEV Csoport ,ocs.ID CsoportId ,ISNULL(f.C_NYOMTATASINEV,'-') CsoportVezeto ,ISNULL(cs.C_CSOPORTNAPLOLEIRAS,'-') CsoportNaploLeiras ,FORMAT(cs.C_CSOPORTNAPLOMEGNYITASA, 'yyyy. MMMM dd.', 'hu-hu') Megnyitas ,ISNULL(FORMAT(cs.C_CSOPORTNAPLOZARASA, 'yyyy. MMMM dd.', 'hu-hu'),'-') Lezaras ,ocs.C_EVFOLYAMTIPUSA EvfolyamTipusa ,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId ,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves ,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu ,cs.C_TIPUSA 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,'-') 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 TanuloId Id ,TanuloCsoportId ,Sorszam ,TorzslapSzam ,OktAzon ,TajSzam ,AnyjaNeve ,SzulHely ,SzulIdo ,SocAdat ,Kepzes ,TanuloNeve ,Allampolgarsaga ,DiakIgazolvanySzam ,KilepesDatum ,BeirasiNaploSorszam ,AktualisOsztaly Osztaly ,AktualisOsztalyId OsztalyId INTO #studentsWithTanuloCsoport FROM fnGetDokumentumTanulokAdatai(@tanevId, @csoportId) SELECT Id ,Osztaly ,OktAzon ,TanuloNeve Nev FROM #studentsWithTanuloCsoport SELECT DISTINCT Id INTO #students FROM #studentsWithTanuloCsoport --Napló adatok DECLARE @TanitasiNapTipusok TABLE (Id INT) INSERT INTO @TanitasiNapTipusok SELECT DISTINCT ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE ID IN (1385, 1393, 1394, 1395, 1400, 1402, 1403, 1404) DECLARE @ElsoNapTanevRendje DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1394 AND C_TANEVID = @tanevId AND TOROLT = 'F') DECLARE @UtolsoNapTanevRendje DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F') DECLARE @ElsoNapTanev DATE = (SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F') DECLARE @UtolsoNapTanev DATE = (SELECT TOP 1 C_UTOLSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F') DECLARE @isVegzos VARCHAR(1) = (SELECT TOP 1 C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @csoportId) DECLARE @VegzosUtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND C_NAPTIPUSA = 1402 AND TOROLT = 'F') DECLARE @NapSorszam TABLE (Datum DATE, Sorszam NVARCHAR(4)) INSERT INTO @NapSorszam 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) DECLARE @datum DATE = GETDATE() CREATE TABLE #OraSorszam (TanitasioraId INT PRIMARY KEY, OraSorszam INT) INSERT INTO #OraSorszam EXEC sp_GetOraSorszamByOsztaly @osztalyCsoportId = @csoportId, @datum = @datum, @intezmenyId = @intezmenyId, @tanevId = @tanevId SELECT tao.Id TanitasioraId ,tao.C_DATUM Datum ,CONVERT(VARCHAR(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(VARCHAR(5), tao.C_ORAVEGE, 108) KezdetVeg ,C_ORATULAJDONOSID PedagogusId ,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, pedagogus.C_NYOMTATASINEV) PedagogusNev ,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam),'-'), '-') OraSorszam ,IIF(C_MEGTARTOTT = 'T', REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), 'Elmaradt') Tema ,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam),'-') +'.: ' + REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), 'Elmaradt') TemaOraSzammal ,tao.C_HETNAPJA HetNapja ,C_HETSORSZAMA HetSorszama ,C_MEGTARTOTT Megtartott ,C_TANTARGYID TantargyId ,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) Tantargynev ,C_OSZTALYCSOPORTID OsztalyCsoportId ,C_NAPSORSZAMA NapSorszama ,C_ORAKEZDETE 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' SELECT nn.C_HETSORSZAMA Het ,FORMAT(MIN(nn.C_NAPDATUMA), 'yyyy.MM.dd.') HetEleje ,FORMAT(MAX(nn.C_NAPDATUMA), 'yyyy.MM.dd.') HetVege 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) SELECT DISTINCT nn.C_HETSORSZAMA Het ,NapDictionary.C_NAME Nap ,FORMAT(nn.C_NAPDATUMA, 'yyyy. MMMM dd.', 'hu-hu') 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_orarendinap='T' AND nn.c_napdatuma >= ISNULL(@ElsoNapTanevRendje, @ElsoNapTanev) AND nn.c_napdatuma <= ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev) ORDER BY nn.C_HETSORSZAMA, nn.C_NAPDATUMA SELECT mto.Datum C_NAPDATUMA ,FORMAT(mto.Datum, 'dddd', 'hu-hu') Napneve ,null C_MEGJEGYZES ,nh.C_HETKEZDONAPJA C_HETKEZDONAPJA ,nh.C_HETUTOLSONAPJA C_HETUTOLSONAPJA ,HetSorszama C_HETSORSZAMA ,KezdetVeg KezdetVeg ,nsz.Sorszam Napszam ,Tantargynev Tantargy ,PedagogusNev Tanar ,Tema Oraanyaga ,OraSorszam C_ORAEVESSORSZAM ,Kezdete 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 IF(@isGyakorlatVagyElmeletFalse IS NULL) BEGIN IF((@isGyakorlatVagyElmelet = 1) OR (@isGyakorlatVagyElmelet = 0) OR (@isGyakorlatVagyElmelet IS NULL)) BEGIN SELECT DISTINCT FORMAT(C_NAPDATUMA, 'yyyy. MMMM dd.', 'hu-hu') Datum , napneve , c_megjegyzes , c_hetkezdonapja , c_hetutolsonapja , c_hetsorszama , KezdetVeg , napszam , STUFF((SELECT ' | ' + CAST(bszov.TANTARGY AS VARCHAR(max)) FROM #szoveges bszov WHERE bszov.C_NAPDATUMA=szov.C_NAPDATUMA and bszov.KezdetVeg=szov.KezdetVeg and bszov.napszam=szov.napszam FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,3,'') TANTARGY , STUFF((SELECT ' | ' + CAST(bszov.TANAR AS VARCHAR(max)) FROM #szoveges bszov WHERE bszov.C_NAPDATUMA=szov.C_NAPDATUMA and bszov.KezdetVeg=szov.KezdetVeg and bszov.napszam=szov.napszam FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,3,'') TANAR , STUFF((SELECT ' | ' + CAST(bszov.ORAANYAGA AS VARCHAR(max)) FROM #szoveges bszov WHERE bszov.C_NAPDATUMA=szov.C_NAPDATUMA and bszov.KezdetVeg=szov.KezdetVeg and bszov.napszam=szov.napszam FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,3,'') ORAANYAGA , STUFF((SELECT ' | ' + CAST(bszov.C_ORAEVESSORSZAM AS VARCHAR(max)) FROM #szoveges bszov WHERE bszov.C_NAPDATUMA=szov.C_NAPDATUMA and bszov.KezdetVeg=szov.KezdetVeg and bszov.napszam=szov.napszam FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,3,'') OraEvesSorszama ,Kezdete ,C_NAPDATUMA FROM #szoveges szov ORDER BY C_NAPDATUMA, Kezdete END END ELSE IF(@isGyakorlatVagyElmeletFalse = 0) BEGIN SELECT '' Datum, '' napneve, '' c_megjegyzes, '' c_hetkezdonapja, '' c_hetutolsonapja, '' c_hetsorszama, '' KezdetVeg, '' napszam, '' TANTARGY,'' TANAR,'' ORAANYAGA,'' OraEvesSorszama,'' Kezdete END /*Hiányzások*/ SELECT C_HETSORSZAMA, C_NYOMTATASINEV, MAX([1]) AS [Hetfo], MAX([2]) AS [Kedd], MAX([3]) AS [Szerda], MAX([4]) AS [Csutortok], MAX([5]) AS [Pentek], MAX([6]) AS [Szombat] FROM ( SELECT C_HETSORSZAMA, C_NYOMTATASINEV, [0], [1], [2], [3], [4], [5], [6] FROM ( SELECT DISTINCT n.C_NAPTARINAPID, DATEPART(dw,n.C_DATUM) AS NAP, t.C_NYOMTATASINEV, 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 ([0], [1], [2], [3], [4], [5], [6]) ) AS PivotTable ) AS ASD GROUP BY C_HETSORSZAMA, C_NYOMTATASINEV ORDER BY C_HETSORSZAMA /*TANULÓ adatai*/ SELECT Id TanuloId ,TanuloCsoportId ,Sorszam ,TorzslapSzam ,OktAzon ,TajSzam ,AnyjaNeve ,SzulHely ,SzulIdo ,SocAdat ,Kepzes ,TanuloNeve ,Allampolgarsaga ,DiakIgazolvanySzam ,KilepesDatum ,BeirasiNaploSorszam ,Osztaly ,OsztalyId FROM #studentsWithTanuloCsoport /*TANULÓ elérhetőségei */ DECLARE @TanuloCimTable TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX)) INSERT INTO @TanuloCimTable 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 DECLARE @GondViseloCimTable TABLE (GondviseloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX)) INSERT INTO @GondViseloCimTable 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 DECLARE @EmailCimTableTemp TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX), GondviseloId INT) INSERT INTO @EmailCimTableTemp 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 DECLARE @EmailCimTanuloTable TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX)) INSERT INTO @EmailCimTanuloTable 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 DECLARE @EmailCimGondviseloTable TABLE (GondviseloId INT, EmailCim NVARCHAR(MAX)) INSERT INTO @EmailCimGondviseloTable 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 DECLARE @TelefonTableTemp TABLE (FelhasznaloId INT, Telefon NVARCHAR(MAX), GondviseloId INT) INSERT INTO @TelefonTableTemp 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 DECLARE @TanuloTelefonTable TABLE (FelhasznaloId INT, Telefon NVARCHAR(MAX)) INSERT INTO @TanuloTelefonTable 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 DECLARE @GondviseloTelefonTable TABLE (GondviseloId INT, Telefon NVARCHAR(MAX)) INSERT INTO @GondviseloTelefonTable 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 tanuloid ,cim.Cimtipusa cimtipus ,cim.Cim ,email.EmailCim email ,telefon.Telefon 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 /* TANULO mulasztása */ DECLARE @Mulasztasok TABLE ( IgazoltE nvarchar(1), Tanulo int, Tipus int) --Félév kezdete DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F') SELECT DATEPART(MONTH, Datum) Honap ,TantargyId Id ,Igazolt IgazoltE ,TanuloId TanuloId ,TanuloCsoportId TanuloCsoportId ,IgazolasTipusa IgazolasTipus ,Datum Datum ,Tipusa Tipus ,KesesPercben KesesPercben ,HetSorszama HetSorszama ,Oraszam Oraszam ,CAST(DATEPART(MONTH, Datum) AS NVARCHAR(10)) + IIF(C_GYAKORLATI = 'T', 'G', 'E') ElmeletGyakorlat ,C_GYAKORLATI 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 Gondviselo.TanuloId TanuloId ,Gondviselo.Gondviselonev C_NEV ,cim.Cimtipusa C_CIMTIPUSA ,cim.cim C_OSSZETETTCIM ,telefon.telefon C_TELEFONSZAM ,email.emailcim C_EMAILCIM FROM fnGetDokumentumGondviselok (@csoportId, @tanevId, 'F', 'T') Gondviselo LEFT JOIN @EmailCimGondviseloTable email ON email.GondviseloId = Gondviselo.GondviseloId LEFT JOIN @GondviseloTelefonTable telefon ON telefon.GondviseloId = Gondviselo.GondviseloId LEFT JOIN @GondViseloCimTable cim ON cim.GondviseloId = Gondviselo.GondviseloId ORDER BY Cimtipusa /*TANULÓ osztályzatai*/ SELECT Datum ,TipusId ,TanuloCsoportId ,ErtekelesSzoveg ,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 INTO #ErtekelesekTemp FROM fnGetDokumentumErtekelesekOsztalyonkent (@tanevId, @csoportId, DEFAULT, 0, 1, DEFAULT) WHERE OsztalyCsoportId = @csoportId EXEC sp_GetDokumentumErtekelesekIdoszakonkent @tanevId = @tanevId, @osztalyCsoportId = @csoportid, @ertekelesTipusa = NULL, @csakTanorai = 0, @csakKivlasztottOsztalyCsoport = 1, @atsoroltTanuloErtekelesek = 0, @fuggolegesTantargyak = 0 /*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]' Honap ,IIF(TantargyNev <> TantargyNevNyomtatvanyban AND TantargyNevNyomtatvanyban IS NOT NULL, TantargyNevNyomtatvanyban + ' (' + TantargyNev + ')', TantargyNev) Tantargy ,ErtekelesSzoveg + Jeloles Ertekeles ,ErtekelesTipusDictionary.C_NAME 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,'') 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(TantargyId) TantargyOraszam ,Tantargynev TantargyNev INTO #megtartottOrakSzama FROM #megtartottOrak WHERE Megtartott = 'T' GROUP BY TantargyId, TantargyNev SELECT DISTINCT SUM(tmp.TantargyOraszam) OsszesTantargySzam ,STUFF(( SELECT DISTINCT ', ' + btmp.TantargyNev + '(' + CAST(btmp.TantargyOraszam AS NVARCHAR(MAX)) + ')' FROM #megtartottOrakSzama btmp FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,2,'') Tantargyak FROM #megtartottOrakSzama tmp -- Csoport tanárai SELECT targy.C_NEV TargyNev ,tanar.C_NYOMTATASINEV TanarNev ,targykategoria.C_ORDER ,tanar.ID TanarId ,tanar.C_OKTATASIAZONOSITO 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 f.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 END GO