SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('[dbo].[sp_GetEvvegiErtesito]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[sp_GetEvvegiErtesito] END GO -- ============================================= -- Author: Hoffmann Zsolt -- Create date: 2015.12.22. -- Description: Évvégi értesítő nyomtatvány. -- ============================================= CREATE PROCEDURE [sp_GetEvvegiErtesito] @tanevId int, @osztalyId int AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- fejléc SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve, T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM IntezmenyIranyitoszam, T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros, T_INTEZMENYADATOK_OSSZES.C_CIME IntezmenyCime, T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON, T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM, T_INTEZMENYADATOK_OSSZES.C_OMKOD OMkod, T_TANEV_OSSZES.C_NEV TANEV, (SELECT C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE ID=@osztalyId) PartnerID, (SELECT OFO.C_NYOMTATASINEV FROM T_OSZTALY_OSSZES JOIN T_FELHASZNALO_OSSZES OFO ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID WHERE T_OSZTALY_OSSZES.ID=@osztalyId) OSZTALYFONOK, (SELECT T_OSZTALYCSOPORT_OSSZES.C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE T_OSZTALYCSOPORT_OSSZES.ID=@osztalyId) OSZTALYNEV FROM T_INTEZMENYADATOK_OSSZES INNER JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.TOROLT = 'F' WHERE T_TANEV_OSSZES.ID = @tanevId ---------- TANULÓK SELECT T_FELHASZNALO_OSSZES.ID TANULOID, T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TANULONEV, T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO OKTATASIAZONOSITO FROM T_FELHASZNALO_OSSZES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (C_KILEPESDATUM is null or C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID WHERE TOROLT='F' and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId and T_FELHASZNALO_OSSZES.C_TANEVID = @tanevId ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV ---- ÉRTÉKELÉSEK SELECT ERTEKELES.C_TANULOID TANULOID, 'MAGATARTAS' TARGYNEV, OSZTALYZAT.MAGATARTAS FELEVIERTEKELES, ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES FROM T_TANULOERTEKELES_OSSZES ERTEKELES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID LEFT JOIN (SELECT ID, C_MAGATARTAS MAGATARTAS FROM T_OSZTALYFONOKIERTEKELES_OSSZES) OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND ERTEKELES.TOROLT = 'F' and ERTEKELES.C_TANEVID = @tanevId and ERTEKELES.C_ERTEKELESTIPUSA = 1520 AND OSZTALYZAT.MAGATARTAS IS NOT NULL -- ÉVVÉGI UNION ALL SELECT ERTEKELES.C_TANULOID TANULOID, 'SZORGALOM' TARGYNEV, OSZTALYZAT.SZORGALOM FELEVIERTEKELES, ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES FROM T_TANULOERTEKELES_OSSZES ERTEKELES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID LEFT JOIN (SELECT ID, C_SZORGALOM SZORGALOM FROM T_OSZTALYFONOKIERTEKELES_OSSZES ) OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND ERTEKELES.TOROLT = 'F' and ERTEKELES.C_TANEVID = @tanevId and ERTEKELES.C_ERTEKELESTIPUSA = 1520 AND OSZTALYZAT.SZORGALOM IS NOT NULL -- ÉVVÉGI UNION ALL SELECT ERTEKELES.C_TANULOID TANULOID, TARGY.TARGYNEV TARGYNEV, ERTEKELES.C_OSZTALYZAT FELEVIERTEKELES, ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES FROM T_TANULOERTEKELES_OSSZES ERTEKELES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT FROM T_TANTARGY_OSSZES) TARGY ON TARGY.ID = ERTEKELES.C_TANTARGYID WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND ERTEKELES.TOROLT = 'F' and ERTEKELES.C_TANEVID = @tanevId and TARGY.KAT != 1248 and--Osztályfőnöki nem jelenítődik meg ERTEKELES.C_ERTEKELESTIPUSA = 1520 -- ÉVVÉGI ORDER BY TANULOID, TARGYNEV ----ÉVVÉGI ÉRTÉKELÉS ÖSSZEGZÉS SELECT ERTEKELES.C_TANULOID TANULOID, TARGY.TARGYNEV, isnull((select count(*) from T_TANITASIORA_OSSZES inner join T_FOGLALKOZAS_OSSZES on T_FOGLALKOZAS_OSSZES.ID = T_TANITASIORA_OSSZES.C_FOGLALKOZASID where T_TANITASIORA_OSSZES.TOROLT = 'F' and T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = @osztalyId and T_FOGLALKOZAS_OSSZES.C_TANTARGYID = ERTEKELES.ID and T_FOGLALKOZAS_OSSZES.C_FOGLALKOZASTIPUSA = 1339 --Tanórai foglalkozás and exists (select 1 from T_FOGLALKOZASOK_TANAROK_OSSZES where C_TANAROKID = ERTEKELES.C_ERTEKELOID)),0) ORASZAM, ERTEKELES.C_OSZTALYZAT EVVEGIERTEKELES, ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES FROM T_TANULOERTEKELES_OSSZES ERTEKELES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID JOIN ( SELECT ID,C_NEV TARGYNEV FROM T_TANTARGY_OSSZES) TARGY ON TARGY.ID = ERTEKELES.C_TANTARGYID WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId and ERTEKELES.TOROLT = 'F' and ERTEKELES.C_TANEVID = @tanevId and ERTEKELES.C_ERTEKELESTIPUSA = 1520 -- ÉVVÉGI ORDER BY TANULOID, TARGY.TARGYNEV ---- MULASZTÁSOK SELECT * FROM (SELECT MULASZT.C_ORATANULOIID TANULOID, 'IGAZOLT' TIPUS, COUNT(1) ORASZAM FROM T_TANULOMULASZTAS_OSSZES MULASZT JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID WHERE MULASZT.TOROLT ='F' AND MULASZT.C_TANEVID = @tanevId and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND MULASZT.C_IGAZOLT = 'T' AND MULASZT.C_TIPUS != 1498 GROUP BY MULASZT.C_ORATANULOIID UNION SELECT MULASZT.C_ORATANULOIID TANULOID, 'IGAZOLATLAN' TIPUS, COUNT(1) ORASZAM FROM T_TANULOMULASZTAS_OSSZES MULASZT JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID WHERE MULASZT.TOROLT ='F' AND MULASZT.C_TANEVID = @tanevId and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND MULASZT.C_IGAZOLT = 'F' AND MULASZT.C_TIPUS != 1498 GROUP BY MULASZT.C_ORATANULOIID ) ORAK ORDER BY ORAK.TANULOID, ORAK.TIPUS DESC ------ MULASZTÁSOK ÖSSZEGZÉS SELECT distinct TANULO.ID TANULOID, isnull((SELECT COUNT(1) ORASZAM FROM T_TANULOMULASZTAS_OSSZES MULASZT JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID WHERE MULASZT.TOROLT ='F' AND MULASZT.C_TANEVID = @tanevId and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND MULASZT.C_IGAZOLT = 'T' and MULASZT.C_ORATANULOIID = MU.C_ORATANULOIID AND MULASZT.C_TIPUS != 1498 GROUP BY MULASZT.C_ORATANULOIID ),0) IGAZOLT, isnull((SELECT COUNT(1) ORASZAM FROM T_TANULOMULASZTAS_OSSZES MULASZT JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID WHERE MULASZT.TOROLT ='F' AND MULASZT.C_TANEVID = @tanevId and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND MULASZT.C_IGAZOLT = 'F' and MULASZT.C_ORATANULOIID = MU.C_ORATANULOIID AND MULASZT.C_TIPUS != 1498 GROUP BY MULASZT.C_ORATANULOIID ),0) IGAZOLATLAN, isnull((SELECT COUNT(1) ORASZAM FROM T_TANULOMULASZTAS_OSSZES MULASZT JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID WHERE MULASZT.TOROLT ='F' AND MULASZT.C_TANEVID = @tanevId and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId and MULASZT.C_ORATANULOIID = MU.C_ORATANULOIID AND MULASZT.C_TIPUS != 1498 GROUP BY MULASZT.C_ORATANULOIID ),0) SZUMMA from T_TANULO_OSSZES TANULO left join T_TANULOMULASZTAS_OSSZES MU on MU.C_ORATANULOIID = TANULO.ID left join (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = TANULO.ID where TANULO.TOROLT = 'F' AND TANULO.C_ALTANEVID = @tanevId and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId ORDER BY TANULO.ID -- TANTÁRGYI MENTESSÉGEK SELECT MENTESSEG.C_TANULOID TANULOID, TARGY.TARGYNEV, MENTESSEG.C_MENTESSEGOKA MENTESSEGOKA FROM T_TANULOMENTESSEG_OSSZES MENTESSEG JOIN (SELECT ID, C_NEV TARGYNEV FROM T_TANTARGY_OSSZES WHERE TOROLT='F' ) TARGY ON TARGY.ID = MENTESSEG.C_TANTARGYID JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MENTESSEG.C_TANULOID WHERE MENTESSEG.TOROLT = 'F' AND MENTESSEG.C_TANEVID = @tanevId and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId ORDER BY MENTESSEG.C_TANULOID, TARGY.TARGYNEV ---------- BEJEGYZÉSEK SELECT T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID, C_TARTALOM BEJEGYZES, C_TIPUS TIPUS FROM T_TANULOESEMENY_OSSZES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = T_TANULOESEMENY_OSSZES.C_TANULOID WHERE T_TANULOESEMENY_OSSZES.TOROLT='F' AND T_TANULOESEMENY_OSSZES.C_TANEVID = @tanevId and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND T_TANULOESEMENY_OSSZES.C_TIPUS = 1548 AND T_TANULOESEMENY_OSSZES.C_TIPUS != 1534 ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID END GO