161 lines
No EOL
7.8 KiB
Transact-SQL
161 lines
No EOL
7.8 KiB
Transact-SQL
GO
|
|
/****** Object: StoredProcedure [KR_BEDO_Schema].[sp_GetNegyedeviErtesito] Script Date: 2016.05.26. 10:34:48 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
IF OBJECT_ID('sp_GetNegyedeviErtesito') IS NOT NULL
|
|
BEGIN
|
|
DROP PROCEDURE sp_GetNegyedeviErtesito
|
|
END
|
|
GO
|
|
|
|
CREATE PROCEDURE [sp_GetNegyedeviErtesito]
|
|
@osztalyId int,
|
|
@TanevId 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 IntezmenyOMKod,
|
|
(SELECT T_OSZTALY_OSSZES.C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE ID = @osztalyId and T_OSZTALY_OSSZES.TOROLT = 'F') PartnerID,
|
|
T_TANEV_OSSZES.C_NEV TANEV
|
|
FROM T_INTEZMENYADATOK_OSSZES
|
|
inner join T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID and T_TANEV_OSSZES.TOROLT = 'F'
|
|
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
|
|
and 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 (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID
|
|
WHERE T_FELHASZNALO_OSSZES.TOROLT='F'
|
|
and T_FELHASZNALO_OSSZES.C_TANEVID = @TanevId
|
|
and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
|
ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
|
|
|
|
-- ÉRTÉKELÉSEK
|
|
SELECT ERTEKELES.C_TANULOID TANULOID,
|
|
'MAGATARTAS' TARGYNEV,
|
|
OSZTALYZAT.MAGATARTAS NEGYEDEVIERTEKELES,
|
|
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 where TOROLT = 'F') OSZTALYZAT
|
|
ON OSZTALYZAT.ID = ERTEKELES.ID
|
|
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
|
|
AND ERTEKELES.C_ERTEKELESTIPUSA = 1522
|
|
AND ERTEKELES.C_TANEVID = @TanevId
|
|
UNION ALL
|
|
SELECT ERTEKELES.C_TANULOID TANULOID,
|
|
'SZORGALOM' TARGYNEV,
|
|
OSZTALYZAT.SZORGALOM NEGYEDEVIERTEKELES,
|
|
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 where TOROLT = 'F') OSZTALYZAT
|
|
ON OSZTALYZAT.ID = ERTEKELES.ID
|
|
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
|
|
AND ERTEKELES.C_ERTEKELESTIPUSA = 1522
|
|
AND ERTEKELES.C_TANEVID = @TanevId
|
|
UNION ALL
|
|
SELECT ERTEKELES.C_TANULOID TANULOID,
|
|
TARGY.TARGYNEV TARGYNEV,
|
|
ERTEKELES.C_OSZTALYZAT NEGYEDEVIERTEKELES,
|
|
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 where TOROLT = 'F') TARGY
|
|
ON TARGY.ID = ERTEKELES.C_TANTARGYID
|
|
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
|
|
AND TARGY.KAT != 1248
|
|
AND ERTEKELES.C_ERTEKELESTIPUSA = 1522
|
|
AND ERTEKELES.C_TANEVID = @TanevId
|
|
ORDER BY TANULOID, TARGYNEV
|
|
|
|
-- MULASZTÁSOK
|
|
SELECT MULASZT.C_TANULOID TANULOID,
|
|
CASE WHEN MULASZT.C_STATISZTIKATIPUS = 1656 THEN 'IGAZOLT' ELSE 'IGAZOLATLAN' END TIPUS,
|
|
MULASZT.C_ELSONEGYEDEV ORASZAM
|
|
FROM T_TANULOMULASZTASSTATISZTIKA_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_TANULOID
|
|
WHERE MULASZT.TOROLT ='F'
|
|
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
|
AND MULASZT.C_STATISZTIKATIPUS IN (1656,1662) -- IGAZOLT VAGY IGAZOLATLAN
|
|
and MULASZT.C_TANEVID = @TanevId
|
|
|
|
-- 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 TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
|
and MENTESSEG.C_TANEVID = @TanevId
|
|
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 TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
|
AND T_TANULOESEMENY_OSSZES.C_TIPUS != 1534
|
|
AND T_TANULOESEMENY_OSSZES.C_TANEVID = @TanevId
|
|
ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID
|
|
|
|
--OSZTÁLY
|
|
SELECT T_OSZTALYCSOPORT_OSSZES.C_NEV OSZTALYNEV,
|
|
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV OSZTALYFONOKNEV
|
|
FROM T_OSZTALY_OSSZES
|
|
INNER JOIN T_FELHASZNALO_OSSZES
|
|
ON T_OSZTALY_OSSZES.C_OSZTALYFONOKID = T_FELHASZNALO_OSSZES.ID and T_FELHASZNALO_OSSZES.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES
|
|
ON T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID and T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
|
|
WHERE T_OSZTALYCSOPORT_OSSZES.TOROLT='F'
|
|
AND T_OSZTALYCSOPORT_OSSZES.ID=@osztalyId
|
|
AND T_OSZTALY_OSSZES.C_ALTANEVID = @TanevId
|
|
|
|
END |