This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,47 @@
DROP FUNCTION IF EXISTS fnGetDokumentumMulasztasokOsztalyonkentReszletes
GO
CREATE FUNCTION fnGetDokumentumMulasztasokOsztalyonkentReszletes (@tanevId INT, @osztalyCsoportId INT, @iskolaErdekuSzamit BIT, @csakKivlasztottOsztalyCsoport BIT = 0, @atsoroltTanuloMulasztas BIT = 1, @idoszakEleje DATE = NULL, @idoszakVege DATE = NULL, @csakTanoraiCelu INT = 1)
RETURNS TABLE
RETURN (
SELECT
C_ORATANULOIID TanuloId
,TanuloCsoportId
,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
,IIF(C_CSENGETESIRENDORAID IS NULL,
CONCAT(CONVERT(NVARCHAR(5), TanitasiOra.C_ORAKEZDETE, 108), '-', CONVERT(NVARCHAR(5), TanitasiOra.C_ORAVEGE, 108))
,CAST(TanitasiOra.C_ORASZAM AS NVARCHAR)) OraszamWithOrakezdeteVege
,C_TANTARGYID TantargyId
,ISNULL(t.C_NEVNYOMTATVANYBAN, t.C_NEV) TantargyNev
,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
AND OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
INNER JOIN T_TANTARGY_OSSZES t on t.ID = TanitasiOra.C_TANTARGYID
WHERE TanuloMulasztas.C_TIPUS IN (1499, 1500)
AND TANULO.BelepesDatum <= TanitasiOra.C_DATUM
AND (TANULO.KilepesDatum IS NULL OR TANULO.KilepesDatum >= TanitasiOra.C_DATUM)
AND (@csakTanoraiCelu = 0 OR 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 (@atsoroltTanuloMulasztas = 1 OR (TanitasiOra.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, @csakTanoraiCelu))))
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

View file

@ -0,0 +1,25 @@
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE name = 'NCI_Tanitasiora_OsztalycsoportId_Datum_IntezmenyId_TanevId') BEGIN
CREATE INDEX NCI_Tanitasiora_OsztalycsoportId_Datum_IntezmenyId_TanevId
ON T_TANITASIORA (C_OSZTALYCSOPORTID, C_DATUM, C_INTEZMENYID, C_TANEVID)
INCLUDE (C_TANTARGYID) --WITH DROP_EXISTING
WITH (FILLFACTOR = 80)
END
GO
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE name = 'NCI_Csoport_Tipusa_AlintezmenyId_AltanevId') BEGIN
CREATE INDEX NCI_Csoport_Tipusa_AlintezmenyId_AltanevId
ON T_CSOPORT (C_TIPUSA, C_ALINTEZMENYID, C_ALTANEVID)
WITH (FILLFACTOR = 80)
END
GO
DROP INDEX IF EXISTS NCI_TanuloCsoport_OsztalyCsoportId_TanuloId_IntezmenyId_TanevId
ON T_TANULOCSOPORT
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE name = 'NCI_TanuloCsoport_OsztalyCsoportId_TanuloId_IntezmenyId_TanevId') BEGIN
CREATE INDEX NCI_TanuloCsoport_OsztalyCsoportId_TanuloId_IntezmenyId_TanevId
ON T_TANULOCSOPORT (C_OsztalyCsoportId, C_TanuloId, C_IntezmenyId, C_TanevId)
INCLUDE (C_KILEPESDATUM, C_BELEPESDATUM) WHERE TOROLT = 'F'
WITH (FILLFACTOR = 80)
END
GO