39 lines
1.6 KiB
Transact-SQL
39 lines
1.6 KiB
Transact-SQL
IF OBJECT_ID('fnGetDokumentumMulasztasokOsztalyonkentReszletes') IS NOT NULL BEGIN
|
|
DROP FUNCTION fnGetDokumentumMulasztasokOsztalyonkentReszletes
|
|
END
|
|
GO
|
|
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
CREATE FUNCTION fnGetDokumentumMulasztasokOsztalyonkentReszletes (@tanevId INT, @osztalyCsoportId INT, @iskolaErdekuSzamit BIT)
|
|
RETURNS TABLE
|
|
RETURN (
|
|
SELECT
|
|
C_ORATANULOIID TanuloId
|
|
,C_OSZTALYCSOPORTID OsztalyCsoportId
|
|
,OsztalyCsoport.C_NEV OsztalyCsoportNev
|
|
,C_TIPUS Tipusa
|
|
,C_IGAZOLT Igazolt
|
|
,C_IGAZOLASTIPUSA IgazolasTipusa
|
|
,C_KESESPERCBEN KesesPercben
|
|
,C_DATUM Datum
|
|
,C_ORASZAM Oraszam
|
|
,C_TANTARGYID TantargyId
|
|
,ISNULL(t.C_NEVNYOMTATVANYBAN, t.C_NEV) TantargyNev
|
|
,NaptariHetek.C_HETSORSZAMA HetSorszama
|
|
FROM T_TANULOMULASZTAS_OSSZES TanuloMulasztas
|
|
INNER JOIN T_TANITASIORA_OSSZES TanitasiOra ON TanitasiOra.ID = TanuloMulasztas.C_TANITASIORAKID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = TanitasiOra.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_TANTARGY_OSSZES t on t.ID = TanitasiOra.C_TANTARGYID
|
|
INNER JOIN T_NAPTARIHET_OSSZES NaptariHetek ON TanitasiOra.C_DATUM BETWEEN NaptariHetek.C_HETKEZDONAPJA AND NaptariHetek.C_HETUTOLSONAPJA
|
|
WHERE
|
|
C_ORATANULOIID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T'))
|
|
AND TanuloMulasztas.C_TIPUS IN (1499, 1500)
|
|
AND TanitasiOra.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId))
|
|
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA IS NULL OR C_IGAZOLASTIPUSA <> 1533))
|
|
AND TanuloMulasztas.TOROLT = 'F'
|
|
AND NaptariHetek.C_TANEVID = @tanevId
|
|
) |