init
This commit is contained in:
+52
@@ -0,0 +1,52 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumMulasztasokOsztalyonkentReszletes') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumMulasztasokOsztalyonkentReszletes
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumMulasztasokOsztalyonkentReszletes (@tanevId INT, @osztalyCsoportId INT, @iskolaErdekuSzamit BIT, @csakKivlasztottOsztalyCsoport BIT = 0, @atsoroltTanuloMulasztas BIT = 1, @idoszakEleje DATE = NULL, @idoszakVege DATE = NULL)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
C_ORATANULOIID TanuloId
|
||||
,TanitasiOra.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
,OsztalyCsoport.C_NEV OsztalyCsoportNev
|
||||
,C_TIPUS Tipusa
|
||||
,C_IGAZOLT Igazolt
|
||||
,C_IGAZOLASTIPUSA IgazolasTipusa
|
||||
,C_KESESPERCBEN KesesPercben
|
||||
,C_DATUM Datum
|
||||
,IIF(C_CSENGETESIRENDORAID IS NULL, dbo.fnGetDokumentumOrakezdetToOraszam(CONVERT(VARCHAR(5), C_ORAKEZDETE, 108), @tanevId), TanitasiOra.C_ORASZAM) Oraszam
|
||||
,C_TANTARGYID TantargyId
|
||||
,ISNULL(t.C_NEVNYOMTATVANYBAN, t.C_NEV) TantargyNev
|
||||
,NaptariHetek.C_HETSORSZAMA HetSorszama
|
||||
,C_GYAKORLATI Gyakorlati
|
||||
FROM T_TANULOMULASZTAS_OSSZES TanuloMulasztas
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') AS TANULO ON TANULO.TanuloId = TanuloMulasztas.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES TanitasiOra ON TanitasiOra.ID = TanuloMulasztas.C_TANITASIORAKID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON
|
||||
TanuloCsoport.C_TANULOID = TanuloMulasztas.C_ORATANULOIID
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = TanitasiOra.C_OSZTALYCSOPORTID
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanitasiOra.C_DATUM BETWEEN TanuloCsoport.C_BELEPESDATUM AND ISNULL(TanuloCsoport.C_KILEPESDATUM, GETDATE())
|
||||
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
|
||||
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
|
||||
AND (@atsoroltTanuloMulasztas = 1 OR (TanitasiOra.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId))))
|
||||
AND (@csakKivlasztottOsztalyCsoport = 0 OR TanitasiOra.C_OSZTALYCSOPORTID = @osztalyCsoportId)
|
||||
AND (@idoszakEleje IS NULL OR C_DATUM >= @idoszakEleje)
|
||||
AND (@idoszakVege IS NULL OR C_DATUM <= @idoszakVege)
|
||||
)
|
||||
|
||||
GO
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
IF OBJECT_ID('dbo.fnGetDokumentumOrakezdetToOraszam') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetDokumentumOrakezdetToOraszam
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumOrakezdetToOraszam (@oraKezdete VARCHAR(5), @tanevId INT)
|
||||
RETURNS INT
|
||||
BEGIN
|
||||
DECLARE @value INT
|
||||
SELECT
|
||||
@value = ISNULL(MAX(C_ORASZAM), 0)
|
||||
FROM T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra
|
||||
INNER JOIN T_CSENGETESIREND_OSSZES CsengetesiRend ON CsengetesiRend.Id = CsengetesiRendOra.C_CSENGETESIRENDID
|
||||
WHERE
|
||||
CsengetesiRendOra.C_TANEVID = @tanevId
|
||||
AND CsengetesiRendOra.TOROLT = 'F'
|
||||
AND CsengetesiRend.TOROLT = 'F'
|
||||
AND CsengetesiRend.C_AKTIV = 'T'
|
||||
AND CONVERT(VARCHAR(5), C_KEZDETE, 108) <= @oraKezdete
|
||||
|
||||
RETURN @value
|
||||
END
|
||||
+1890
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user