256 lines
13 KiB
Transact-SQL
256 lines
13 KiB
Transact-SQL
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
|