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

160 lines
7.9 KiB
Transact-SQL

GO
/****** Object: StoredProcedure [KR_BEDO_Schema].[sp_GetMasodikNegyedeviErtesito] Script Date: 2016.05.26. 11:22:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetMasodikNegyedeviErtesito]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetMasodikNegyedeviErtesito]
END
GO
CREATE PROCEDURE [sp_GetMasodikNegyedeviErtesito]
@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 C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE ID=@osztalyId and 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 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 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 = 1524
AND OSZTALYZAT.MAGATARTAS IS NOT NULL -- II.Negyedév
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 = 1524
AND OSZTALYZAT.SZORGALOM IS NOT NULL -- II.Negyedév
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 --Osztályfőnöki nem jelenítődik meg
AND ERTEKELES.C_ERTEKELESTIPUSA = 1524 -- II.Negyedév
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_MASODIKNEGYEDEV 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 = 1550
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
GO