kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170327110702_Init/Stored procedures/sp_GetNegyedeviErtesito.sql
2024-03-13 00:33:46 +01:00

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