init
This commit is contained in:
@@ -0,0 +1,212 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP FUNCTION IF EXISTS fnGetDokumentumErtekelesekOsztalyonkent
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumErtekelesekOsztalyonkent (@tanevId INT, @osztalyCsoportId INT, @ertekelesTipusa INT = NULL, @csakTanorai BIT = 1, @csakKivlasztottOsztalyCsoport BIT = 0, @atsoroltTanuloErtekelesek INT = 0)
|
||||
RETURNS @retTanuloErtekeles TABLE
|
||||
(
|
||||
ErtekelesId INT NOT NULL,
|
||||
Datum DATE,
|
||||
TipusId INT,
|
||||
ErtekelesSzoveg NVARCHAR(MAX),
|
||||
ErtekelesSzovegRovidNev NVARCHAR(3),
|
||||
ErtekelesOsztalyzatId INT,
|
||||
ErtekelesOsztalyzatValue INT,
|
||||
ErtekelesOsztalyzatNev NVARCHAR(MAX),
|
||||
ErtekelesSzazalek NVARCHAR(MAX),
|
||||
MagatartasOsztalyzatId INT,
|
||||
MagatartasOsztalyzatValue INT,
|
||||
MagatartasOsztalyzatNev NVARCHAR(MAX),
|
||||
MagatartasSzoveg NVARCHAR(MAX),
|
||||
MagatartasSzovegRovidNev NVARCHAR(3),
|
||||
MagatartasErtekId INT,
|
||||
MagatartasErtek NVARCHAR(MAX),
|
||||
MagatartasErtekOsztalyzatkent INT,
|
||||
SzorgalomOsztalyzatId INT,
|
||||
SzorgalomOsztalyzatValue INT,
|
||||
SzorgalomOsztalyzatNev NVARCHAR(MAX),
|
||||
SzorgalomSzoveg NVARCHAR(MAX),
|
||||
SzorgalomSzovegRovidNev NVARCHAR(3),
|
||||
SzorgalomErtekId INT,
|
||||
SzorgalomErtek NVARCHAR(MAX),
|
||||
SzorgalomErtekOsztalyzatkent INT,
|
||||
TanuloId INT,
|
||||
TanuloCsoportId INT,
|
||||
OsztalyCsoportId INT,
|
||||
TantargyId INT,
|
||||
TantargyNevZarojellel NVARCHAR(MAX),
|
||||
TantargyNevNyomtatvanyban NVARCHAR(MAX),
|
||||
TantargyNev NVARCHAR(MAX),
|
||||
TantargyAngolNev NVARCHAR(MAX),
|
||||
TantargyNemetNev NVARCHAR(MAX),
|
||||
TargyKategoriaId INT,
|
||||
FotargyE CHAR(1),
|
||||
Altantargy CHAR(1),
|
||||
FotargyId INT,
|
||||
ErtekelesTema NVARCHAR(MAX),
|
||||
ErtekeloId INT,
|
||||
ErtekelesModjaId INT,
|
||||
IsMagatartasSzorgalom CHAR(1),
|
||||
Jeloles NVARCHAR(MAX),
|
||||
JelolesAndErtekelesTema NVARCHAR(MAX)
|
||||
,RogzitesDatum DATE
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INSERT INTO @retTanuloErtekeles
|
||||
SELECT DISTINCT
|
||||
tanuloErtekeles.ID,
|
||||
tanuloErtekeles.C_DATUM,
|
||||
tanuloErtekeles.C_TIPUSID,
|
||||
tanuloErtekeles.C_ERTEKELESSZOVEG,
|
||||
tanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV,
|
||||
tanuloErtekeles.C_ERTEKELESOSZTALYZATID,
|
||||
ertekelesOsztalyzat.C_VALUE,
|
||||
ertekelesOsztalyzat.C_NAME,
|
||||
IIF(tanuloErtekeles.C_ERTEKELESSZAZALEK IS NOT NULL, CONVERT(NVARCHAR(3), tanuloErtekeles.C_ERTEKELESSZAZALEK)+'%', NULL),
|
||||
tanuloErtekeles.C_MAGATARTASOSZTALYZATID,
|
||||
magatartasOsztalyzat.C_VALUE,
|
||||
magatartasOsztalyzat.C_NAME,
|
||||
tanuloErtekeles.C_MAGATARTASSZOVEG,
|
||||
tanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV,
|
||||
tanuloErtekeles.C_MAGATARTASERTEKID,
|
||||
magatartasErtek.C_NAME,
|
||||
magatartasErtek.C_VALUE + 1,
|
||||
tanuloErtekeles.C_SZORGALOMOSZTALYZATID,
|
||||
szorgalomOsztalyzat.C_VALUE,
|
||||
szorgalomOsztalyzat.C_NAME,
|
||||
tanuloErtekeles.C_SZORGALOMSZOVEG,
|
||||
tanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV,
|
||||
tanuloErtekeles.C_SZORGALOMERTEKID,
|
||||
szorgalomErtek.C_NAME,
|
||||
szorgalomErtek.C_VALUE + 1,
|
||||
tanuloErtekeles.C_TANULOID,
|
||||
TanuloCsoportId,
|
||||
tanuloErtekeles.C_OSZTALYCSOPORTID,
|
||||
tanuloErtekeles.C_TANTARGYID,
|
||||
IIF(tantargy.C_NEV <> tantargy.C_NEVNYOMTATVANYBAN AND tantargy.C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN +' ('+tantargy.C_NEV+')', tantargy.C_NEV),
|
||||
tantargy.C_NEVNYOMTATVANYBAN,
|
||||
tantargy.C_NEV,
|
||||
tantargy.C_ANGOLNEV,
|
||||
tantargy.C_NEMETNEV,
|
||||
tantargy.C_TARGYKATEGORIA,
|
||||
tantargy.C_FOTARGYE,
|
||||
tantargy.C_ALTANTARGYKENTNYOMTATVANYBAN,
|
||||
tantargy.C_FOTARGYID,
|
||||
tanuloErtekeles.C_ERTEKELESTEMA,
|
||||
tanuloErtekeles.C_ERTEKELOID,
|
||||
tanuloErtekeles.C_ERTEKELESMODID,
|
||||
tanuloErtekeles.C_ISMAGATARTASSZORGALOM,
|
||||
IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1519, 1520),
|
||||
'<i>(' + CAST(CHAR(ROW_NUMBER() OVER(PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10))+')</i>',
|
||||
''),
|
||||
IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN(1519, 1520),
|
||||
'<i>('+CAST(CHAR(ROW_NUMBER() OVER(PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10)) + ')</i>: ' + tanuloErtekeles.C_ERTEKELESTEMA,
|
||||
'')
|
||||
,tanuloErtekeles.C_ROGZITESDATUM
|
||||
FROM T_TANULOERTEKELES_OSSZES tanuloErtekeles
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') tanulo ON tanulo.TanuloId = tanuloErtekeles.C_TANULOID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = tanuloErtekeles.C_TANULOID
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = tanuloErtekeles.C_OSZTALYCSOPORTID
|
||||
AND tanuloErtekeles.C_DATUM BETWEEN TanuloCsoport.C_BELEPESDATUM AND ISNULL(TanuloCsoport.C_KILEPESDATUM, GETDATE())
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tanuloErtekeles.C_TANTARGYID
|
||||
AND (tantargy.C_TARGYKATEGORIA <> 1248 OR tantargy.C_TARGYKATEGORIA IS NULL)
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ertekelesOsztalyzat ON ertekelesOsztalyzat.ID = tanuloErtekeles.C_ERTEKELESOSZTALYZATID
|
||||
AND ertekelesOsztalyzat.C_TANEVID = @tanevId
|
||||
AND ertekelesOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartasOsztalyzat ON magatartasOsztalyzat.ID = tanuloErtekeles.C_MAGATARTASOSZTALYZATID
|
||||
AND magatartasOsztalyzat.C_TANEVID = @tanevId
|
||||
AND magatartasOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalomOsztalyzat ON szorgalomOsztalyzat.ID = tanuloErtekeles.C_SZORGALOMOSZTALYZATID
|
||||
AND szorgalomOsztalyzat.C_TANEVID = @tanevId
|
||||
AND szorgalomOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartasErtek ON magatartasErtek.ID = tanuloErtekeles.C_MAGATARTASERTEKID
|
||||
AND magatartasErtek.C_TANEVID = @tanevId
|
||||
AND magatartasErtek.C_TYPE LIKE 'MagatartasErtekelesTipus'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalomErtek ON szorgalomErtek.ID = tanuloErtekeles.C_SZORGALOMERTEKID
|
||||
AND szorgalomErtek.C_TANEVID = @tanevId
|
||||
AND szorgalomErtek.C_TYPE LIKE 'SzorgalomErtekelesTipus'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
|
||||
AND osztalyCsoport.TOROLT = 'F'and osztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
LEFT JOIN T_CSOPORT_OSSZES csoport ON csoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
tanuloErtekeles.C_TANEVID = @tanevId
|
||||
AND tanuloErtekeles.TOROLT = 'F'
|
||||
AND (@atsoroltTanuloErtekelesek > 0
|
||||
OR (tanuloErtekeles.C_OSZTALYCSOPORTID
|
||||
IN(
|
||||
SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, 0))
|
||||
)
|
||||
)
|
||||
AND (@ertekelesTipusa IS NULL OR C_TIPUSID = @ertekelesTipusa)
|
||||
AND (@csakKivlasztottOsztalyCsoport = 0 OR tanuloErtekeles.C_OSZTALYCSOPORTID = @osztalyCsoportId)
|
||||
AND (@csakTanorai = 0 OR osztaly.ID IS NOT NULL OR
|
||||
(csoport.ID IS NOT NULL AND csoport.C_TIPUSA
|
||||
IN(
|
||||
SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)
|
||||
)
|
||||
)
|
||||
)
|
||||
AND BelepesDatum <= tanuloErtekeles.C_DATUM
|
||||
AND (KilepesDatum IS NULL OR KilepesDatum >= tanuloErtekeles.C_DATUM)
|
||||
|
||||
option (recompile);
|
||||
|
||||
IF @atsoroltTanuloErtekelesek = 1
|
||||
BEGIN
|
||||
DECLARE @osztalyTantargyak TABLE
|
||||
(
|
||||
TantargyId INT
|
||||
);
|
||||
|
||||
INSERT INTO @osztalyTantargyak
|
||||
SELECT DISTINCT
|
||||
TantargyId
|
||||
FROM
|
||||
@retTanuloErtekeles
|
||||
WHERE
|
||||
OsztalyCsoportId IN
|
||||
(
|
||||
SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, 0)
|
||||
)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT
|
||||
C_TANTARGYID
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES
|
||||
INNER JOIN fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, 0) AS OSZTALYCSOPORT ON OSZTALYCSOPORT.ID = T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
T_FOGLALKOZAS_OSSZES.TOROLT = 'F'
|
||||
|
||||
DELETE FROM @retTanuloErtekeles
|
||||
WHERE
|
||||
ErtekelesId NOT IN
|
||||
(
|
||||
SELECT
|
||||
ErtekelesId
|
||||
FROM
|
||||
@retTanuloErtekeles
|
||||
WHERE
|
||||
TantargyId IS NULL
|
||||
OR TantargyId IN
|
||||
(
|
||||
SELECT
|
||||
TantargyId
|
||||
FROM @osztalyTantargyak
|
||||
)
|
||||
)
|
||||
END
|
||||
RETURN
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,56 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
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
|
||||
,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
|
||||
and OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
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 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 NaptariHetek.C_TANEVID = @tanevId
|
||||
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
|
@@ -0,0 +1,34 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumOsztalyTanuloinakMegtartottOrakTantargyankent') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumOsztalyTanuloinakMegtartottOrakTantargyankent
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumOsztalyTanuloinakMegtartottOrakTantargyankent (@tanevId INT, @osztalyCsoportId INT, @atsoroltTanuloOrak BIT = 1)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT COUNT(1) AS Orakszama, TANULO.TanuloId, TANTARGY.ID AS TantargyId,
|
||||
ISNULL(TANTARGY.C_NEVNYOMTATVANYBAN, TANTARGY.C_NEV) AS TantargyNev, C_FOTARGYE AS Fotargye, C_ALTANTARGYKENTNYOMTATVANYBAN AS Altargye, C_GYAKORLATI AS Gyakorlati
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') AS TANULO
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES AS TANULOCSOPORT ON TANULOCSOPORT.C_TANULOID = TANULO.TanuloId
|
||||
INNER JOIN T_TANITASIORA_OSSZES AS TANITASIORA ON TANITASIORA.C_OSZTALYCSOPORTID = TANULOCSOPORT.C_OSZTALYCSOPORTID AND TANITASIORA.C_DATUM >= TANULOCSOPORT.C_BELEPESDATUM AND (TANULOCSOPORT.C_KILEPESDATUM IS NULL OR TANITASIORA.C_DATUM <= TANULOCSOPORT.C_KILEPESDATUM)
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS OSZTALYCSOPORT ON OSZTALYCSOPORT.ID = TANITASIORA.C_OSZTALYCSOPORTID
|
||||
and OSZTALYCSOPORT.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_TANTARGY_OSSZES AS TANTARGY ON TANTARGY.ID = TANITASIORA.C_TANTARGYID
|
||||
INNER JOIN T_NAPTARIHET_OSSZES AS NAPTARIHETEK ON TANITASIORA.C_DATUM BETWEEN NAPTARIHETEK.C_HETKEZDONAPJA AND NAPTARIHETEK.C_HETUTOLSONAPJA
|
||||
WHERE
|
||||
TANULOCSOPORT.TOROLT = 'F' AND TANITASIORA.TOROLT = 'F' AND OSZTALYCSOPORT.TOROLT = 'F' AND TANTARGY.TOROLT = 'F'
|
||||
AND TANITASIORA.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId))
|
||||
AND TANITASIORA.C_MEGTARTOTT = 'T'
|
||||
AND NaptariHetek.C_TANEVID = @tanevId
|
||||
AND (@atsoroltTanuloOrak = 1 OR TANITASIORA.C_DATUM >= TANULO.BelepesDatum )
|
||||
AND (TANULO.KilepesDatum IS NULL OR TANITASIORA.C_DATUM <= TANULO.KilepesDatum)
|
||||
GROUP BY TANULO.TanuloId, TANTARGY.ID, C_GYAKORLATI, TANTARGY.C_NEVNYOMTATVANYBAN, TANTARGY.C_NEV, C_FOTARGYE, C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
)
|
||||
|
||||
GO
|
@@ -0,0 +1,23 @@
|
||||
IF OBJECT_ID('fnGetDokumentumOsztalyokTanevenkent') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumOsztalyokTanevenkent
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumOsztalyokTanevenkent (@tanevId int)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
T_OSZTALY_OSSZES.ID OsztalyId
|
||||
,ocs.C_NEV OsztalyNev
|
||||
FROM T_OSZTALY_OSSZES
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = T_OSZTALY_OSSZES.ID
|
||||
and ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE
|
||||
ocs.C_TANEVID = @tanevId
|
||||
AND ocs.TOROLT = 'F'
|
||||
)
|
@@ -0,0 +1,44 @@
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük az osztály/csoport tanulóinak fő osztályait>
|
||||
-- =============================================
|
||||
DROP FUNCTION IF EXISTS [dbo].[fnGetOsztalyCsoportTanuloOsztalyList]
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [dbo].[fnGetOsztalyCsoportTanuloOsztalyList](
|
||||
@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
,@pOsztalyCsoportId int
|
||||
,@pDatum date = NULL
|
||||
)
|
||||
RETURNS @ResultTable TABLE (
|
||||
TanuloId int
|
||||
,OsztalyId int
|
||||
,EvfolyamTipusId int
|
||||
)
|
||||
AS BEGIN
|
||||
IF @pDatum IS NULL BEGIN
|
||||
SET @pDatum = CONVERT(DATE, GETDATE())
|
||||
END
|
||||
|
||||
INSERT @ResultTable
|
||||
--NOTE: Azért kell a DISTINCT, ha ugyanoda ki-/besorolgatják a tanulót!
|
||||
SELECT DISTINCT
|
||||
TanuloCsoport.C_TANULOID AS TanuloId
|
||||
,OsztalyCsoport.ID AS OsztalyId
|
||||
,OsztalyCsoport.C_EVFOLYAMTIPUSA AS EvfolyamTipusId
|
||||
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES SourceTanuloCsoport ON SourceTanuloCsoport.TOROLT = 'F'
|
||||
AND SourceTanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND SourceTanuloCsoport.C_TANULOID = TanuloCsoport.C_TANULOID
|
||||
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID AND OsztalyCsoport.TOROLT = 'F'
|
||||
WHERE TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloCsoport.C_TANEVID = @pTanevId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
|
||||
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM > @pDatum)
|
||||
AND OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
|
@@ -0,0 +1,91 @@
|
||||
IF OBJECT_ID('sp_FoglalkozasArchiv') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_FoglalkozasArchiv
|
||||
END;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_FoglalkozasArchiv
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
INSERT INTO T_FOGLALKOZASARCHIV (
|
||||
[C_ALKALMAZOTTID] -- INT NULL,
|
||||
,[C_ELFOGADASDATUMA] -- DATETIME NULL,
|
||||
,[C_FELADATELLATASIHELYID] -- INT NULL,
|
||||
,[C_FELADATELLATASIHELYNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_ORASZAM] -- NUMERIC (10, 2) NULL,
|
||||
,[C_OSZTALYCSOPORTID] -- INT NULL,
|
||||
,[C_OSZTALYCSOPORTNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARKOTELEZOORASZAMA] -- NUMERIC (10, 2) NULL,
|
||||
,[C_TANARMUNKAIDOKEDVEZMENYE] -- INT NULL,
|
||||
,[C_TANARMUNKAIDOKEDVEZMENYOKA] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARMUNKAIDOKEDVEZMENYOKAID]-- INT NULL,
|
||||
,[C_TANARMUNKAKORE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARMUNKAKOREID] -- INT NULL,
|
||||
,[C_TANARNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARPEDAGOGIAIKEPESITESE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARPEDAGOGIAIKEPESITESEID]-- INT NULL,
|
||||
,[C_TANEVNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANTARGYID] -- INT NULL,
|
||||
,[C_TANTARGYNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_INTEZMENYID] -- INT NOT NULL,
|
||||
,[C_TANEVID] -- INT NOT NULL,
|
||||
,[TOROLT] -- CHAR (1) NULL,
|
||||
,[SERIAL] -- INT NULL,
|
||||
,[LASTCHANGED] -- DATETIME NULL,
|
||||
,[CREATED] -- DATETIME NULL,
|
||||
,[MODIFIER] -- INT NULL,
|
||||
,[CREATOR] -- INT NULL,
|
||||
) SELECT
|
||||
u.ID AS [C_ALKALMAZOTTID] -- INT NULL,
|
||||
,GETDATE() AS [C_ELFOGADASDATUMA] -- DATETIME NULL,
|
||||
,fh.ID AS [C_FELADATELLATASIHELYID] -- INT NULL,
|
||||
,'' AS [C_FELADATELLATASIHELYNEVE] -- NVARCHAR (255) NULL,
|
||||
,f.C_ORASZAM AS [C_ORASZAM] -- NUMERIC (10, 2) NULL,
|
||||
,ocs.ID AS [C_OSZTALYCSOPORTID] -- INT NULL,
|
||||
,ocs.C_NEV AS [C_OSZTALYCSOPORTNEVE] -- NVARCHAR (255) NULL,
|
||||
,m.C_KOTELEZOORASZAM AS [C_TANARKOTELEZOORASZAMA] -- NUMERIC (10, 2) NULL,
|
||||
,m.C_MUNKAIDOKEDVEZMENYORASZAM AS [C_TANARMUNKAIDOKEDVEZMENYE] -- INT NULL,
|
||||
,mk.C_NAME AS [C_TANARMUNKAIDOKEDVEZMENYOKA] -- NVARCHAR (255) NULL,
|
||||
,m.C_MUNKAIDOKEDVEZMENYOKA AS [C_TANARMUNKAIDOKEDVEZMENYOKAID]-- INT NULL,
|
||||
,k.C_NAME AS [C_TANARMUNKAKORE] -- NVARCHAR (255) NULL,
|
||||
,m.C_MUNKAKORTIPUSA AS [C_TANARMUNKAKOREID] -- INT NULL,
|
||||
,u.C_NYOMTATASINEV AS [C_TANARNEVE] -- NVARCHAR (255) NULL,
|
||||
,kp.C_NAME AS [C_TANARPEDAGOGIAIKEPESITESE] -- NVARCHAR (255) NULL,
|
||||
,m.C_BESOROLASIFOKOZAT AS [C_TANARPEDAGOGIAIKEPESITESEID]-- INT NULL,
|
||||
,te.C_NEV AS [C_TANEVNEVE] -- NVARCHAR (255) NULL,
|
||||
,t.ID AS [C_TANTARGYID] -- INT NULL,
|
||||
,t.C_NEV AS [C_TANTARGYNEVE] -- NVARCHAR (255) NULL,
|
||||
,f.C_INTEZMENYID AS [C_INTEZMENYID] -- INT NOT NULL,
|
||||
,f.C_TANEVID AS [C_TANEVID] -- INT NOT NULL,
|
||||
,'F' AS [TOROLT] -- CHAR (1) NULL,
|
||||
,0 AS [SERIAL] -- INT NULL,
|
||||
,NULL AS [LASTCHANGED] -- DATETIME NULL,
|
||||
,GETDATE() AS [CREATED] -- DATETIME NULL,
|
||||
,NULL AS [MODIFIER] -- INT NULL,
|
||||
,NULL AS [CREATOR] -- INT NULL,
|
||||
-- select count(1)
|
||||
FROM T_FOGLALKOZAS f
|
||||
INNER JOIN T_FELHASZNALO u ON u.ID = f.C_TANARID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = f.C_OSZTALYCSOPORTID and ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_ALKALMAZOTT a ON a.ID = u.ID
|
||||
INNER JOIN T_MUNKAUGYIADATOK m ON m.C_ALKALMAZOTTID = a.ID
|
||||
INNER JOIN T_TANTARGY t ON f.C_TANTARGYID = t.ID
|
||||
INNER JOIN T_TANEV te ON te.ID = f.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE mk ON mk.ID = m.C_MUNKAIDOKEDVEZMENYOKA AND mk.C_TANEVID = f.C_TANEVID AND mk.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE k ON k.ID = m.C_MUNKAKORTIPUSA AND k.C_TANEVID = f.C_TANEVID AND k.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE kp ON kp.ID = m.C_BESOROLASIFOKOZAT AND kp.C_TANEVID = f.C_TANEVID AND kp.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
INNER JOIN T_FELADATELLATASIHELY fh ON fh.ID = m.C_FELADATELLATASIHELYID
|
||||
WHERE f.TOROLT = 'F'
|
||||
/*AND f.C_INTEZMENYID IN (
|
||||
SELECT DISTINCT e.C_INTEZMENYID FROM T_ENTITYHISTORY e
|
||||
INNER JOIN T_ENTITYATTRIBUTEHISTORY a ON a.C_ENTITYHISTORYID = e.ID
|
||||
INNER JOIN T_INTEZMENYADATSZOLGALTATAS i ON i.C_INTEZMENYID = e.C_INTEZMENYID
|
||||
WHERE e.C_ENTITYNAME IN ('T_INTEZMENYADATSZOLGALTATAS', 'INTEZMENYADATSZOLGALTATAS')
|
||||
AND a.C_PROPERTYNAME = 'C_VEGLEGESTTF'
|
||||
AND a.C_CURRENTVALUE = 'T'
|
||||
AND i.C_VEGLEGESTTF = 'T'
|
||||
)*/
|
||||
AND f.C_INTEZMENYID = @intezmenyId AND f.C_TANEVID = @tanevId
|
||||
END
|
||||
GO
|
@@ -0,0 +1,114 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetFogadooraInfo]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetFogadooraInfo]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFogadooraInfo]
|
||||
@alkalmazottId INT,
|
||||
@tanevId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
|
||||
--fejl<EFBFBD>c
|
||||
SELECT
|
||||
i.C_NEV as intezmeny
|
||||
,m.C_NEV as mukodesihely
|
||||
,d.C_NAME as oktatasiNevelesiFeladatTipus
|
||||
,ISNULL(i.C_VAROS + ', ', '') + FORMAT(GETDATE(), 'yyyy. MMMM dd.', 'hu-hu') AS kelt
|
||||
FROM T_INTEZMENYADATOK_OSSZES i
|
||||
INNER JOIN T_MUKODESIHELY_OSSZES m ON i.C_INTEZMENYID = m.C_INTEZMENYID AND m.TOROLT = 'F'
|
||||
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON m.ID = f.C_MUKODESIHELYID AND f.TOROLT = 'F' AND f.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS AND d.C_TANEVID = @tanevId
|
||||
WHERE
|
||||
i.C_TANEVID = @tanevId
|
||||
|
||||
|
||||
--#tanulok
|
||||
SELECT DISTINCT
|
||||
tn.ID tanuloID
|
||||
,tn.C_NYOMTATASINEV TanuloNeve
|
||||
,tn.C_SZULETESIDATUM szulDat
|
||||
INTO #Tanulok_tmp
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON f.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
WHERE
|
||||
f.C_TANARID = @alkalmazottId
|
||||
AND f.C_TANEVID=@TANEVID
|
||||
AND f.TOROLT='F'
|
||||
ORDER BY TanuloNeve
|
||||
|
||||
|
||||
SELECT tanuloNeve
|
||||
INTO #duplikatNevek
|
||||
FROM #Tanulok_tmp
|
||||
GROUP BY tanuloNeve
|
||||
HAVING COUNT(tanuloNeve) > 1
|
||||
|
||||
SELECT tanuloID,
|
||||
TanuloNeve + IIF(TanuloNeve IN (SELECT tanuloNeve FROM #duplikatNevek), ' - ('
|
||||
+ (FORMAT(szulDat, 'yyyy.MM.dd') + ', '
|
||||
+ dbo.fnGetDokumentumTanuloAktualisOsztaly (tanuloID) +')' ), '') TanuloNeve /*TODO:Tobb Osztaly*//*OM-1652*/
|
||||
FROM #Tanulok_tmp
|
||||
ORDER BY tanuloNeve
|
||||
|
||||
|
||||
--tanuloinfo
|
||||
SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
|
||||
dt.C_NAME as ertekelesTipusa, dm.C_NAME as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
|
||||
fh.C_NYOMTATASINEV as tanarNev, do.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
|
||||
t.id as tantargyID, t.C_NEV as tantargyNev
|
||||
FROM T_TANULOERTEKELES_OSSZES e
|
||||
INNER JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON e.ID = oe.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = f.C_TANARID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA AND dt.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON (dm.ID = oe.C_ERTEKELESMODJA AND DM.C_INTEZMENYID = OE.C_ALINTEZMENYID AND DM.C_TANEVID = OE.C_ALTANEVID)
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES do ON (do.ID = e.C_OSZTALYZAT AND Do.C_INTEZMENYID = E.C_INTEZMENYID AND Do.C_TANEVID = E.C_TANEVID)
|
||||
WHERE
|
||||
f.C_TANARID = @alkalmazottId
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
AND e.C_TANEVID=@tanevId
|
||||
AND e.TOROLT='F'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
|
||||
dt.C_NAME as ertekelesTipusa, null as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
|
||||
fh.C_NYOMTATASINEV as tanarNev, dm.C_NAME + ', ' + ds.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
|
||||
t.id as tantargyID, t.C_NEV as tantargyNev
|
||||
FROM T_TANULOERTEKELES_OSSZES e
|
||||
INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES oe ON e.ID = oe.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = f.C_TANARID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA AND dt.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON dm.ID = oe.C_MAGATARTAS AND dm.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ds ON ds.ID = oe.C_SZORGALOM AND ds.C_TANEVID = @tanevId
|
||||
WHERE
|
||||
f.C_TANARID = @alkalmazottId
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
AND e.C_TANEVID=@TANEVID
|
||||
AND e.TOROLT='F'
|
||||
|
||||
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,220 @@
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetHaladasiNaploAdatok]
|
||||
GO
|
||||
CREATE PROCEDURE [dbo].[sp_GetHaladasiNaploAdatok]
|
||||
@tanevID int,
|
||||
@osztalyID int = null,
|
||||
@tanarID int = null
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @cTantargyId INT = 0
|
||||
DECLARE @cOsztalyCsoportId INT = 0
|
||||
DECLARE @cTanarId INT = 0
|
||||
DECLARE @foglalkozasNev VARCHAR(255)
|
||||
|
||||
SET NOCOUNT ON;
|
||||
SELECT DISTINCT
|
||||
ocs.C_NEV + ' - ' + tt.C_NEV AS Nev
|
||||
,tn.C_TANTARGYID
|
||||
,tn.C_OSZTALYCSOPORTID
|
||||
,tn.C_INTEZMENYID
|
||||
,tn.C_TANARID AS C_TANARID
|
||||
,IIF(f.ID IS NULL,'F','T') AS VanTTF
|
||||
INTO #Foglalkozasok
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANTARGYID = tn.C_TANTARGYID AND f.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID AND f.C_TANARID = tn.C_TANARID AND f.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES OCS on OCS.ID = tn.C_OSZTALYCSOPORTID and OCS.TOROLT = 'F' AND OCS.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
LEFT JOIN T_CSOPORTOK_OSZTALYOK cso on cso.C_CSOPORTOKID = ocs.ID
|
||||
INNER JOIN T_TANTARGY_OSSZES tt on tt.ID = tn.C_TANTARGYID and tt.TOROLT = 'F'
|
||||
WHERE tn.TOROLT = 'F'
|
||||
AND tn.C_TANEVID = @tanevID
|
||||
AND (
|
||||
((@osztalyID IS NOT NULL) AND (ocs.ID = @osztalyID OR cso.C_OSZTALYOKID = @osztalyID))
|
||||
OR
|
||||
((@tanarID IS NOT NULL) AND tn.C_TANARID = @tanarID)
|
||||
)
|
||||
ORDER BY VanTTF DESC, Nev ASC
|
||||
SELECT
|
||||
IIF(fog.VanTTF = 'F','Egyedi-','')+Nev+' - '+felh.C_NYOMTATASINEV Nev,
|
||||
fog.VanTTF
|
||||
FROM #Foglalkozasok fog
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felh on fog.C_TANARID=felh.ID
|
||||
ORDER BY fog.VanTTF DESC, Nev ASC
|
||||
|
||||
DECLARE @sorszamTable TABLE (
|
||||
tanitasiOraId int-- PRIMARY KEY
|
||||
,evesOraszam int
|
||||
,foglalkozasId int
|
||||
)
|
||||
|
||||
INSERT INTO @sorszamTable (tanitasiOraId, evesOraszam)
|
||||
SELECT s.Id, s.EvesSorszam FROM #Foglalkozasok f
|
||||
CROSS APPLY dbo.fnGetEvesOraszamLista(
|
||||
f.C_TANTARGYID
|
||||
,f.C_OSZTALYCSOPORTID
|
||||
,f.C_TANARID
|
||||
,GETDATE()
|
||||
,f.C_INTEZMENYID
|
||||
,@tanevID
|
||||
) s
|
||||
|
||||
|
||||
DECLARE foglalkozasCursor CURSOR FOR
|
||||
SELECT C_TANTARGYID, C_OSZTALYCSOPORTID, C_TANARID FROM #Foglalkozasok
|
||||
|
||||
OPEN foglalkozasCursor
|
||||
FETCH NEXT FROM foglalkozasCursor into @cTantargyId, @cOsztalyCsoportId, @cTanarId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
SELECT DISTINCT
|
||||
CASE
|
||||
WHEN tn.C_MEGTARTOTT = 'T' THEN s.evesOraszam -- tn.C_ORAEVESSORSZAM
|
||||
ELSE '-'
|
||||
END AS OraSorszam
|
||||
,fh.C_NYOMTATASINEV TanarNev
|
||||
,tn.C_TEMA Tema
|
||||
,CASE
|
||||
WHEN tn.C_HELYETTESITOTANARID IS NULL THEN ''
|
||||
ELSE 'H'
|
||||
END AS Helyettesites
|
||||
,FORMAT(tn.C_DATUM, 'yyyy.MM.dd.') Datum
|
||||
,tn.C_ORASZAM OraSzam
|
||||
,tn.C_MEGJEGYZES Megjegyzes
|
||||
,ISNULL(tn.C_HAZIFELADAT,hf.C_FELADATSZOVEGE) HaziFeladat
|
||||
,tn.C_TULORA TulOra
|
||||
,tn.C_TAMOPORA TamopOra
|
||||
,tn.C_NEMSZAKRENDSZERUORA NemszakrendszeruOra
|
||||
,tn.C_IKTTANORA IktOra
|
||||
,tn.C_NEMZETISEGIORA NemzetisegiOra
|
||||
,tn.C_MINDENNAPOSTESTNEVELES TestnevelesOra
|
||||
,tn.C_IPRTANORA IprOra
|
||||
,tn.C_DIFFERENCIALT DifferencialtOra
|
||||
,tn.C_KOOPERATIV KooperativOra
|
||||
,tn.C_MERES MeresOra
|
||||
,tn.C_DRAMA DramaOra
|
||||
,tn.C_PARHUZAMOSORA ParhuzamosOra
|
||||
,tn.C_TIOP12 TiopOra
|
||||
,tn.C_KIPORA KIPOra
|
||||
,tn.C_VEKOP73317 VEKOP73317
|
||||
,tn.C_KAPORA KAPOra
|
||||
,tn.C_BONTOTT Bontott
|
||||
,tn.C_MULTIKULTURALISORA Multikulturalis
|
||||
,tn.C_EFOP32317 EFOP32317
|
||||
,tn.C_KOMPLEXORA Komplexora
|
||||
,tn.C_GINOP623 GINOP623
|
||||
,tn.C_EFOP31716 EFOP31716
|
||||
,tn.C_EFOP33717 EFOP33717
|
||||
,tn.C_TIOP1111212012001 TIOP1111212012001
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = tn.C_TANARID
|
||||
LEFT JOIN @sorszamTable s ON s.tanitasiOraId = tn.ID
|
||||
LEFT JOIN T_HAZIFELADATOK hf ON hf.C_TANITASIORAID = tn.ID
|
||||
WHERE tn.TOROLT = 'F'
|
||||
AND tn.C_TANEVID = @tanevID
|
||||
AND tn.C_TANARID = @cTanarId
|
||||
AND tn.C_TANTARGYID = @cTantargyId
|
||||
AND tn.C_OSZTALYCSOPORTID = @cOsztalyCsoportId
|
||||
ORDER BY FORMAT(tn.C_DATUM, 'yyyy.MM.dd.')
|
||||
|
||||
FETCH NEXT FROM foglalkozasCursor
|
||||
INTO @cTantargyId, @cOsztalyCsoportId, @cTanarId
|
||||
END
|
||||
|
||||
CLOSE foglalkozasCursor
|
||||
DEALLOCATE foglalkozasCursor
|
||||
|
||||
IF (SELECT COUNT(Nev) FROM #Foglalkozasok) = 0 BEGIN
|
||||
DECLARE @nincsAdat TABLE (
|
||||
OraSorszam int,
|
||||
TanarNev nvarchar(1),
|
||||
Tema nvarchar(1),
|
||||
Helyettesites int,
|
||||
Datum datetime,
|
||||
OraSzam int,
|
||||
Megjegyzes nvarchar(1),
|
||||
HaziFeladat nvarchar(1),
|
||||
TulOra char,
|
||||
TamopOra char,
|
||||
NemszakrendszeruOra char,
|
||||
IktOra char,
|
||||
NemzetisegiOra char,
|
||||
TestnevelesOra char,
|
||||
IprOra char,
|
||||
DifferencialtOra char,
|
||||
KooperativOra char,
|
||||
MeresOra char,
|
||||
DramaOra char,
|
||||
ParhuzamosOra char,
|
||||
TiopOra char,
|
||||
KIPOra char,
|
||||
VEKOP73317 char,
|
||||
KAPOra char
|
||||
)
|
||||
SELECT * FROM @nincsAdat;
|
||||
END
|
||||
|
||||
-- Iktatás adatok
|
||||
IF @tanarID IS NOT NULL BEGIN
|
||||
SELECT f.ID AS PedagogusId
|
||||
,f.C_OKTATASIAZONOSITO AS PedagogusOktAzon
|
||||
,mua.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
||||
FROM T_FELHASZNALO_OSSZES AS f
|
||||
LEFT JOIN T_MUNKAUGYIADATOK_OSSZES AS mua ON mua.C_ALKALMAZOTTID = f.ID
|
||||
WHERE f.ID = @tanarID
|
||||
AND f.C_TANEVID = @tanevID
|
||||
END
|
||||
IF @osztalyID IS NOT NULL BEGIN
|
||||
DECLARE @isCsoport INT = (SELECT COUNT(ID) FROM T_CSOPORT_OSSZES WHERE ID = @osztalyID)
|
||||
IF @isCsoport = 0 BEGIN
|
||||
SELECT
|
||||
ocs.ID AS OsztalyId
|
||||
,o.C_OSZTALYFONOKID AS OsztalyfonokId
|
||||
,ocs.C_EVFOLYAMTIPUSA EvfolyamTipusa
|
||||
,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
|
||||
,o.C_TANTERVID TantervId
|
||||
,o.C_KEPZESIFORMA KepzesiForma
|
||||
,o.C_AGAZAT Agazat
|
||||
,o.C_SZAKMACSOPORT SzakmaCsoport
|
||||
,o.C_SZAKKEPESITES Szakkepesites
|
||||
,o.C_RESZSZAKKEPESITES Reszszakkepesites
|
||||
,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves
|
||||
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
||||
,o.C_TECHNIKAIOSZTALY OJTechnikaiOsztaly
|
||||
,o.C_NEMZETISEGI OJNemzetisegi
|
||||
,o.C_KETTANNYELVU OJKettannyelvu
|
||||
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
|
||||
,o.C_LOGOPEDIAI OJLogopediai
|
||||
,o.C_SPORT OJSportOsztaly
|
||||
,o.C_AJPROGRAM OJAranyJanosProgram
|
||||
,o.C_GYOGYPEDAGOGIAI OJGyogypedagogiai
|
||||
FROM T_OSZTALYCSOPORT_OSSZES AS ocs
|
||||
INNER JOIN T_OSZTALY_OSSZES AS o ON ocs.id = o.ID
|
||||
WHERE ocs.TOROLT='F'
|
||||
AND ocs.ID = @osztalyId
|
||||
AND ocs.C_TANEVID = @tanevId
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT
|
||||
ocs.ID AS CsoportId
|
||||
,cs.C_CSOPORTVEZETOID AS CsoportvezetoId
|
||||
,cs.C_TIPUSA AS CsoportTipusa
|
||||
,ISNULL(ocs.C_EVFOLYAMTIPUSA, 1296) AS EvfolyamTipusa -- 1296 = Na
|
||||
,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
|
||||
,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves
|
||||
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
||||
FROM T_OSZTALYCSOPORT_OSSZES AS ocs
|
||||
INNER JOIN T_CSOPORT_OSSZES AS cs ON cs.ID = ocs.ID
|
||||
WHERE ocs.TOROLT = 'F'
|
||||
AND ocs.ID = @osztalyID
|
||||
AND ocs.C_TANEVID = @tanevID
|
||||
END
|
||||
SELECT DISTINCT
|
||||
felh.ID AS TanarId
|
||||
,felh.C_OKTATASIAZONOSITO AS TanarOktAzon
|
||||
FROM #Foglalkozasok AS fogl
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felh ON felh.ID = fogl.C_TANARID
|
||||
END
|
||||
|
||||
DROP TABLE #Foglalkozasok
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,51 @@
|
||||
-- =============================================
|
||||
-- Description: Tanul<75>k gondvisel<65>inek bel<65>p<EFBFBD>si adatai
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetHozzatartozok]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetHozzatartozok]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetHozzatartozok]
|
||||
@osztalyId int = null,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
declare @Hozzaferesek table (Osztaly nvarchar(max), OsztalyId int, Intezmeny nvarchar(max), TanuloNev nvarchar(max), Gondviselo nvarchar(max), Azonosito nvarchar(max), Jelszo nvarchar(max), Link nvarchar(max))
|
||||
insert into @Hozzaferesek
|
||||
select distinct Osztaly.Osztaly, Osztaly.Osztalyid, ia.c_nev Intezmeny, f.c_nyomtatasinev TanuloNev, g.c_nev Gondviselo, fb.c_bejelentkezesinev Azonosito, fb.c_jelszo Jelszo, 'https://'+lower(i.c_azonosito)+'.e-kreta.hu' as Link from t_gondviselo g
|
||||
inner join t_tanulo t on t.id=g.c_tanuloid and t.c_alintezmenyid=@intezmenyid and t.c_altanevid=@tanevid
|
||||
inner join t_felhasznalo f on f.id=t.id and f.torolt='F'
|
||||
inner join t_felhasznalobelepes fb on fb.c_gondviseloid=g.id and fb.torolt='F' and fb.C_KOTELEZOVALTOZTATNI = 'T'
|
||||
left join (select tcs.c_tanuloid TanuloId, ocs.c_nev as Osztaly, o.Id OsztalyId from t_tanulocsoport tcs
|
||||
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid and o.torolt='F' and o.c_alintezmenyid=@intezmenyid and o.c_altanevid=@tanevid
|
||||
inner join t_osztalycsoport ocs on ocs.id=o.id and ocs.c_intezmenyid=@intezmenyid and ocs.c_tanevid=@tanevid
|
||||
AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
where tcs.torolt='F' and tcs.c_intezmenyid=@intezmenyid and tcs.c_tanevid=@tanevId) Osztaly on Osztaly.Tanuloid=t.id
|
||||
inner join t_intezmenyadatok ia on ia.c_intezmenyid=t.c_alintezmenyid and ia.c_tanevid=@tanevId and ia.torolt='F'
|
||||
inner join t_intezmeny i on i.id=ia.c_intezmenyid and i.torolt='F'
|
||||
where g.torolt='F'
|
||||
order by TanuloNev
|
||||
|
||||
if @osztalyId is null
|
||||
begin
|
||||
select Osztaly, Intezmeny, TanuloNev, Gondviselo, Azonosito, Jelszo, Link from @Hozzaferesek
|
||||
end
|
||||
else
|
||||
begin
|
||||
select Osztaly, Intezmeny, TanuloNev, Gondviselo, Azonosito, Jelszo, Link from @Hozzaferesek where Osztalyid=@osztalyid
|
||||
end
|
||||
End
|
||||
go
|
@@ -0,0 +1,55 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetIgazolasInfo]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetIgazolasInfo]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetIgazolasInfo]
|
||||
@pIgazolasId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
|
||||
SELECT
|
||||
igazolas.ID ID
|
||||
,tanulo.ID TanuloId
|
||||
,tanulo.C_NYOMTATASINEV Nev
|
||||
,IIF(tanulo.C_NEVSORREND = 'T', --
|
||||
tanulo.C_UTONEV + ' ' + tanulo.C_VEZETEKNEV, --
|
||||
tanulo.C_VEZETEKNEV + ' ' + tanulo.C_UTONEV) NevElotagNelkul
|
||||
,tanuloCsoport.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
,osztalyCsoport.C_NEV OsztalyCsoport
|
||||
,igazolas.C_KEZDETE Kezdete
|
||||
,igazolas.C_VEGE Vege
|
||||
,igazolas.C_IGAZOLASTIPUSA IgazolasTipusa
|
||||
,igazolas.C_MEGJEGYZES Megjegyzes
|
||||
,igazolas.C_ROGZITESDATUMA RogzitesDatuma
|
||||
,felhasznalo.C_NYOMTATASINEV Rogzito
|
||||
,IIF(felhasznalo.C_NEVSORREND = 'T', --
|
||||
felhasznalo.C_UTONEV + ' ' + felhasznalo.C_VEZETEKNEV, --
|
||||
felhasznalo.C_VEZETEKNEV + ' ' + felhasznalo.C_UTONEV) RogzitoElotagNelkul
|
||||
|
||||
FROM T_IGAZOLAS igazolas
|
||||
INNER JOIN T_FELHASZNALO felhasznalo ON felhasznalo.ID = igazolas.C_ROGZITOID
|
||||
INNER JOIN T_FELHASZNALO tanulo ON tanulo.ID = igazolas.C_TANULOID
|
||||
LEFT JOIN T_TANULOCSOPORT tanuloCsoport ON tanulocsoport.C_TANULOID = igazolas.C_TANULOID
|
||||
Left JOIN T_OSZTALYCSOPORT osztalyCsoport ON tanuloCsoport.C_OSZTALYCSOPORTID = osztalyCsoport.ID AND osztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
WHERE igazolas.ID = @pIgazolasId AND igazolas.Torolt='F' AND tanuloCsoport.C_BELEPESDATUM <= igazolas.C_KEZDETE
|
||||
AND (tanuloCsoport.C_KILEPESDATUM > igazolas.C_KEZDETE OR tanuloCsoport.C_KILEPESDATUM IS NULL)
|
||||
AND tanulocsoport.C_OSZTALYCSOPORTID IN (
|
||||
SELECT
|
||||
T_OSZTALY.ID
|
||||
FROM T_OSZTALY
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId)
|
||||
ORDER BY igazolas.ID DESC
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,58 @@
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetKozossegiJelentkezesLap]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetKozossegiJelentkezesLap]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pOsztalyId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
/* TANULO */
|
||||
SELECT
|
||||
dbo.fnGetDokumentumDatumFormatum(f.C_SZULETESIDATUM) AS SzulIdo
|
||||
,f.C_NYOMTATASINEV AS TanuloNeve
|
||||
,f.C_SZULETESINEV AS SzuletesiNev
|
||||
,ocs.C_NEV AS Osztaly
|
||||
,t.ID AS TanuloId
|
||||
,f.C_OKTATASIAZONOSITO AS OktAzon
|
||||
INTO #Tanulok
|
||||
FROM T_TANULO_OSSZES AS t
|
||||
INNER JOIN T_TANTERV_OSSZES AS tt ON tt.ID = t.C_TANTERVID AND tt.TOROLT ='F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES AS f ON f.ID = t.ID AND f.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES AS tcs ON tcs.C_TANULOID = t.ID AND tcs.TOROLT = 'F' AND tcs.C_OSZTALYCSOPORTID = @pOsztalyId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS d ON d.id=f.C_ALLAMPOLGARSAGA AND d.C_TANEVID = f.C_TANEVID AND d.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
WHERE ocs.ID = @pOsztalyId
|
||||
AND t.C_ALINTEZMENYID = @pIntezmenyId
|
||||
AND t.C_ALTANEVID = @pTanevId
|
||||
|
||||
SELECT * FROM #Tanulok
|
||||
|
||||
/* INTEZMENYADATOK */
|
||||
SELECT DISTINCT
|
||||
ia.C_NEV AS IntezmenyNev
|
||||
,ia.C_IGAZGATONEVE AS IgazgatoNev
|
||||
,dbo.fnGetDokumentumIntezmenyCime (@pTanevId) AS IntezmenyCim
|
||||
,ia.C_TELEFONSZAM AS IntezmenyTelefonszam
|
||||
,ia.C_EMAILCIM AS IntezmenyEmail
|
||||
,ia.C_OMKOD AS OktAzon
|
||||
,tv.C_NEV AS Tanev
|
||||
FROM T_TANEV_OSSZES AS tv
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES AS ia ON tv.ID = ia.C_TANEVID
|
||||
WHERE tv.ID = @pTanevId
|
||||
|
||||
/* GONDVISELO */
|
||||
SELECT g.C_NEV AS GondviseloNeve
|
||||
,g.C_TANULOID AS TanuloId
|
||||
FROM T_GONDVISELO_OSSZES AS g
|
||||
INNER JOIN #Tanulok AS Tanulok ON Tanulok.TanuloId = g.C_TANULOID
|
||||
WHERE g.C_ISTORVENYESKEPVISELO = 'T'
|
||||
AND (g.C_ISCSOKKENTETTGONDVISELO IS NULL OR g.C_ISCSOKKENTETTGONDVISELO = 'F')
|
||||
AND g.C_TANEVID = @pTanevId
|
||||
END
|
||||
GO
|
||||
|
||||
|
@@ -0,0 +1,67 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje]
|
||||
@tanevID int,
|
||||
@intezmenyId int
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
declare @honapok table(honap int, honapnev nvarchar(max));
|
||||
insert into @honapok
|
||||
select distinct d.c_value as Honap, d.c_name as Honap from t_dictionaryitembase d where c_type like 'honap%' order by d.c_value
|
||||
|
||||
declare @napkoziscsoportok table(csoport int, csoportNev nvarchar(max));
|
||||
insert into @napkoziscsoportok
|
||||
select distinct tcs.c_osztalycsoportid as Csoport, ocs.c_nev from t_csoport cs
|
||||
inner join t_osztalycsoport ocs on ocs.id=cs.id AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
inner join t_tanulocsoport tcs on tcs.c_osztalycsoportid=ocs.id
|
||||
where cs.c_tipusa=1035 and cs.c_altanevid=@tanevid and cs.c_alintezmenyid=@intezmenyid and cs.torolt='F'
|
||||
|
||||
--
|
||||
DECLARE kurzorHonap CURSOR FOR
|
||||
select Honap from @honapok
|
||||
DECLARE @Honap int
|
||||
|
||||
DECLARE kurzorCsoport CURSOR FOR
|
||||
select csoport from @napkoziscsoportok
|
||||
DECLARE @Csoport int
|
||||
|
||||
OPEN kurzorHonap
|
||||
FETCH NEXT FROM kurzorHonap INTO @Honap
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
OPEN kurzorCsoport
|
||||
FETCH NEXT FROM kurzorCsoport INTO @Csoport
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
create table #tabla(COLUMN108 nvarchar(max), [1] int,[2] int,[3] int,[4] int,[5] int,[6] int,[7] int,[8] int,[9] int,[10] int,[11] int,[12] int,[13] int,[14] int,[15] int,[16] int,[17] int,[18] int,[19] int,[20] int,[21] int,[22] int,[23] int,[24] int,[25] int,[26] int,[27] int,[28] int,[29] int,[30] int,[31] int, COLUMN2672 int, COLUMN1910 int, COLUMN5197 int, COLUMN1786 int, COLUMN1787 int, COLUMN1788 int, COLUMN1789 int, COLUMN1911 int)
|
||||
insert into #tabla
|
||||
EXEC [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje_1] @tanevID, @intezmenyId, @Csoport, @honap
|
||||
SELECT * from #tabla
|
||||
drop table #tabla
|
||||
FETCH NEXT FROM kurzorCsoport INTO @Csoport
|
||||
END
|
||||
FETCH NEXT FROM kurzorHonap INTO @Honap
|
||||
CLOSE kurzorCsoport
|
||||
END
|
||||
CLOSE kurzorHonap
|
||||
DEALLOCATE kurzorCsoport
|
||||
DEALLOCATE kurzorHonap
|
||||
--
|
||||
select honapnev from @honapok
|
||||
select csoportnev from @napkoziscsoportok
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
||||
|
@@ -0,0 +1,209 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetOrarendKereszttabla_Pedagogus') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOrarendKereszttabla_Pedagogus
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOrarendKereszttabla_Pedagogus
|
||||
@tanevId INT,
|
||||
@aktivTanevId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA=1395 AND C_TANEVID=@tanevid AND TOROLT='F')
|
||||
,@HetEleje DATE
|
||||
,@HetVege DATE
|
||||
|
||||
IF (@tanevId = @AktivtanevId AND GETDATE() <= @UtolsoNap)
|
||||
BEGIN
|
||||
SET @HetEleje = (SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, NH.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
|
||||
SET @HetVege = (SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
|
||||
SET @HetEleje = (SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
|
||||
SET @HetVege = (SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
|
||||
END
|
||||
|
||||
CREATE TABLE #KapcsolodoCsoportok (OsztalyId INT, OsztalyCsoportId INT)
|
||||
INSERT INTO #KapcsolodoCsoportok
|
||||
SELECT DISTINCT
|
||||
o.ID Osztaly
|
||||
,k.ID KapcsolodoCsoport
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
CROSS APPLY fnGetKapcsolodoOsztalycsoportokByDate(ID, @HetEleje, @HetVege) k
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE
|
||||
o.TOROLT = 'F'
|
||||
AND o.C_ALTANEVID = @tanevId
|
||||
|
||||
DECLARE @PedagogushozKapcsolodoOsszesOrarendiora TABLE (OsztalyId INT, OsztalyCsoportId INT, OrarendiOraId INT, TantargyId INT, PedagogusId INT, TeremId INT, HetirendId INT, HetnapjaId INT, Oraszam INT, OraErvenyessegKezdete DATE, OraErvenyessegVege DATE)
|
||||
INSERT INTO @PedagogushozKapcsolodoOsszesOrarendiora
|
||||
SELECT
|
||||
k.OsztalyId
|
||||
,K.OsztalyCsoportId
|
||||
,o.ID
|
||||
,C_TANTARGYID
|
||||
,C_TANARID
|
||||
,C_TEREMID
|
||||
,C_HETIREND
|
||||
,C_HETNAPJA
|
||||
,C_ORASZAM
|
||||
,C_ORAERVENYESSEGKEZDETE
|
||||
,C_ORAERVENYESSEGVEGE
|
||||
FROM #KapcsolodoCsoportok k
|
||||
LEFT JOIN T_ORARENDIORA_OSSZES o ON o.C_OSZTALYCSOPORTID = k.OsztalyCsoportId
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
|
||||
CREATE TABLE #temp (PedagogusId INT, HetirendId INT, HetirendNev NVARCHAR(MAX), HetnapjaId INT, Oraszam INT, TantargyNev NVARCHAR(MAX), TeremNev NVARCHAR(MAX), OsztalyNev NVARCHAR(MAX))
|
||||
INSERT INTO #temp
|
||||
SELECT
|
||||
OrarendiOra.PedagogusId PedagogusId
|
||||
,OrarendiOra.HetirendId HetirendId
|
||||
,hetirend.C_NAME HetirendNev
|
||||
,OrarendiOra.HetnapjaId HetnapjaId
|
||||
,OrarendiOra.Oraszam Oraszam
|
||||
,ISNULL(Tantargy.C_NEVNYOMTATVANYBAN, Tantargy.C_NEV) TantargyNev
|
||||
,Terem.C_NEV TeremNev
|
||||
,ocs.C_NEV OsztalyNev
|
||||
FROM @PedagogushozKapcsolodoOsszesOrarendiora OrarendiOra
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.TantargyId
|
||||
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.TeremId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES hetirend ON hetirend.Id = OrarendiOra.HetirendId AND hetirend.C_TANEVID = @tanevId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.Id = OrarendiOrA.OsztalyCsoportId AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE
|
||||
OrarendiOra.OraErvenyessegKezdete <= @Hetvege
|
||||
AND OrarendiOra.OraErvenyessegVege >= @Heteleje
|
||||
|
||||
DECLARE @Hetirendek TABLE (Id INT)
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT HetirendId FROM #temp
|
||||
|
||||
DECLARE @OsszesOra TABLE (PedagogusId INT, Hetirend INT, Nap INT, Oraszam INT)
|
||||
INSERT INTO @OsszesOra
|
||||
SELECT DISTINCT PedagogusId, oo.Id, Nap.Nap , OraSzam.OraSzam FROM @Hetirendek oo
|
||||
CROSS JOIN (SELECT DISTINCT PedagogusId FROM #temp) Pedagogus(PedagogusId)
|
||||
CROSS JOIN (SELECT DISTINCT Oraszam FROM #temp) OraSzam (OraSzam)
|
||||
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412),(1413)) Nap (Nap)
|
||||
|
||||
DECLARE @TenylegesOra TABLE (PedagogusId INT, Nap INT, OraSzam INT, Foglalkozas NVARCHAR(MAX))
|
||||
INSERT INTO @TenylegesOra
|
||||
SELECT
|
||||
PedagogusId
|
||||
,HetnapjaId
|
||||
,Oraszam
|
||||
,STUFF((SELECT DISTINCT ', ' + CAST(bveg.TantargyNev+' (' +bveg.OsztalyNev+', ' + bveg.TeremNev +', ' +HetirendNev+')' AS VARCHAR(max))
|
||||
FROM #temp bveg
|
||||
WHERE
|
||||
bveg.HetnapjaId=veg.HetnapjaId
|
||||
AND bveg.Oraszam=veg.Oraszam
|
||||
AND (bveg.HetirendId=HetirendId OR bveg.HetirendId=1554)
|
||||
AND bveg.PedagogusId = veg.PedagogusId
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,2,' ') Foglalkozasok
|
||||
FROM #temp veg
|
||||
|
||||
/*V<EFBFBD>gleges <20>rarend*/
|
||||
CREATE TABLE #Orarend (PedagogusId INT, PedagogusNev NVARCHAR(MAX), Ora INT, Nap INT, Foglalkozas NVARCHAR(MAX))
|
||||
INSERT INTO #Orarend
|
||||
SELECT
|
||||
OsszesOra.PedagogusId
|
||||
,ped.C_NYOMTATASINEV
|
||||
,OsszesOra.Oraszam
|
||||
,OsszesOra.Nap
|
||||
,TenylegesOra.Foglalkozas
|
||||
FROM @OsszesOra OsszesOra
|
||||
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Nap=TenylegesOra.Nap AND OsszesOra.Oraszam=TenylegesOra.Oraszam AND TenylegesOra.PedagogusId = OsszesOra.PedagogusId
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES ped ON ped.ID = OsszesOra.PedagogusId
|
||||
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
|
||||
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
CREATE TABLE #Napok (Nev NVARCHAR(MAX), Oraszam INT, Rendez INT)
|
||||
INSERT INTO #Napok
|
||||
SELECT DISTINCT
|
||||
*
|
||||
, CASE
|
||||
WHEN nap = 'hetfo' THEN 1
|
||||
WHEN nap = 'kedd' THEN 2
|
||||
WHEN nap = 'szerda' THEN 3
|
||||
WHEN nap = 'csutortok' THEN 4
|
||||
WHEN nap = 'pentek' THEN 5
|
||||
END
|
||||
FROM (VALUES ('hetfo'), ('kedd'), ('szerda'), ('csutortok'), ('pentek')) AS napok(nap)
|
||||
CROSS JOIN (SELECT DISTINCT Oraszam FROM #temp) OraSzam (OraSzam)
|
||||
|
||||
DECLARE @Oraszamok NVARCHAR(MAX),
|
||||
@OraszamokAlias NVARCHAR(MAX)
|
||||
|
||||
SELECT @Oraszamok = ISNULL(@Oraszamok + ', ', '') + '[' + CAST(Oraszam AS NVARCHAR(MAX)) + ']'
|
||||
FROM (SELECT DISTINCT Oraszam FROM #temp ) o
|
||||
|
||||
SELECT @OraszamokAlias = ISNULL(@OraszamokAlias + ', ', '') + Nev +'.' + '[' + CAST(Oraszam AS NVARCHAR(MAX)) + ']' FROM #Napok ORDER BY Rendez, Oraszam
|
||||
|
||||
DECLARE @sql NVARCHAR(MAX)
|
||||
SET @sql = '
|
||||
SELECT DISTINCT
|
||||
f.C_NYOMTATASINEV PedagogusNev,
|
||||
' + @OraszamokAlias + '
|
||||
FROM (SELECT DISTINCT PedagogusId FROM #temp) k
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
PedagogusId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1408
|
||||
) hetfo ON hetfo.PedagogusId = k.PedagogusId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
PedagogusId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1409
|
||||
) kedd ON kedd.PedagogusId = k.PedagogusId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
PedagogusId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1410
|
||||
) szerda ON szerda.PedagogusId = k.PedagogusId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
PedagogusId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1411
|
||||
) csutortok ON csutortok.PedagogusId = k.PedagogusId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
PedagogusId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1412
|
||||
) pentek ON pentek.PedagogusId = k.PedagogusId
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.Id = k.PedagogusId
|
||||
ORDER BY C_NYOMTATASINEV
|
||||
'
|
||||
|
||||
EXEC sp_executesql @sql
|
||||
|
||||
DROP TABLE #Napok
|
||||
DROP TABLE #Orarend
|
||||
DROP TABLE #KapcsolodoCsoportok
|
||||
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,109 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetStatPedagogusTanuloinakTantargyiMulasztasaiMegtartott]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetStatPedagogusTanuloinakTantargyiMulasztasaiMegtartott]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetStatPedagogusTanuloinakTantargyiMulasztasaiMegtartott]
|
||||
@tanarId INT,
|
||||
@tanevId INT,
|
||||
@iskolaErekeduTavolletId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Tan<EFBFBD>r
|
||||
DECLARE @osztalyCsoportTantargy TABLE (osztalyCsoport INT, Tantargy INT)
|
||||
INSERT INTO @osztalyCsoportTantargy
|
||||
SELECT DISTINCT
|
||||
C_OSZTALYCSOPORTID
|
||||
,C_TANTARGYID
|
||||
FROM T_ORARENDIORA_OSSZES
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID = ocs.ID AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE
|
||||
T_ORARENDIORA_OSSZES.C_TANARID=@tanarId
|
||||
AND T_ORARENDIORA_OSSZES.TOROLT = 'F'
|
||||
|
||||
--Tanul<EFBFBD>k
|
||||
CREATE TABLE #students (TanuloId INT)
|
||||
INSERT INTO #students
|
||||
SELECT DISTINCT
|
||||
C_TANULOID
|
||||
FROM T_TANULOCSOPORT_OSSZES
|
||||
WHERE C_OSZTALYCSOPORTID IN (SELECT osztalyCsoport FROM @osztalyCsoportTantargy)
|
||||
AND TOROLT = 'F'
|
||||
|
||||
--Taul<EFBFBD>k mulaszt<EFBFBD>sai
|
||||
CREATE TABLE #mulasztas (Ossz INT, Tanulo INT, Tantargy INT, OsztalyCsoport INT)
|
||||
INSERT INTO #mulasztas
|
||||
SELECT
|
||||
COUNT(tm.ID)
|
||||
, tm.C_ORATANULOIID
|
||||
, t.ID
|
||||
, tao.C_OSZTALYCSOPORTID
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao on tao.ID = tm.C_TANITASIORAKID
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.ID = tao.C_TANTARGYID
|
||||
INNER JOIN #students s on s.TanuloID = tm.C_ORATANULOIID
|
||||
INNER JOIN @osztalyCsoportTantargy ocst on ocst.osztalyCsoport=tao.C_OSZTALYCSOPORTID and ocst.Tantargy=tao.C_TANTARGYID
|
||||
WHERE
|
||||
tm.Torolt = 'F'
|
||||
AND tm.C_TIPUS = 1500
|
||||
AND ((tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES)) OR (tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))))
|
||||
AND tm.C_IGAZOLASTIPUSA <> @iskolaErekeduTavolletId
|
||||
GROUP BY tm.C_ORATANULOIID, t.ID, tao.C_OSZTALYCSOPORTID
|
||||
|
||||
--Napl<EFBFBD>zott <EFBFBD>ra tanul<EFBFBD>nk<EFBFBD>nt
|
||||
CREATE TABLE #naplozott (Tanulo INT, Tantargy INT, OsztalyCsoport INT, Ossz INT)
|
||||
INSERT INTO #naplozott
|
||||
SELECT
|
||||
m.Tanulo
|
||||
, m.Tantargy
|
||||
, m.OsztalyCsoport
|
||||
, COUNT(DISTINCT tao.ID)
|
||||
FROM #mulasztas m
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.C_OSZTALYCSOPORTID=m.OsztalyCsoport AND tao.C_TANTARGYID=m.Tantargy AND tao.C_MEGTARTOTT='T'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID=m.Tanulo AND tcs.C_OSZTALYCSOPORTID=m.OsztalyCsoport
|
||||
AND ((tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES)) OR (tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))))
|
||||
INNER JOIN @osztalyCsoportTantargy ocst on ocst.osztalyCsoport=tao.C_OSZTALYCSOPORTID and ocst.Tantargy=tao.C_TANTARGYID
|
||||
WHERE
|
||||
tao.TOROLT='F'
|
||||
AND tao.C_DATUM >= tcs.C_BELEPESDATUM
|
||||
GROUP BY m.Tanulo, m.Tantargy, m.OsztalyCsoport
|
||||
|
||||
DECLARE @cols AS NVARCHAR(MAX),
|
||||
@query AS NVARCHAR(MAX),
|
||||
@colsIn AS NVARCHAR(MAX)
|
||||
|
||||
SELECT @cols= ISNULL(@cols + ',','') + QUOTENAME(Tantargy) FROM (SELECT DISTINCT m.Tantargy Tantargy FROM #mulasztas m) Tantargy
|
||||
SELECT @colsIn= ISNULL(@colsIn + ',','') +'CONVERT(NVARCHAR(MAX),'+QUOTENAME(Tantargy) + ')+''%'' as ' + QUOTENAME(nev) FROM (SELECT DISTINCT m.Tantargy AS Tantargy, t.c_nev nev FROM #mulasztas m
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.id=m.Tantargy) TantargyCols
|
||||
|
||||
set @query='
|
||||
SELECT
|
||||
fel.C_NYOMTATASINEV Tanulo
|
||||
, '+@colsIn+'
|
||||
FROM (SELECT
|
||||
mulasztas.Tanulo
|
||||
, ROUND(CONVERT(FLOAT, mulasztas.Ossz)/CONVERT(FLOAT, naplozott.Ossz)*100, 0) Osszes
|
||||
, mulasztas.Tantargy
|
||||
FROM #students s
|
||||
INNER JOIN #mulasztas mulasztas on mulasztas.Tanulo=s.TanuloId
|
||||
INNER JOIN #naplozott naplozott on naplozott.Tantargy=mulasztas.Tantargy and naplozott.OsztalyCsoport=mulasztas.OsztalyCsoport and naplozott.Tanulo=mulasztas.Tanulo
|
||||
)a
|
||||
PIVOT (MAX(Osszes) FOR Tantargy IN ('+@cols+'))pv
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fel on fel.ID=Tanulo
|
||||
ORDER BY fel.C_NYOMTATASINEV
|
||||
'
|
||||
EXEC sp_executesql @query
|
||||
|
||||
DROP TABLE #students
|
||||
DROP TABLE #mulasztas
|
||||
DROP TABLE #naplozott
|
||||
|
||||
END
|
@@ -0,0 +1,148 @@
|
||||
-- ================================
|
||||
-- CREATED: 2017-02-17
|
||||
-- CREATOR: Telek Ákos
|
||||
-- ================================
|
||||
--
|
||||
-- A négy paraméter az alábbi:
|
||||
-- • Tanár ID-ja
|
||||
-- • Kellenek-e osztályok (ez szinte mindig igaz érték, azt állítja, hogy a lekérdezés a kapcsolódó osztályokat is include-olja)
|
||||
-- • Kellenek-e csoportok (ez azt állítja, hogy a lekérdezés a kapcsolódó csoportokat is include-olja)
|
||||
-- • Kellenek-e azok, amelyekben "csak" tanít, azaz nem ofő, vagy ilyesmi, hanem csak tanítja (ez pl osztályfőnöki funkcióknál, mulasztások kezelése hasonló esetekben hamis, azaz 0, de például feljegyzéseknél igaz).
|
||||
-- Ahol át kell vezetni (zárójelben a három változó paraméter státusza):
|
||||
-- • Tanári feladatok / Feljegyzések (1,1,1), Faliújság (1,1,1) illetve Tanított tanulók (1,1,1)
|
||||
-- • Osztályfőnöki feladatok / Igazolások (1,1,0), Mulasztások kezelése (1,1,0), Naplóellenőrzés (1,0,0), Osztály tanulói (1,0,0)
|
||||
-- • Dokumentumoknál, ha tanár nyitja meg, akkor szintén
|
||||
--
|
||||
-- Használata:
|
||||
--
|
||||
-- DECLARE @kapcsolodoOsztalyok TABLE (ID int)
|
||||
-- INSERT INTO @kapcsolodoOsztalyok (ID)
|
||||
-- EXEC sp_GetTanarKapcsolodoOsztalyai (150621, 1, 1, 1)
|
||||
--
|
||||
-- SELECT *
|
||||
-- FROM T_TABLE t
|
||||
-- INNER JOIN @kapcsolodoOsztalyok k ON t.C_OSZTALYCSOPORTID = k.ID
|
||||
--
|
||||
/*TODO:Tobb Osztaly*//*OM-1668*/
|
||||
|
||||
IF OBJECT_ID(N'dbo.sp_GetTanarKapcsolodoOsztalyai') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetTanarKapcsolodoOsztalyai
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.sp_GetTanarKapcsolodoOsztalyai
|
||||
@tanarId int
|
||||
,@osztalyKell bit = 1
|
||||
,@csoportKell bit = 1
|
||||
,@tartottOraKell bit = 1
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @sql nvarchar(max)
|
||||
|
||||
IF 1758 IN (SELECT C_SZEREPKORTIPUS FROM T_FELHASZNALO_SZEREPKOR INNER JOIN T_SZEREPKOR ON T_SZEREPKOR.ID = T_FELHASZNALO_SZEREPKOR.C_SZEREPKORID WHERE T_FELHASZNALO_SZEREPKOR.C_FELHASZNALOID = @tanarId) BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT o.ID
|
||||
FROM T_OSZTALY o
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF (SELECT C_MUNKAKORTIPUSA FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID = @tanarId) IN (1762, 1763, 3027, 3028) BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT o.ID
|
||||
FROM T_OSZTALY o
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF (SELECT C_VEZETOIORASZAMOK FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID = @tanarId) IN (6572, 6573, 6574) -- 6572 - Intézményvezető, 6573 - Tagintézmény-vezető, 6574 - Intézményegység-vezető
|
||||
BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT o.ID
|
||||
FROM T_OSZTALY o
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT ocs.ID
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID
|
||||
WHERE (o.C_OSZTALYFONOKID = @tanarId OR o.C_OFOHELYETTESID = @tanarId)
|
||||
AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
AND ocs.TOROLT = ''F'''
|
||||
END
|
||||
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT ocs.ID
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_CSOPORT cs ON cs.ID = ocs.ID
|
||||
WHERE cs.C_CSOPORTVEZETOID = @tanarId
|
||||
AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
AND ocs.TOROLT = ''F'''
|
||||
END
|
||||
|
||||
IF @tartottOraKell = 1 BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + 'UNION' + CHAR(13) + CHAR(10), '') + '
|
||||
SELECT f.C_OSZTALYCSOPORTID
|
||||
FROM T_FOGLALKOZAS f
|
||||
INNER JOIN T_OSZTALY o ON o.id = f.C_OSZTALYCSOPORTID
|
||||
WHERE f.C_TANARID = @tanarId
|
||||
AND f.TOROLT = ''F''
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + 'UNION' + CHAR(13) + CHAR(10), '') + '
|
||||
SELECT f.C_OSZTALYCSOPORTID
|
||||
FROM T_FOGLALKOZAS f
|
||||
INNER JOIN T_CSOPORT cs ON cs.id = f.C_OSZTALYCSOPORTID
|
||||
WHERE f.C_TANARID = @tanarId
|
||||
AND f.TOROLT = ''F''
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
END
|
||||
END
|
||||
END
|
||||
EXEC sp_executesql @sql, N'@tanarId int', @tanarId
|
||||
|
||||
END
|
||||
GO
|
||||
|
||||
|
@@ -0,0 +1,62 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanevKozbenKilepettTanulok]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanevKozbenKilepettTanulok]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: Rudlof Kristóf
|
||||
-- Create date: <Create Date,,>
|
||||
-- Description: <Description,,>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanevKozbenKilepettTanulok]
|
||||
@tanevID int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SELECT
|
||||
c_nev OsztalyNev
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID=o.ID AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE o.TOROLT='F' AND o.C_ALTANEVID=@tanevId
|
||||
|
||||
DECLARE osztalyKurzor CURSOR FOR
|
||||
SELECT ID
|
||||
FROM T_OSZTALY_OSSZES
|
||||
WHERE TOROLT='F'
|
||||
AND C_ALTANEVID=@tanevId
|
||||
DECLARE @Osztaly int
|
||||
|
||||
OPEN osztalyKurzor
|
||||
FETCH NEXT FROM osztalyKurzor INTO @Osztaly
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
SELECT ocs.C_NEV COLUMN379
|
||||
, f.C_NYOMTATASINEV COLUMN20
|
||||
, FORMAT(tcs.C_BELEPESDATUM, 'yyyy.MM.dd.') COLUMN3784
|
||||
, FORMAT(tcs.C_KILEPESDATUM, 'yyyy.MM.dd.') COLUMN1
|
||||
,tcs.C_ZARADEK COLUMN1557
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_OSZTALY_OSSZES o on tcs.C_OSZTALYCSOPORTID=o.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on o.ID=ocs.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f on f.ID=tcs.C_TANULOID
|
||||
WHERE
|
||||
tcs.C_KILEPESDATUM IS NOT NULL
|
||||
and tcs.C_TANEVID=@tanevId
|
||||
and o.ID=@Osztaly
|
||||
and tcs.TOROLT='F'
|
||||
ORDER BY f.C_NYOMTATASINEV
|
||||
FETCH NEXT FROM osztalyKurzor INTO @Osztaly
|
||||
END
|
||||
CLOSE osztalyKurzor
|
||||
DEALLOCATE osztalyKurzor
|
||||
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,38 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanuloExport]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanuloExport]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <>
|
||||
-- =============================================
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanuloExport]
|
||||
@tanevId int,
|
||||
@intezmenyid int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT f.C_NYOMTATASINEV 'Tanuló neve'
|
||||
,f.C_OKTATASIAZONOSITO 'Tanuló oktatási azonosító'
|
||||
,ocs.C_NEV 'Osztály / Csoport'
|
||||
,CONVERT(varchar(20), tcs.C_BELEPESDATUM, 102) 'Besorolás dátum'
|
||||
,CONVERT(varchar(20), tcs.C_KILEPESDATUM, 102) 'Kisorolás dátum'
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON tcs.C_TANULOID=f.ID AND f.TOROLT = 'F' AND f.C_INTEZMENYID = @intezmenyid AND f.C_TANEVID = @tanevid
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND ocs.TOROLT = 'F' AND ocs.C_INTEZMENYID = @intezmenyid AND ocs.C_TANEVID = @tanevid
|
||||
AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE tcs.TOROLT = 'F'
|
||||
AND tcs.C_INTEZMENYID = @intezmenyid
|
||||
AND tcs.C_TANEVID = @tanevid
|
||||
ORDER BY f.C_NYOMTATASINEV
|
||||
|
||||
END
|
||||
GO
|
@@ -0,0 +1,74 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanuloGondviseloExportData]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanuloGondviseloExportData]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Gondviselők adatait adja vissza>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanuloGondviseloExportData]
|
||||
@pTanevId INT
|
||||
,@pIntezmenyId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
|
||||
SELECT DISTINCT
|
||||
tanulo.ID TanuloId
|
||||
,felhasznalo.C_NYOMTATASINEV TanuloNeve
|
||||
,felhasznalo.C_OKTATASIAZONOSITO OktatasiAzonosito
|
||||
,osztcsop.C_NEV TanuloOsztalya
|
||||
,gondviselo.ID GondviseloId
|
||||
,gondviselo.C_NEV GondviseloNeve
|
||||
,gondviselo.C_ROKONSAGFOKA GondviseloRokonsagifoka
|
||||
,telefon.C_TELEFONSZAM GondviseloTelefonszama
|
||||
,email.C_EMAILCIM GondviseloEmailcime
|
||||
,tancsop.C_KILEPESDATUM KilepesDatuma
|
||||
FROM
|
||||
T_TANULO_OSSZES tanulo
|
||||
LEFT JOIN
|
||||
T_GONDVISELO_OSSZES gondviselo ON gondviselo.C_TANULOID = tanulo.ID
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tanulo.ID
|
||||
LEFT JOIN
|
||||
T_TANULOCSOPORT_OSSZES tancsop ON tancsop.C_TANULOID = tanulo.ID
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES osztcsop ON osztcsop.ID = tancsop.C_OSZTALYCSOPORTID AND osztcsop.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
LEFT JOIN
|
||||
T_TELEFON_OSSZES telefon ON telefon.C_GONDVISELOID = gondviselo.ID
|
||||
LEFT JOIN
|
||||
T_EMAIL_OSSZES email ON email.C_GONDVISELOID = gondviselo.ID
|
||||
WHERE
|
||||
(gondviselo.ID IS NULL OR gondviselo.ID IN (SELECT ID FROM T_GONDVISELO_OSSZES WHERE T_GONDVISELO_OSSZES.TOROLT='F'))
|
||||
AND felhasznalo.TOROLT ='F'
|
||||
AND (tancsop.C_OSZTALYCSOPORTID IS NULL OR tancsop.C_OSZTALYCSOPORTID IN (
|
||||
SELECT
|
||||
T_OSZTALY_OSSZES.ID
|
||||
FROM
|
||||
T_OSZTALY_OSSZES
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
WHERE
|
||||
T_OSZTALY_OSSZES.TOROLT='F'
|
||||
|
||||
)
|
||||
)
|
||||
AND tanulo.C_ALTANEVID = @pTanevId
|
||||
AND tanulo.C_ALINTEZMENYID = @pIntezmenyId
|
||||
ORDER BY
|
||||
felhasznalo.C_NYOMTATASINEV
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
@@ -0,0 +1,245 @@
|
||||
DROP PROCEDURE IF EXISTS sp_GetTanuloiAdatlapAdatok
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
|
||||
@osztCsopID INT,
|
||||
@TanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
CREATE TABLE #tanugyiAdatok (TanuloId int,TanugyiAdatId int)
|
||||
INSERT INTO #tanugyiAdatok (TanuloId,TanugyiAdatId)
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanugyiAdatokId
|
||||
FROM fnGetOsztalyCsoportTanuloinakTanugyiAdatai (@osztCsopID,default)
|
||||
|
||||
DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
--Fejléc
|
||||
SELECT
|
||||
T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
|
||||
T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
|
||||
dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime,
|
||||
T_INTEZMENYADATOK_OSSZES.C_OMKOD OMKod,
|
||||
T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
|
||||
T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
|
||||
T_TANEV_OSSZES.C_NEV TANEV,
|
||||
o.C_OSZTALYFONOKID PartnerID,
|
||||
f.C_NYOMTATASINEV OSZTALYFONOK,
|
||||
ocs.C_NEV OSZTALYNEV
|
||||
,@osztCsopID OsztalyId
|
||||
FROM T_INTEZMENYADATOK_OSSZES
|
||||
INNER JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and T_TANEV_OSSZES.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = @osztCsopID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
LEFT JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = o.C_OSZTALYFONOKID AND f.TOROLT = 'F'
|
||||
WHERE
|
||||
T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
|
||||
AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = @TanevId
|
||||
|
||||
CREATE TABLE #EmailCimTableTemp (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
|
||||
INSERT INTO #EmailCimTableTemp
|
||||
SELECT
|
||||
TanuloId
|
||||
,C_EMAILCIM
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
|
||||
INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
|
||||
WHERE
|
||||
email.TOROLT = 'F'
|
||||
AND email.C_TANEVID = @TanevId
|
||||
AND LEN(C_EMAILCIM) > 0
|
||||
|
||||
CREATE TABLE #EmailCimTable (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
|
||||
INSERT INTO #EmailCimTable
|
||||
SELECT DISTINCT
|
||||
FelhasznaloId
|
||||
,STUFF((
|
||||
SELECT DISTINCT CAST(Btemp.EmailCim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
||||
FROM #EmailCimTableTemp btemp
|
||||
WHERE
|
||||
temp.FelhasznaloId = btemp.FelhasznaloId
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,0,'') Email
|
||||
FROM #EmailCimTableTemp temp
|
||||
|
||||
CREATE TABLE #TelefonszamTableTemp (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
|
||||
INSERT INTO #TelefonszamTableTemp
|
||||
SELECT
|
||||
TanuloId
|
||||
,C_TELEFONSZAM
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
|
||||
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
|
||||
WHERE
|
||||
telefon.TOROLT = 'F'
|
||||
AND telefon.C_TANEVID = @TanevId
|
||||
AND LEN(C_TELEFONSZAM) > 0
|
||||
|
||||
CREATE TABLE #TelefonszamTable (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
|
||||
INSERT INTO #TelefonszamTable
|
||||
SELECT DISTINCT
|
||||
FelhasznaloId
|
||||
,STUFF((
|
||||
SELECT DISTINCT CAST(Btemp.Telefonszam AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
||||
FROM #TelefonszamTableTemp btemp
|
||||
WHERE
|
||||
temp.FelhasznaloId = btemp.FelhasznaloId
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,0,'') Telefonszam
|
||||
FROM #TelefonszamTableTemp temp
|
||||
|
||||
CREATE TABLE #TanuloCimTable (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa INT)
|
||||
INSERT INTO #TanuloCimTable
|
||||
SELECT DISTINCT
|
||||
TanuloId
|
||||
,STUFF((
|
||||
SELECT CAST(Btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
||||
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @osztCsopID) btemp
|
||||
WHERE
|
||||
temp.TanuloId = btemp.TanuloId
|
||||
AND temp.CimTipusa = btemp.CimTipusa
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,0,'') Cim
|
||||
,temp.CimTipusa
|
||||
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @osztCsopID) temp
|
||||
|
||||
CREATE TABLE #GondviselokTableTemp (FelhasznaloId INT, Gondviselo NVARCHAR(MAX))
|
||||
INSERT INTO #GondviselokTableTemp
|
||||
SELECT
|
||||
Gondviselo.TanuloId TanuloId
|
||||
,Gondviselo.GondviseloNev + ISNULL('('+rokonsagiFoka.C_NAME+')', '') Gondviselo
|
||||
FROM fnGetDokumentumGondviselok (@osztCsopID, @tanevId, 'F', 'T') Gondviselo
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES rokonsagiFoka ON Gondviselo.RokonsagifokId = rokonsagiFoka.ID AND rokonsagiFoka.C_TANEVID = @TanevId
|
||||
|
||||
CREATE TABLE #GondviselokTable (FelhasznaloId INT, Gondviselo NVARCHAR(MAX))
|
||||
INSERT INTO #GondviselokTable
|
||||
SELECT DISTINCT
|
||||
FelhasznaloId
|
||||
,STUFF((
|
||||
SELECT ', ' + btemp.Gondviselo
|
||||
FROM #GondviselokTableTemp btemp
|
||||
WHERE
|
||||
temp.FelhasznaloId = btemp.FelhasznaloId
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,2,'') Gondviselo
|
||||
FROM #GondviselokTableTemp temp
|
||||
|
||||
|
||||
--Tanulók Adatai
|
||||
SELECT DISTINCT
|
||||
tta.C_BEIRASINAPLOSORSZAM,
|
||||
tanulok.NaploSorszam NaploSorszam,
|
||||
tanulok.TorzslapSzam TorzslapSzam,
|
||||
T_TANEV_OSSZES.C_NEV TANEV,
|
||||
T_OSZTALYCSOPORT_OSSZES.C_NEV OSZTALYNEV,
|
||||
T_OSZTALY_OSSZES.C_KEPZESIFORMA Kepzesiforma,
|
||||
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV NEV,
|
||||
gondviselo.Gondviselo GONDVISELO,
|
||||
T_FELHASZNALO_OSSZES.C_SZULETESINEV SZULETESINEV,
|
||||
T_FELHASZNALO_OSSZES.C_ANYJANEVE ANYJANEVE,
|
||||
T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO,
|
||||
T_FELHASZNALO_OSSZES.C_SZULETESIHELY,
|
||||
T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG Szuletesiorszag,
|
||||
FORMAT(T_FELHASZNALO_OSSZES.C_SZULETESIDATUM, 'yyyy.MM.dd.') C_SZULETESIDATUM,
|
||||
T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA Allampolgarsag,
|
||||
T_FELHASZNALO_OSSZES.C_ANYANYELVE Anyanyelv,
|
||||
tta.C_NYILVANTARTASKEZDETE,
|
||||
tta.C_TANKOTELEZETT Tankotelezett,
|
||||
tta.C_TANKOTELEZETTSEGVEGE,
|
||||
tta.C_JOGVISZONYVARHATOBEFEJEZESE,
|
||||
T_TANULO_OSSZES.C_DIAKIGAZOLVANYSZAM,
|
||||
T_TANULO_OSSZES.C_DIAKIGAZOLVANYKELTE,
|
||||
T_TANULO_OSSZES.C_BANKSZAMLASZAM,
|
||||
AllandoLakcim.Cim,
|
||||
TartozkodasiHely.CIM TartozkodasiHely,
|
||||
telefon.Telefonszam C_TELEFONSZAM,
|
||||
email.EmailCim C_EMAILCIM,
|
||||
tta.C_BEJARO Bejaro,
|
||||
tta.C_SZAKMAIGYAKORLATON Szakmaigyak,
|
||||
tta.C_VENDEG Vendeg,
|
||||
tta.C_JOGVISZONYATSZUNETELTETO Jogviszonyszunetelteto,
|
||||
tta.C_MAGANTANULO Magantanulo,
|
||||
maganTanuloOk.C_NAME as C_MAGANTANULOSAGANAKOKA,
|
||||
tta.C_MAGANTANULOSAGKEZDETE,
|
||||
T_TANULO_OSSZES.C_SZAKKEPESITESSZAMA,
|
||||
T_TANULO_OSSZES.C_TANULOIJOGVISZONYOSELTARTOTT,
|
||||
T_TANULO_OSSZES.C_TOBBGYERMEKIGAZOLASSZAMA,
|
||||
tta.C_EVISMETLO Evismetlo,
|
||||
T_TANULO_OSSZES.C_SZOCIALISTAMOGATAS Szoctam,
|
||||
T_TANULO_OSSZES.C_HATRANYOSHELYZETU,
|
||||
T_TANULO_OSSZES.C_VESZELYEZTETETT Veszelyeztetett,
|
||||
T_TANULO_OSSZES.C_HALMOZOTTANFOGYATEKOS Halmfogyatekos,
|
||||
T_TANULO_OSSZES.C_ETKEZESIKEDVEZMENY,
|
||||
tta.C_TERITESIDIJATFIZETO Teriteses,
|
||||
tta.C_TANDIJATFIZETO Tandijas,
|
||||
T_TANULO_OSSZES.C_INGYENESTANKONVYELLATASA,
|
||||
tta.C_TANULOSZERZODESES Tanszerzodeses,
|
||||
tta.C_POLGARISZERZODESES Polgszerzodeses,
|
||||
T_TANULO_OSSZES.C_RENDSZERESGYERMEKVEDELMIKEDV,
|
||||
T_TANULO_OSSZES.C_ALLAMIGONDOZOTT Allamigond,
|
||||
T_TANULO_OSSZES.C_KOLLEGIUMIELLATASOS Kollegiumi,
|
||||
T_TANULO_OSSZES.C_TARTOSGYOGYKEZELESSZAMA,
|
||||
T_TANULO_OSSZES.C_SAJATOSNEVELESU Sajatosnevelesu,
|
||||
T_TANULO_OSSZES.C_SNILETSZAMSULY,
|
||||
T_TANULO_OSSZES.C_SNIKIALLITOINTEZMENY,
|
||||
FORMAT(T_TANULO_OSSZES.C_SNIOKMANYERVENYESSEGKEZDETE, 'yyyy.MM.dd.') C_SNIOKMANYERVENYESSEGKEZDETE,
|
||||
T_TANULO_OSSZES.C_BTMPROBLEMAS Btmproblemas,
|
||||
T_TANULO_OSSZES.C_BTMLETSZAMSULY,
|
||||
T_TANULO_OSSZES.C_BTMHATAROZATOKMANYSZAM,
|
||||
FORMAT(T_TANULO_OSSZES.C_BTMOKMANYERVENYESSEGKEZDETE, 'yyyy.MM.dd.') C_BTMOKMANYERVENYESSEGKEZDETE,
|
||||
T_TANULO_OSSZES.C_BTMKIALLITOINTEZMENY,
|
||||
T_TANULO_OSSZES.C_ELSOINTEZMENYOMKOD,
|
||||
T_FELHASZNALO_OSSZES.C_IGAZOLVANYSZAM,
|
||||
igazolvanyTipusa.C_NAME AS IgazolvanyTipusa
|
||||
,T_TANULO_OSSZES.ID AS TanuloId
|
||||
,@osztCsopID AS OsztalyId
|
||||
--megjegyzés
|
||||
FROM T_FELHASZNALO_OSSZES
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulok ON tanulok.TanuloId = T_FELHASZNALO_OSSZES.Id
|
||||
INNER JOIN T_TANULO_OSSZES on T_TANULO_OSSZES.ID = T_FELHASZNALO_OSSZES.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_TANULOID = T_FELHASZNALO_OSSZES.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
INNER JOIN T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID
|
||||
INNER JOIN #tanugyiAdatok ta ON ta.TanuloId=T_FELHASZNALO_OSSZES.ID
|
||||
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.ID=ta.TanugyiAdatId
|
||||
LEFT JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
|
||||
LEFT JOIN #TelefonszamTable telefon on telefon.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
|
||||
LEFT JOIN #EmailCimTable email on email.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
|
||||
LEFT JOIN #GondviselokTable gondviselo on gondviselo.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES igazolvanyTipusa ON T_FELHASZNALO_OSSZES.C_IGAZOLVANYTIPUSA = igazolvanyTipusa.ID AND igazolvanyTipusa.C_TANEVID = @TanevId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES maganTanuloOk ON tta.C_MAGANTANULOSAGANAKOKAID = maganTanuloOk.ID AND maganTanuloOk.C_TANEVID = @TanevId AND maganTanuloOk.TOROLT='F'
|
||||
LEFT JOIN #TanuloCimTable AllandoLakcim ON AllandoLakcim.FelhasznaloId = T_FELHASZNALO_OSSZES.ID AND AllandoLakcim.Cimtipusa = 907
|
||||
LEFT JOIN #TanuloCimTable TartozkodasiHely ON TartozkodasiHely.FelhasznaloId = T_FELHASZNALO_OSSZES.ID AND TartozkodasiHely.Cimtipusa = 909
|
||||
WHERE
|
||||
T_FELHASZNALO_OSSZES.TOROLT = 'F'
|
||||
AND T_TANEV_OSSZES.TOROLT = 'F'
|
||||
AND T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
|
||||
AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
|
||||
ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
|
||||
|
||||
SELECT
|
||||
o.ID AS OsztalyId
|
||||
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
|
||||
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
||||
,o.C_KEPZESIFORMA AS KepzesiForma
|
||||
,o.C_OSZTALYFONOKID AS OsztalyfonokId
|
||||
,o.C_TANTERVID AS TantervId
|
||||
,o.C_SZAKMACSOPORT AS SzakmaCsoport
|
||||
,o.C_AGAZAT AS Agazat
|
||||
,o.C_SZAKKEPESITES AS Szakkepesites
|
||||
,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
|
||||
,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves
|
||||
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
||||
,o.C_TECHNIKAIOSZTALY OJTechnikaiOsztaly
|
||||
,o.C_NEMZETISEGI OJNemzetisegi
|
||||
,o.C_KETTANNYELVU OJKettannyelvu
|
||||
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
|
||||
,o.C_LOGOPEDIAI OJLogopediai
|
||||
,o.C_SPORT OJSportOsztaly
|
||||
,o.C_AJPROGRAM OJAranyJanosProgram
|
||||
,o.C_GYOGYPEDAGOGIAI OJGyogypedagogiai
|
||||
FROM T_OSZTALY_OSSZES AS o
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
|
||||
WHERE o.ID = @osztCsopID
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,127 @@
|
||||
-- =============================================
|
||||
-- Description: <El<45>szedj<64>k a tanul<75> alap adatait>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanuloiAlapadatok]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanuloiAlapadatok]
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanuloiAlapadatok]
|
||||
@pTanuloId INT
|
||||
,@pTanevId INT
|
||||
,@pIntezmenyId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Tanul<EFBFBD> aktu<EFBFBD>lis oszt<EFBFBD>ly<EFBFBD>nak ID-je
|
||||
DECLARE @osztalyId INT
|
||||
SELECT TOP 1
|
||||
@osztalyId = OsztalyCsoport.ID
|
||||
FROM
|
||||
T_TANULOCSOPORT_OSSZES TanuloCsoport
|
||||
INNER JOIN
|
||||
T_OSZTALY_OSSZES Osztaly ON
|
||||
TanuloCsoport.C_OSZTALYCSOPORTID = Osztaly.ID
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
||||
OsztalyCsoport.ID = Osztaly.ID
|
||||
AND OsztalyCsoport.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE
|
||||
C_TANULOID = @pTanuloId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND C_BELEPESDATUM < GETDATE()
|
||||
AND (C_KILEPESDATUM IS NULL OR C_KILEPESDATUM > GETDATE())
|
||||
|
||||
--NOTE: 0. t<EFBFBD>bla - Alapadatok
|
||||
SELECT
|
||||
Felhasznalo.C_OKTATASIAZONOSITO OktatasiAzonosito
|
||||
,Felhasznalo.C_ANYJANEVE AnyjaNeve
|
||||
,ISNULL(tanugyiAdatok.C_TORZSLAPSZAM,'') Torzslapszam
|
||||
,ISNULL(tanugyiAdatok.C_NAPLOSORSZAM,'') Naplosorszam
|
||||
FROM
|
||||
T_TANULO_OSSZES Tanulo
|
||||
INNER JOIN
|
||||
T_FELHASZNALO_OSSZES Felhasznalo ON
|
||||
Felhasznalo.ID = Tanulo.ID
|
||||
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Felhasznalo.C_TANEVID = @pTanevId
|
||||
AND Felhasznalo.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_TANULOCSOPORT_OSSZES TanuloCsoport ON
|
||||
TanuloCsoport.C_TANULOID = Tanulo.ID
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloCsoport.C_TANEVID = @pTanevId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_TANULOTANUGYIADATOK_OSSZES tanugyiAdatok ON tanugyiAdatok.C_TANULOCSOPORTID = tanuloCsoport.ID AND tanugyiAdatok.TOROLT = 'F'
|
||||
WHERE
|
||||
Tanulo.ID = @pTanuloId
|
||||
AND Tanulo.TOROLT = 'F'
|
||||
|
||||
--NOTE: 1. t<EFBFBD>bla - C<EFBFBD>mek
|
||||
SELECT
|
||||
Cim.C_IRANYITOSZAM + ', ' + --
|
||||
Cim.C_VAROS + ', ' + --
|
||||
Cim.C_KOZTERULET + ' ' + --
|
||||
KozteruletJelleg.C_NAME + ' ' + --
|
||||
ISNULL(Cim.C_HAZSZAM, '') CimText
|
||||
,CimTipus.C_NAME CimTipus
|
||||
,Cim.C_CIMTIPUSA CimTipusId
|
||||
FROM
|
||||
T_CIM_OSSZES Cim
|
||||
INNER JOIN
|
||||
T_DICTIONARYITEMBASE_OSSZES KozteruletJelleg ON
|
||||
KozteruletJelleg.ID = Cim.C_KOZTERULETJELLEGE
|
||||
AND KozteruletJelleg.C_INTEZMENYID = @pIntezmenyId
|
||||
AND KozteruletJelleg.C_TANEVID = @pTanevId
|
||||
AND KozteruletJelleg.TOROLT = 'F'
|
||||
INNER JOIN
|
||||
T_DICTIONARYITEMBASE_OSSZES CimTipus ON
|
||||
CimTipus.ID = Cim.C_CIMTIPUSA
|
||||
AND CimTipus.C_INTEZMENYID = @pIntezmenyId
|
||||
AND CimTipus.C_TANEVID = @pTanevId
|
||||
AND CimTipus.TOROLT = 'F'
|
||||
WHERE
|
||||
Cim.C_FELHASZNALOID = @pTanuloId
|
||||
AND Cim.C_GONDVISELOID IS NULL
|
||||
AND Cim.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Cim.C_TANEVID = @pTanevId
|
||||
AND Cim.TOROLT = 'F'
|
||||
|
||||
--NOTE: 2. t<EFBFBD>bla - Email c<EFBFBD>mek
|
||||
SELECT
|
||||
Email.C_EMAILCIM EmailCim
|
||||
FROM
|
||||
T_EMAIL_OSSZES Email
|
||||
WHERE
|
||||
Email.C_FELHASZNALOID = @pTanuloId
|
||||
AND Email.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Email.C_TANEVID = @pTanevId
|
||||
AND Email.TOROLT = 'F'
|
||||
|
||||
--NOTE: 3. t<EFBFBD>bla - Telefonsz<EFBFBD>mok
|
||||
SELECT
|
||||
Telefon.C_TELEFONSZAM Telefonszam
|
||||
FROM
|
||||
T_TELEFON_OSSZES Telefon
|
||||
WHERE
|
||||
Telefon.C_FELHASZNALOID = @pTanuloId
|
||||
AND Telefon.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Telefon.C_TANEVID = @pTanevId
|
||||
AND Telefon.TOROLT = 'F'
|
||||
|
||||
END
|
||||
GO
|
||||
|
@@ -0,0 +1,173 @@
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanuloszerzodes]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanuloszerzodes]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanuloszerzodes]
|
||||
@pIntezmenyId INT,
|
||||
@pTanevId INT,
|
||||
@pTanuloIdXML XML
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @Tanulok TABLE(Id int PRIMARY KEY)
|
||||
INSERT INTO @Tanulok(Id)
|
||||
SELECT Data FROM fnConvertXmlIntListToTable(@pTanuloIdXML, 'a', 'b')
|
||||
|
||||
/*TANULO*/
|
||||
SELECT DISTINCT
|
||||
t.ID tanuloId
|
||||
,f.C_NYILVANTARTASISZAM AS torzslapSzam
|
||||
,f.C_OKTATASIAZONOSITO AS oktAzon
|
||||
,f.C_TAJSZAM AS tajSzam
|
||||
,f.C_ANYJANEVE AS anyjaNeve
|
||||
,f.C_SZULETESIHELY AS szulHely
|
||||
,dbo.fnGetDokumentumDatumFormatum(f.C_SZULETESIDATUM) AS szulIdo
|
||||
,tt.C_NEV AS kepzes
|
||||
,f.C_NYOMTATASINEV AS tanuloNeve
|
||||
,f.C_SZULETESINEV AS szuletesiNev
|
||||
,d.C_NAME AS allampolgarsaga
|
||||
,ISNULL(Cim.C_OSSZETETTCIM, '') AS tanuloCimText
|
||||
,ISNULL(Email.C_EMAILCIM, '') AS tanuloEmailCim
|
||||
,ISNULL(Telefon.C_TELEFONSZAM, '') AS tanuloTelefonszam
|
||||
,IIF(t.C_SZAKKEPESITESSZAMA IS NOT NULL, 'van, '
|
||||
+ 'OKJ száma: ............., megnevezése: ', 'nincs') AS okj
|
||||
FROM T_TANULO_OSSZES t
|
||||
INNER JOIN @Tanulok Tanulok ON t.ID = Tanulok.Id
|
||||
LEFT JOIN T_CIM_OSSZES Cim ON
|
||||
Cim.C_FELHASZNALOID = t.ID
|
||||
AND Cim.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Cim.C_TANEVID = @pTanevId
|
||||
AND Cim.TOROLT = 'F'
|
||||
AND Cim.C_ALAPERTELMEZETT = 'T'
|
||||
AND Cim.C_GONDVISELOID IS NULL
|
||||
LEFT JOIN
|
||||
T_EMAIL_OSSZES Email ON
|
||||
Email.C_FELHASZNALOID = t.ID
|
||||
AND Email.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Email.C_TANEVID = @pTanevId
|
||||
AND Email.TOROLT = 'F'
|
||||
AND Email.C_ALAPERTELMEZETT = 'T'
|
||||
LEFT JOIN
|
||||
T_TELEFON_OSSZES Telefon ON
|
||||
Telefon.C_FELHASZNALOID = t.ID
|
||||
AND Telefon.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Telefon.C_TANEVID = @pTanevId
|
||||
AND Telefon.TOROLT = 'F'
|
||||
AND Telefon.C_ALAPERTELMEZETT= 'T'
|
||||
INNER JOIN T_TANTERV_OSSZES tt ON
|
||||
tt.ID = t.C_TANTERVID
|
||||
AND tt.TOROLT ='F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON
|
||||
f.ID = t.ID
|
||||
AND f.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON
|
||||
d.id=f.C_ALLAMPOLGARSAGA
|
||||
AND d.C_TANEVID = f.C_TANEVID
|
||||
AND d.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
|
||||
|
||||
/*GONDVISELO*/
|
||||
SELECT
|
||||
Tanulok.Id tanuloId
|
||||
,Gondviselo.C_NEV GondviseloNeve
|
||||
,ISNULL(Email.C_EMAILCIM, '') gondviseloEmailCim
|
||||
,ISNULL(Telefon.C_TELEFONSZAM, '') gondviseloTelefonszam
|
||||
,ISNULL(Cim.C_OSSZETETTCIM, '') gondviseloCimText
|
||||
FROM @Tanulok Tanulok
|
||||
INNER JOIN T_GONDVISELO_OSSZES Gondviselo ON
|
||||
Gondviselo.C_TANULOID = Tanulok.Id
|
||||
AND Gondviselo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Gondviselo.C_TANEVID = @pTanevId
|
||||
AND Gondviselo.TOROLT = 'F'
|
||||
AND Gondviselo.C_ISTORVENYESKEPVISELO = 'T'
|
||||
AND Gondviselo.C_ISCSOKKENTETTGONDVISELO = 'F'
|
||||
INNER JOIN T_FELHASZNALOBELEPES_OSSZES Felhasznalo ON
|
||||
Felhasznalo.C_GONDVISELOID = Gondviselo.ID
|
||||
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Felhasznalo.C_TANEVID = @pTanevId
|
||||
AND Felhasznalo.TOROLT = 'F'
|
||||
LEFT JOIN T_EMAIL_OSSZES Email ON
|
||||
Email.C_GONDVISELOID = Gondviselo.ID
|
||||
AND Email.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Email.C_TANEVID = @pTanevId
|
||||
AND Email.TOROLT = 'F'
|
||||
LEFT JOIN T_TELEFON_OSSZES Telefon ON
|
||||
Telefon.C_GONDVISELOID = Gondviselo.ID
|
||||
AND Telefon.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Telefon.C_TANEVID = @pTanevId
|
||||
AND Telefon.TOROLT = 'F'
|
||||
LEFT JOIN T_CIM_OSSZES Cim ON
|
||||
Cim.C_GONDVISELOID = Gondviselo.ID
|
||||
AND Cim.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Cim.C_TANEVID = @pTanevId
|
||||
AND Cim.TOROLT = 'F'
|
||||
|
||||
|
||||
/*INTEZMENYADATOK*/
|
||||
SELECT DISTINCT
|
||||
INTEZMENY.C_INTEZMENYID intezmenyId
|
||||
,INTEZMENY.C_NEV Nev
|
||||
,INTEZMENY.C_IGAZGATONEVE IgazgatoNev
|
||||
,dbo.fnGetDokumentumIntezmenyCime (@pTanevId) IntezmenyCim
|
||||
,INTEZMENY.C_TELEFONSZAM IntezmenyTelefonszam
|
||||
,INTEZMENY.C_EMAILCIM IntezmenyEmail
|
||||
,INTEZMENY.C_OMKOD OktAzon
|
||||
,TANEV.C_NEV
|
||||
INTO #IntemenyAdatok
|
||||
FROM T_TANEV_OSSZES TANEV
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES INTEZMENY ON TANEV.ID = INTEZMENY.C_TANEVID
|
||||
WHERE
|
||||
TANEV.ID = @pTanevId
|
||||
AND INTEZMENY.C_INTEZMENYID = @pIntezmenyId
|
||||
|
||||
|
||||
/*TAGINTEZMENYADATOK*/
|
||||
SELECT DISTINCT
|
||||
TAGINTEZMENY.C_INTEZMENYID intezmenyId
|
||||
,TAGINTEZMENY.C_NEV AS TagintezmenyNev
|
||||
,TAGINTEZMENY.C_IRANYITOSZAM + ' ' + TAGINTEZMENY.C_VAROS + ', '
|
||||
+ TAGINTEZMENY.C_KOZTERULETNEV + ' ' + TAGINTEZMENY.C_HAZSZAM
|
||||
+ ISNULL(', ' + TAGINTEZMENY.C_EMELET + '. EMELET', '')
|
||||
+ ISNULL(', ' + TAGINTEZMENY.C_AJTO + '. AJTÓ', '') AS TagintezmenyCim
|
||||
INTO #TagintezmenyAdatok
|
||||
FROM T_TANEV_OSSZES TANEV
|
||||
INNER JOIN T_INTEZMENY_OSSZES INTEZEMNY ON TANEV.C_INTEZMENYID = INTEZEMNY.ID
|
||||
INNER JOIN T_MUKODESIHELY_OSSZES TAGINTEZMENY ON TAGINTEZMENY.C_INTEZMENYID = INTEZEMNY.ID
|
||||
WHERE
|
||||
TANEV.ID = @pTanevId
|
||||
AND TAGINTEZMENY.C_INTEZMENYID = @pIntezmenyId
|
||||
|
||||
|
||||
/*==============INTÉZMÉNY/TAGINTÉZMÉNY==================*/
|
||||
|
||||
SELECT DISTINCT
|
||||
*
|
||||
FROM #IntemenyAdatok intezmeny
|
||||
INNER JOIN #TagintezmenyAdatok tagintezmeny ON intezmeny.intezmenyId = tagintezmeny.intezmenyId
|
||||
|
||||
|
||||
/*BESOROLAS*/
|
||||
SELECT DISTINCT
|
||||
TANCSOP.C_TANULOID tanuloId
|
||||
,OKTATASINEVELESIFELADAT.C_NAME FeladatEllatasiHely
|
||||
,MUNKAREND.C_NAME NappaliRend
|
||||
,EVFOLYAM.C_NAME_1 Evfolyam
|
||||
FROM T_TANULOCSOPORT_OSSZES TANCSOP
|
||||
INNER JOIN @Tanulok Tanulok ON TANCSOP.C_TANULOID = Tanulok.Id
|
||||
INNER JOIN T_OSZTALY_OSSZES OSZTALY ON OSZTALY.ID = TANCSOP.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES OSZTALYCSOP ON OSZTALYCSOP.ID = OSZTALY.ID AND OSZTALYCSOP.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_FELADATELLATASIHELY_OSSZES ON T_FELADATELLATASIHELY_OSSZES.ID = OSZTALYCSOP.C_FELADATELLATASIHELYID AND T_FELADATELLATASIHELY_OSSZES.C_TANEVID = OSZTALYCSOP.C_TANEVID AND T_FELADATELLATASIHELY_OSSZES.C_INTEZMENYID = @pIntezmenyId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES MUNKAREND ON OSZTALY.C_KEPZESIFORMA = MUNKAREND.ID AND MUNKAREND.C_TANEVID = OSZTALYCSOP.C_TANEVID AND MUNKAREND.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS OKTATASINEVELESIFELADAT ON T_FELADATELLATASIHELY_OSSZES.C_OKTATASINEVELESIFELADATTIPUS = OKTATASINEVELESIFELADAT.ID AND OKTATASINEVELESIFELADAT.C_TANEVID = T_FELADATELLATASIHELY_OSSZES.C_TANEVID AND OKTATASINEVELESIFELADAT.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES EVFOLYAM ON EVFOLYAM.ID = OSZTALYCSOP.C_EVFOLYAMTIPUSA
|
||||
WHERE
|
||||
OSZTALYCSOP.C_TANEVID = @pTanevId
|
||||
AND OSZTALYCSOP.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TANCSOP.TOROLT = 'F'
|
||||
AND TANCSOP.C_TANEVID = @pTanevId
|
||||
|
||||
END
|
@@ -0,0 +1,206 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_Nyomtatvany_Excel_IdoszakiOsztalyokCsoportokTantargyiStatisztika]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiOsztalyokCsoportokTantargyiStatisztika]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiOsztalyokCsoportokTantargyiStatisztika]
|
||||
@pTanevId INT,
|
||||
@pErtekelestipusaId INT,
|
||||
@pTanevrendjeTanevKezdeteNaptipusId INT = 1394, --Tanévrendje első nap típus
|
||||
@pLezaroNaptipusId INT,
|
||||
@pAtsoroltTanuloAdatok INT = 1
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @ElsoFelveVege INT = 1400
|
||||
DECLARE @IneVege INT = 1403
|
||||
DECLARE @IIIneVege INT = 1404
|
||||
DECLARE @UtolsoTanitasiNap INT = 1395
|
||||
DECLARE @VegzosUtolsoTanitasiNap INT = 1402
|
||||
|
||||
DECLARE @osztalyok TABLE(OSZTALYID INT, NEV NVARCHAR(MAX), EVFOLYAM INT, SORREND INT);
|
||||
DECLARE @tantargyak TABLE(TANTARGYID INT, TANTARGY_NEV NVARCHAR(MAX), TARGYKATEGORIA_NEV NVARCHAR(MAX), TARGYKATEGORIA_SORSZAM INT, C_FOTARGYE CHAR(1), C_ALTANTARGYKENTNYOMTATVANYBAN CHAR(1));
|
||||
DECLARE @osztalyokCsoportokErtekeles TABLE (TECHNIKAIID NVARCHAR(MAX), OSZTALYCSOPORTID INT, OSZTALYCSOPORTNEV NVARCHAR(MAX), SORREND INT, TANTARGYID INT, TANTARGYNEV NVARCHAR(MAX), AKTUALISLETSZAM INT, ATLAG FLOAT);
|
||||
DECLARE @osztalyTanulok TABLE (TANULOID INT PRIMARY KEY, BELEPESDATUM DATE, KILEPESDATUM DATE);
|
||||
|
||||
DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
|
||||
INSERT INTO @tantargyak (TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_NEV, TARGYKATEGORIA_SORSZAM, C_FOTARGYE, C_ALTANTARGYKENTNYOMTATVANYBAN)
|
||||
SELECT TANTARGYAK.ID AS TANTARGYID, COALESCE(TANTARGYAK.C_NEVNYOMTATVANYBAN, TANTARGYAK.C_NEV) AS TANTARGY_NEV, TARGYKATEG.C_NAME AS TARGYKATEGORIA_NEV, TARGYKATEG.C_VALUE AS TARGYKATEGORIA_SORSZAM, TANTARGYAK.C_FOTARGYE, TANTARGYAK.C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM T_TANTARGY_OSSZES AS TANTARGYAK
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TARGYKATEG ON TARGYKATEG.ID = TANTARGYAK.C_TARGYKATEGORIA AND TARGYKATEG.C_TANEVID = TANTARGYAK.C_TANEVID
|
||||
WHERE TANTARGYAK.TOROLT = 'F' AND TANTARGYAK.C_TANEVID = @pTanevId
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
|
||||
SELECT CAST(OSZTALYCSOPORT.ID AS nvarchar(MAX)) + '_' + CAST(OSZTALYCSOPORT.ID AS nvarchar(MAX)) AS TECHNIKAIID, OSZTALYCSOPORT.ID AS OSZTALYID, OSZTALYCSOPORT.C_NEV AS NEV,
|
||||
OSZTALYCSOPORT.C_EVFOLYAMTIPUSA AS EVFOLYAM, EVFOLYAM.C_ORDER AS SORREND, (SELECT COUNT(TanuloId) FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, OSZTALYCSOPORT.ID, 0)) AS AKTUALISLETSZAM,
|
||||
C_KERESZTFELEVES AS KERESZTFELEVES, C_VEGZOSEVFOLYAM AS VEGZOSEVFOLYAM,
|
||||
ROW_NUMBER() OVER(ORDER BY EVFOLYAM.C_ORDER ASC, OSZTALYCSOPORT.C_NEV ASC) AS Row#
|
||||
,@pTanevId TanevId
|
||||
,OSZTALY.C_OSZTALYFONOKID OsztalyfonokId
|
||||
,OSZTALYCSOPORT.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
|
||||
,OSZTALY.C_TANTERVID TantervId
|
||||
,OSZTALY.C_KEPZESIFORMA KepzesiForma
|
||||
,OSZTALY.C_AGAZAT Agazat
|
||||
,OSZTALY.C_SZAKMACSOPORT SzakmaCsoport
|
||||
,OSZTALY.C_SZAKKEPESITES Szakkepesites
|
||||
,OSZTALY.C_RESZSZAKKEPESITES Reszszakkepesites
|
||||
,OSZTALYCSOPORT.C_KERESZTFELEVES OJCSJKeresztfeleves
|
||||
,OSZTALYCSOPORT.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
||||
,OSZTALY.C_TECHNIKAIOSZTALY OJTechnikaiOsztaly
|
||||
,OSZTALY.C_NEMZETISEGI OJNemzetisegi
|
||||
,OSZTALY.C_KETTANNYELVU OJKettannyelvu
|
||||
,OSZTALY.C_NYELVIELOKESZITO OJNyelviElokeszito
|
||||
,OSZTALY.C_LOGOPEDIAI OJLogopediai
|
||||
,OSZTALY.C_SPORT OJSportOsztaly
|
||||
,OSZTALY.C_AJPROGRAM OJAranyJanosProgram
|
||||
,OSZTALY.C_GYOGYPEDAGOGIAI OJGyogypedagogiai
|
||||
INTO #tempOsztalyok
|
||||
FROM T_OSZTALY_OSSZES AS OSZTALY
|
||||
JOIN T_OSZTALYCSOPORT_OSSZES AS OSZTALYCSOPORT ON OSZTALY.ID = OSZTALYCSOPORT.ID AND OSZTALYCSOPORT.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
JOIN T_DICTIONARYITEMBASE_OSSZES AS EVFOLYAM ON EVFOLYAM.ID = OSZTALYCSOPORT.C_EVFOLYAMTIPUSA AND EVFOLYAM.TOROLT = 'F' AND EVFOLYAM.C_TANEVID = OSZTALY.C_ALTANEVID
|
||||
WHERE OSZTALYCSOPORT.TOROLT = 'F' AND OSZTALY.C_ALTANEVID = @pTanevId
|
||||
ORDER BY Row#;
|
||||
|
||||
DECLARE @pOsztalyId INT = 0;
|
||||
DECLARE @sorrend INT = 0;
|
||||
DECLARE @keresztFeleves BIT = 0;
|
||||
DECLARE @vegzosEvfolyamu BIT = 0;
|
||||
WHILE (1 = 1)
|
||||
BEGIN
|
||||
SELECT TOP 1 @pOsztalyId = OSZTALYID, @sorrend = Row#, @keresztFeleves = IIF(KERESZTFELEVES = 'T', 1, 0), @vegzosEvfolyamu = IIF(VEGZOSEVFOLYAM = 'T', 1, 0)
|
||||
FROM #tempOsztalyok
|
||||
WHERE @sorrend < Row#
|
||||
ORDER BY Row#;
|
||||
IF @@ROWCOUNT = 0
|
||||
BEGIN
|
||||
BREAK;
|
||||
END
|
||||
|
||||
|
||||
--Osztalyjellemzok alapjan a nyito/lezaro naptipus csereje
|
||||
DECLARE @pKezdeteOsztalyNaptipusId INT = (
|
||||
IIF(@keresztFeleves = 0, @pTanevrendjeTanevKezdeteNaptipusId,
|
||||
CASE
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @pTanevrendjeTanevKezdeteNaptipusId
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @pTanevrendjeTanevKezdeteNaptipusId
|
||||
END)
|
||||
)
|
||||
|
||||
DECLARE @pLezaroOsztalyNaptipusId INT = (
|
||||
IIF(@keresztFeleves = 0, IIF(@vegzosEvfolyamu = 1 AND @pLezaroNaptipusId = @UtolsoTanitasiNap, @VegzosUtolsoTanitasiNap, @pLezaroNaptipusId),
|
||||
CASE
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @UtolsoTanitasiNap
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @IIIneVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @IneVege
|
||||
END)
|
||||
)
|
||||
|
||||
DECLARE @idoszakEleje DATE = (
|
||||
SELECT ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pKezdeteOsztalyNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @pOsztalyId)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
(SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @pTanevId))
|
||||
);
|
||||
|
||||
DECLARE @idoszakVege DATE = (
|
||||
SELECT ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pLezaroOsztalyNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @pOsztalyId)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
GETDATE())
|
||||
);
|
||||
|
||||
|
||||
INSERT INTO @osztalyTanulok (TANULOID, BELEPESDATUM, KILEPESDATUM) (
|
||||
SELECT T_FELHASZNALO_OSSZES.ID AS TANULOID, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_FELHASZNALO_OSSZES
|
||||
INNER JOIN (
|
||||
SELECT C_TANULOID, C_OSZTALYCSOPORTID, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_TANULOCSOPORT_OSSZES
|
||||
WHERE T_TANULOCSOPORT_OSSZES.TOROLT = 'F' AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < @idoszakVege
|
||||
AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= @idoszakVege)
|
||||
) AS TANCSOPORT ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID
|
||||
WHERE T_FELHASZNALO_OSSZES.TOROLT = 'F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @pOsztalyId AND T_FELHASZNALO_OSSZES.C_TANEVID = @pTanevId
|
||||
);
|
||||
|
||||
INSERT INTO @osztalyokCsoportokErtekeles(TECHNIKAIID, OSZTALYCSOPORTID, OSZTALYCSOPORTNEV, SORREND, TANTARGYID, TANTARGYNEV, AKTUALISLETSZAM, ATLAG)
|
||||
SELECT CAST(@pOsztalyId AS nvarchar(MAX)) + '_' + CAST(OsztalyCsoportId AS nvarchar(MAX)) AS TechnikaiId, OsztalyCsoportId, OSZTALYCSOPORT.C_NEV + (IIF(CSOPORT.ID IS NOT NULL, ' (' + (SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId) + ')', '')) AS OsztalyCsoportNev, @sorrend,
|
||||
TantargyId, TantargyNev,
|
||||
(SELECT COUNT(TanuloId) FROM (
|
||||
SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, OsztalyCsoportId, 0)
|
||||
INTERSECT
|
||||
SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 0)) AS T) AS Aktualisletszam,
|
||||
AVG(CAST (ErtekelesOsztalyzatValue AS float)) AS Atlag
|
||||
FROM fnGetDokumentumErtekelesekOsztalyonkent(@pTanevId, @pOsztalyId, @pErtekelestipusaId, DEFAULT, DEFAULT, 1) AS ERTEKELESEK
|
||||
INNER JOIN @osztalyTanulok AS OSZTALYTANULOK ON OSZTALYTANULOK.TANULOID = ERTEKELESEK.TanuloId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS OSZTALYCSOPORT ON OSZTALYCSOPORT.ID = OsztalyCsoportId AND OSZTALYCSOPORT.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
LEFT JOIN T_CSOPORT_OSSZES AS CSOPORT ON CSOPORT.ID = OSZTALYCSOPORT.ID
|
||||
WHERE IsMagatartasSzorgalom = 'F'
|
||||
GROUP BY OsztalyCsoportId, OSZTALYCSOPORT.C_NEV, TantargyId, TantargyNev, CSOPORT.ID
|
||||
END
|
||||
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT DISTINCT TECHNIKAIID, OSZTALYCSOPORTID, OSZTALYCSOPORTNEV, AKTUALISLETSZAM, SORREND
|
||||
FROM @osztalyokCsoportokErtekeles
|
||||
UNION
|
||||
SELECT TECHNIKAIID, OSZTALYID AS OSZTALYCSOPORTID, NEV AS OSZTALYCSOPORTNEV, AKTUALISLETSZAM, Row# AS SORREND
|
||||
FROM #tempOsztalyok
|
||||
) AS OSZTALYOKCSOPORTOK
|
||||
ORDER BY SORREND, OSZTALYCSOPORTNEV;
|
||||
|
||||
SELECT DISTINCT TANTARGYID, TANTARGY_NEV
|
||||
FROM @tantargyak;
|
||||
|
||||
SELECT *
|
||||
FROM @osztalyokCsoportokErtekeles;
|
||||
|
||||
select OSZTALYID AS OsztalyId
|
||||
,EVFOLYAM AS EvfolyamTipusa
|
||||
,FeladatEllatasiHelyId
|
||||
,KepzesiForma
|
||||
,OsztalyfonokId
|
||||
,TantervId
|
||||
,OJAranyJanosProgram
|
||||
,OJCSJKeresztfeleves
|
||||
,OJGyogypedagogiai
|
||||
,OJKettannyelvu
|
||||
,OJLogopediai
|
||||
,OJNemzetisegi
|
||||
,OJNyelviElokeszito
|
||||
,OJSportOsztaly
|
||||
,OJTechnikaiOsztaly
|
||||
,SzakmaCsoport
|
||||
,Agazat
|
||||
,Szakkepesites
|
||||
,Reszszakkepesites from #tempOsztalyok;
|
||||
|
||||
select cs.ID CsoportId
|
||||
,cs.C_CSOPORTVEZETOID as Csoportvezeto
|
||||
,cs.C_TIPUSA as CsoportTipus
|
||||
,ocs.C_KERESZTFELEVES as OJCSJKeresztfeleves
|
||||
,ocs.C_VEGZOSEVFOLYAM as CSJVegzosEvfolyamu
|
||||
from T_CSOPORT_OSSZES cs
|
||||
inner join @osztalyokCsoportokErtekeles ocse on ocse.OSZTALYCSOPORTID = cs.iD
|
||||
inner join T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID = cs.ID;
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempOsztalyok') IS NOT NULL DROP TABLE #tempOsztalyok
|
||||
IF OBJECT_ID('tempdb..#tempErtekeles') IS NOT NULL DROP TABLE #tempErtekeles
|
||||
|
||||
END
|
||||
GO
|
@@ -0,0 +1,375 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_Nyomtatvany_Excel_IdoszakiOsztalyokTantargyiStatisztika]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiOsztalyokTantargyiStatisztika]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiOsztalyokTantargyiStatisztika]
|
||||
@pTanevId INT,
|
||||
@pIntezmenyId INT,
|
||||
@pErtekelestipusaId INT,
|
||||
@pLezaroNaptipusId INT,
|
||||
@pTanoraiCsoportTipusIds INT = 1034,
|
||||
@pMulasztasTipusIdKeses INT = 1499,
|
||||
@pMulasztasTipusIdHianyzas INT = 1500,
|
||||
@pNemMulasztaIgazolasTipusIds INT = 1532, -- Iskola érdekű távollét
|
||||
@pTanevrendjeTanevKezdeteNaptipusId INT = 1394, --Tanévrendje első nap típus
|
||||
@pAtsoroltTanuloAdatok INT = 1,
|
||||
@pElmeletgyakorlat BIT = 0
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Const
|
||||
DECLARE @ElsoFelveVege INT = 1400
|
||||
DECLARE @IneVege INT = 1403
|
||||
DECLARE @IIIneVege INT = 1404
|
||||
DECLARE @UtolsoTanitasiNap INT = 1395
|
||||
DECLARE @VegzosUtolsoTanitasiNap INT = 1402
|
||||
DECLARE @iskolaErdekuParam INT = 1683;
|
||||
DECLARE @iskolaErdekuSzamit BIT = dbo.fnGetRendszerbeallitasEnumBool(@iskolaErdekuParam, @pIntezmenyId, @pTanevId);
|
||||
DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
|
||||
DECLARE @osztalyoktanoraicsoportok TABLE (OSZTALYCSOPORTID INT PRIMARY KEY, C_TIPUSA INT, C_VEGZOSEVFOLYAM CHAR(1));
|
||||
DECLARE @osztalycsoportok TABLE (OSZTALYCSOPORTID INT PRIMARY KEY);
|
||||
DECLARE @aktualisOsztalyCsoportok TABLE (OSZTALYCSOPORTID INT);
|
||||
DECLARE @osztalyTanulok TABLE (TANULOID INT PRIMARY KEY, BELEPESDATUM DATE, KILEPESDATUM DATE);
|
||||
DECLARE @szurtMulasztas TABLE (TIPUS_CHAR CHAR(1), C_TIPUS INT , C_IGAZOLT CHAR(1), C_TANULOID INT, C_GYAKORLATI CHAR(1), KESESPERC INT, MULASZTASOK_SZAMA INT);
|
||||
DECLARE @tantargyak TABLE(TANTARGYID INT, TANTARGY_NEV NVARCHAR(MAX), TARGYKATEGORIA_NEV NVARCHAR(MAX), TARGYKATEGORIA_SORSZAM INT, C_FOTARGYE CHAR(1), C_ALTANTARGYKENTNYOMTATVANYBAN CHAR(1));
|
||||
DECLARE @osztalyok TABLE(OSZTALYID INT, NEV NVARCHAR(MAX), EVFOLYAM INT, SORREND INT);
|
||||
DECLARE @osztalyokTanulokszama TABLE (OSZTALYID INT, TANULOKSZAMA INT);
|
||||
DECLARE @osztalyokErtekeles TABLE (OSZTALYID INT, TANTARGYID INT, ATLAG FLOAT);
|
||||
DECLARE @osztalyokMagszorg TABLE (OSZTALYID INT, MAGATLAG FLOAT, SZORGATLAG FLOAT);
|
||||
DECLARE @osztalyokMulasztas TABLE (OSZTALYID INT, TIPUS_CHAR CHAR(1), C_TIPUS INT, C_IGAZOLT CHAR(1), MULASZTASOK_SZAMA INT, C_GYAKORLATI CHAR(1), DESCR CHAR(3));
|
||||
-- OSZTÁLYOK ÉS TANÓRAI CSOPORTOK
|
||||
INSERT INTO @osztalyoktanoraicsoportok (OSZTALYCSOPORTID, C_TIPUSA, C_VEGZOSEVFOLYAM) (
|
||||
SELECT T_OSZTALYCSOPORT_OSSZES.ID, C_TIPUSA, C_VEGZOSEVFOLYAM
|
||||
FROM T_OSZTALYCSOPORT_OSSZES
|
||||
LEFT JOIN T_CSOPORT_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_CSOPORT_OSSZES.ID
|
||||
LEFT JOIN T_OSZTALY_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_OSZTALY_OSSZES.ID
|
||||
WHERE ( C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId)) OR T_OSZTALY_OSSZES.ID IS NOT NULL)
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
|
||||
);
|
||||
-- TANTÁRGYAK
|
||||
INSERT INTO @tantargyak (TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_NEV, TARGYKATEGORIA_SORSZAM, C_FOTARGYE, C_ALTANTARGYKENTNYOMTATVANYBAN)
|
||||
SELECT T_TANTARGY_OSSZES.ID AS TANTARGYID, COALESCE(T_TANTARGY_OSSZES.C_NEVNYOMTATVANYBAN, T_TANTARGY_OSSZES.C_NEV) AS TANTARGY_NEV, TARGYKAT.C_NAME AS TARGYKATEGORIA_NEV, TARGYKAT.C_VALUE AS TARGYKATEGORIA_SORSZAM, T_TANTARGY_OSSZES.C_FOTARGYE, T_TANTARGY_OSSZES.C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM T_TANTARGY_OSSZES
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TARGYKAT ON TARGYKAT.ID = T_TANTARGY_OSSZES.C_TARGYKATEGORIA AND TARGYKAT.C_TANEVID = T_TANTARGY_OSSZES.C_TANEVID
|
||||
WHERE T_TANTARGY_OSSZES.TOROLT = 'F' AND T_TANTARGY_OSSZES.C_INTEZMENYID = @pIntezmenyId AND T_TANTARGY_OSSZES.C_TANEVID = @pTanevId
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
-- OSZTÁLYOK
|
||||
SELECT T_OSZTALYCSOPORT_OSSZES.ID AS OSZTALYID, T_OSZTALYCSOPORT_OSSZES.C_NEV AS NEV, T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA AS EVFOLYAM, EVFOLYAMTIPUS.C_ORDER AS SORREND,
|
||||
C_KERESZTFELEVES AS KERESZTFELEVES, C_VEGZOSEVFOLYAM AS VEGZOSEVFOLYAM,
|
||||
ROW_NUMBER() OVER(ORDER BY EVFOLYAMTIPUS.C_ORDER ASC, T_OSZTALYCSOPORT_OSSZES.C_NEV ASC) AS Row#
|
||||
,@pTanevId TanevId
|
||||
,T_OSZTALY_OSSZES.C_OSZTALYFONOKID OsztalyfonokId
|
||||
,T_OSZTALYCSOPORT_OSSZES.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
|
||||
,T_OSZTALY_OSSZES.C_TANTERVID TantervId
|
||||
,T_OSZTALY_OSSZES.C_KEPZESIFORMA KepzesiForma
|
||||
,T_OSZTALY_OSSZES.C_AGAZAT Agazat
|
||||
,T_OSZTALY_OSSZES.C_SZAKMACSOPORT SzakmaCsoport
|
||||
,T_OSZTALY_OSSZES.C_SZAKKEPESITES Szakkepesites
|
||||
,T_OSZTALY_OSSZES.C_RESZSZAKKEPESITES Reszszakkepesites
|
||||
,T_OSZTALYCSOPORT_OSSZES.C_KERESZTFELEVES OJCSJKeresztfeleves
|
||||
,T_OSZTALYCSOPORT_OSSZES.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
||||
,T_OSZTALY_OSSZES.C_TECHNIKAIOSZTALY OJTechnikaiOsztaly
|
||||
,T_OSZTALY_OSSZES.C_NEMZETISEGI OJNemzetisegi
|
||||
,T_OSZTALY_OSSZES.C_KETTANNYELVU OJKettannyelvu
|
||||
,T_OSZTALY_OSSZES.C_NYELVIELOKESZITO OJNyelviElokeszito
|
||||
,T_OSZTALY_OSSZES.C_LOGOPEDIAI OJLogopediai
|
||||
,T_OSZTALY_OSSZES.C_SPORT OJSportOsztaly
|
||||
,T_OSZTALY_OSSZES.C_AJPROGRAM OJAranyJanosProgram
|
||||
,T_OSZTALY_OSSZES.C_GYOGYPEDAGOGIAI OJGyogypedagogiai
|
||||
INTO #tempOsztalyok
|
||||
FROM T_OSZTALYCSOPORT_OSSZES
|
||||
JOIN T_OSZTALY_OSSZES ON T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID
|
||||
JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
|
||||
JOIN T_DICTIONARYITEMBASE_OSSZES AS EVFOLYAMTIPUS ON EVFOLYAMTIPUS.ID = T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA AND EVFOLYAMTIPUS.TOROLT = 'F' AND EVFOLYAMTIPUS.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
WHERE T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
|
||||
AND T_OSZTALYCSOPORT_OSSZES.C_INTEZMENYID=@pIntezmenyId
|
||||
AND T_TANEV_OSSZES.TOROLT = 'F'
|
||||
AND T_TANEV_OSSZES.ID = @pTanevId
|
||||
AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
|
||||
ORDER BY Row#;
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempMulasztas') IS NOT NULL
|
||||
DROP TABLE #tempMulasztas;
|
||||
|
||||
CREATE TABLE #tempMulasztas (
|
||||
ID INT IDENTITY(1,1) PRIMARY KEY,
|
||||
TIPUS_CHAR CHAR(1), TIPUS INT, IGAZOLT CHAR(1), TANULOID NVARCHAR(20), GYAKORLATI CHAR(1), KESESPERC INT, MULASZTASOK_SZAMA INT, OSZTALYCSOPORTID INT, DATUM DATETIME);
|
||||
|
||||
INSERT INTO #tempMulasztas(TIPUS_CHAR, TIPUS, IGAZOLT, TANULOID, GYAKORLATI, KESESPERC, MULASZTASOK_SZAMA, OSZTALYCSOPORTID, DATUM)
|
||||
SELECT IIF(C_TIPUS = @pMulasztasTipusIdKeses, 'K', 'H'), C_TIPUS, C_IGAZOLT, C_ORATANULOIID, C_GYAKORLATI, SUM(C_KESESPERCBEN), COUNT(1) AS MULASZTASOK_SZAMA, TanitasiOra.C_OSZTALYCSOPORTID, C_DATUM
|
||||
FROM T_TANULOMULASZTAS_OSSZES TanuloMulasztas
|
||||
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_TANTARGY_OSSZES t on t.ID = TanitasiOra.C_TANTARGYID
|
||||
WHERE TanuloMulasztas.C_TIPUS IN (@pMulasztasTipusIdKeses, @pMulasztasTipusIdHianyzas)
|
||||
AND TanitasiOra.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport (@pTanevId))
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA IS NULL OR C_IGAZOLASTIPUSA <> 1533))
|
||||
AND TanuloMulasztas.TOROLT = 'F' AND TanuloMulasztas.C_IGAZOLT IS NOT NULL
|
||||
AND TanitasiOra.TOROLT = 'F' AND TanitasiOra.C_MEGTARTOTT = 'T'
|
||||
AND TanuloMulasztas.C_TANEVID = @pTanevId
|
||||
GROUP BY C_TIPUS, C_IGAZOLT, C_ORATANULOIID, C_GYAKORLATI, TanitasiOra.C_OSZTALYCSOPORTID, C_DATUM
|
||||
|
||||
|
||||
DECLARE @pOsztalyId INT = 0;
|
||||
DECLARE @sorrend INT = 0;
|
||||
DECLARE @keresztFeleves BIT = 0;
|
||||
DECLARE @vegzosEvfolyamu BIT = 0;
|
||||
|
||||
WHILE (1 = 1)
|
||||
BEGIN
|
||||
DELETE FROM @szurtMulasztas;
|
||||
DELETE FROM @osztalycsoportok;
|
||||
DELETE FROM @aktualisOsztalyCsoportok;
|
||||
DELETE FROM @osztalyTanulok;
|
||||
|
||||
SELECT TOP 1 @pOsztalyId = OSZTALYID, @sorrend = Row#, @keresztFeleves = IIF(KERESZTFELEVES = 'T', 1, 0), @vegzosEvfolyamu = IIF(VEGZOSEVFOLYAM = 'T', 1, 0)
|
||||
FROM #tempOsztalyok
|
||||
WHERE @sorrend < Row#
|
||||
ORDER BY Row#;
|
||||
IF @@ROWCOUNT = 0
|
||||
BEGIN
|
||||
BREAK;
|
||||
END
|
||||
|
||||
--Osztalyjellemzok alapjan a nyito/lezaro naptipus csereje
|
||||
DECLARE @pKezdeteOsztalyNaptipusId INT = (
|
||||
IIF(@keresztFeleves = 0, @pTanevrendjeTanevKezdeteNaptipusId,
|
||||
CASE
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @pTanevrendjeTanevKezdeteNaptipusId
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @pTanevrendjeTanevKezdeteNaptipusId
|
||||
END)
|
||||
)
|
||||
|
||||
DECLARE @pLezaroOsztalyNaptipusId INT = (
|
||||
IIF(@keresztFeleves = 0, IIF(@vegzosEvfolyamu = 1 AND @pLezaroNaptipusId = @UtolsoTanitasiNap, @VegzosUtolsoTanitasiNap, @pLezaroNaptipusId),
|
||||
CASE
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @UtolsoTanitasiNap
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @IIIneVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @IneVege
|
||||
END)
|
||||
)
|
||||
|
||||
DECLARE @idoszakEleje DATE = (
|
||||
SELECT ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pKezdeteOsztalyNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @pOsztalyId)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
(SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @pTanevId))
|
||||
);
|
||||
|
||||
DECLARE @idoszakVege DATE = (
|
||||
SELECT ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pLezaroOsztalyNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @pOsztalyId)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
GETDATE())
|
||||
);
|
||||
|
||||
INSERT INTO @osztalycsoportok (OSZTALYCSOPORTID) (
|
||||
SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@pOsztalyId)
|
||||
WHERE (ID IN (SELECT T_OSZTALY_OSSZES.ID FROM T_OSZTALY_OSSZES
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
) OR ID IN (SELECT ID FROM T_CSOPORT WHERE C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId))))
|
||||
);
|
||||
INSERT INTO @aktualisOsztalyCsoportok (OSZTALYCSOPORTID) (
|
||||
SELECT ID FROM fnGetKapcsolodoOsztalycsoportokByDate(@pOsztalyId, @idoszakEleje, @idoszakVege)
|
||||
WHERE (ID IN (SELECT T_OSZTALY_OSSZES.ID FROM T_OSZTALY_OSSZES INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
) OR ID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId))))
|
||||
);
|
||||
-- TANULÓK
|
||||
INSERT INTO @osztalyTanulok (TANULOID, BELEPESDATUM, KILEPESDATUM) (
|
||||
SELECT T_FELHASZNALO_OSSZES.ID AS TANULOID, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_FELHASZNALO_OSSZES
|
||||
INNER JOIN (
|
||||
SELECT C_TANULOID, C_OSZTALYCSOPORTID, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_TANULOCSOPORT_OSSZES
|
||||
WHERE T_TANULOCSOPORT_OSSZES.TOROLT = 'F' AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < @idoszakVege
|
||||
AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= @idoszakVege)
|
||||
) AS TANCSOPORT ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID
|
||||
WHERE T_FELHASZNALO_OSSZES.TOROLT = 'F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @pOsztalyId AND T_FELHASZNALO_OSSZES.C_TANEVID = @pTanevId
|
||||
);
|
||||
--TANULÓK LISTA
|
||||
INSERT INTO @osztalyokTanulokszama (OSZTALYID, TANULOKSZAMA)
|
||||
SELECT @pOsztalyId AS OSZTALYID, COUNT(T_FELHASZNALO_OSSZES.ID) AS TANULOKSZAMA
|
||||
FROM T_FELHASZNALO_OSSZES
|
||||
INNER JOIN @osztalyTanulok AS OSZTALYTANULOK ON OSZTALYTANULOK.TANULOID = T_FELHASZNALO_OSSZES.ID;
|
||||
|
||||
--ÉRTÉKELÉS LISTA
|
||||
IF OBJECT_ID('tempdb..#tempOsztalyErtekelesek') IS NOT NULL
|
||||
DROP TABLE #tempOsztalyErtekelesek;
|
||||
SELECT * INTO #tempOsztalyErtekelesek FROM fnGetDokumentumErtekelesekOsztalyonkent (@pTanevId, @pOsztalyId, @pErtekelestipusaId, DEFAULT, DEFAULT, @pAtsoroltTanuloAdatok) AS ERTEKELESEK
|
||||
|
||||
INSERT INTO @osztalyokErtekeles (OSZTALYID, TANTARGYID, ATLAG)
|
||||
SELECT @pOsztalyId AS OSZTALYID, TantargyId, ROUND(AVG(CAST(ErtekelesOsztalyzatValue AS FLOAT)), 2) AS ATLAG
|
||||
FROM #tempOsztalyErtekelesek AS ERTEKELESEK
|
||||
INNER JOIN @osztalyTanulok AS OSZTALYTANULOK ON OSZTALYTANULOK.TANULOID = ERTEKELESEK.TanuloId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TARGYKATEG ON TARGYKATEG.ID = ERTEKELESEK.TargyKategoriaId AND TARGYKATEG.C_TANEVID = @pTanevId
|
||||
WHERE TantargyId IS NOT NULL AND (FotargyE = 'T' OR Altantargy = 'T') AND ErtekelesOsztalyzatValue IS NOT NULL
|
||||
GROUP BY TantargyId;
|
||||
--MAGATARTAS-SZORGALOM LISTA
|
||||
INSERT INTO @osztalyokMagszorg (OSZTALYID, MAGATLAG, SZORGATLAG)
|
||||
SELECT @pOsztalyId AS OSZTALYID, ROUND(AVG(CAST(COALESCE(MagatartasOsztalyzatValue, MagatartasErtekOsztalyzatkent) AS FLOAT)), 2) AS MAGATLAG, ROUND(AVG(CAST(COALESCE(SzorgalomOsztalyzatValue, SzorgalomErtekOsztalyzatkent) AS FLOAT)), 2) AS SZORGATLAG
|
||||
FROM #tempOsztalyErtekelesek AS ERTEKELESEK
|
||||
INNER JOIN @osztalyTanulok AS OSZTALYTANULOK ON OSZTALYTANULOK.TANULOID = ERTEKELESEK.TanuloId
|
||||
WHERE TantargyId IS NULL AND COALESCE(MagatartasOsztalyzatValue, MagatartasErtekOsztalyzatkent) IS NOT NULL AND COALESCE(SzorgalomOsztalyzatValue, SzorgalomErtekOsztalyzatkent) IS NOT NULL ;
|
||||
|
||||
--MULASZTÁS
|
||||
INSERT INTO @szurtMulasztas (TIPUS_CHAR, C_TIPUS, C_IGAZOLT, C_TANULOID, C_GYAKORLATI, KESESPERC, MULASZTASOK_SZAMA)
|
||||
SELECT TIPUS_CHAR, TIPUS, IGAZOLT, TanuloMulasztas.TANULOID, GYAKORLATI, SUM(KESESPERC), SUM(MULASZTASOK_SZAMA)
|
||||
FROM #tempMulasztas AS TanuloMulasztas
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') AS TANULO ON TANULO.TanuloId = TanuloMulasztas.TANULOID
|
||||
INNER JOIN @osztalyTanulok AS OSZTALYTANULOK ON OSZTALYTANULOK.TANULOID = TanuloMulasztas.TanuloId
|
||||
WHERE TANULO.BelepesDatum <= DATUM
|
||||
AND (TANULO.KilepesDatum IS NULL OR TANULO.KilepesDatum >= DATUM)
|
||||
AND (IIF(@pAtsoroltTanuloAdatok > 0, 1, 0) = 1 OR (OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@pOsztalyId, @pTanevId, DEFAULT))))
|
||||
AND (@idoszakEleje IS NULL OR DATUM >= @idoszakEleje)
|
||||
AND (@idoszakVege IS NULL OR DATUM <= @idoszakVege)
|
||||
GROUP BY TIPUS_CHAR, TIPUS, IGAZOLT, TanuloMulasztas.TANULOID, GYAKORLATI
|
||||
|
||||
|
||||
IF @pElmeletgyakorlat=0
|
||||
BEGIN
|
||||
INSERT INTO @osztalyokMulasztas (OSZTALYID, TIPUS_CHAR, C_TIPUS, C_IGAZOLT, MULASZTASOK_SZAMA, C_GYAKORLATI, DESCR)
|
||||
SELECT @pOsztalyId AS OSZTALYID, TIPUS_CHAR, C_TIPUS, C_IGAZOLT, CASE WHEN TIPUS_CHAR = 'K' THEN SUM(KESESORA) ELSE SUM(MULASZTASOK_SZAMA) END MULASZTASOK_SZAMA, 'F' AS C_GYAKORLATI, TIPUS_CHAR + C_IGAZOLT + 'F' AS DESCR
|
||||
FROM (
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, C_TANULOID, SUM(KESESPERC) AS KESESPERC, SUM(KESESPERC)/45 AS KESESORA, SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA
|
||||
FROM @szurtMulasztas
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, C_TANULOID
|
||||
) AS T_SUM_MULASZTAS
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT
|
||||
ORDER BY C_TIPUS DESC, C_IGAZOLT DESC;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @osztalyokMulasztas (OSZTALYID, TIPUS_CHAR, C_TIPUS, C_IGAZOLT, MULASZTASOK_SZAMA, C_GYAKORLATI, DESCR)
|
||||
SELECT @pOsztalyId AS OSZTALYID, TIPUS_CHAR, C_TIPUS, C_IGAZOLT, CASE WHEN TIPUS_CHAR = 'K' THEN SUM(KESESORA) ELSE SUM(MULASZTASOK_SZAMA) END MULASZTASOK_SZAMA, C_GYAKORLATI, TIPUS_CHAR + C_IGAZOLT + C_GYAKORLATI
|
||||
FROM (
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, C_TANULOID, KESESPERC, KESESPERC/(CASE WHEN C_GYAKORLATI = 'T' THEN 45 ELSE 45 END) AS KESESORA, MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM @szurtMulasztas
|
||||
) AS T_SUM_MULASZTAS
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_GYAKORLATI, C_IGAZOLT
|
||||
ORDER BY C_TIPUS DESC, C_IGAZOLT DESC;
|
||||
END
|
||||
END
|
||||
DECLARE @cols AS NVARCHAR(MAX);
|
||||
DECLARE @colsHeader AS NVARCHAR(MAX);
|
||||
DECLARE @query AS NVARCHAR(MAX);
|
||||
|
||||
SELECT OSZTALYID, TANTARGYID, ATLAG
|
||||
INTO #tempErtekeles
|
||||
FROM @osztalyokErtekeles;
|
||||
|
||||
SELECT OSZTALYID, MAGATLAG, SZORGATLAG
|
||||
INTO #tempMagSzorgErtekeles
|
||||
FROM @osztalyokMagszorg;
|
||||
|
||||
SELECT OSZTALYID, TANULOKSZAMA
|
||||
INTO #tempTanulokszama
|
||||
FROM @osztalyokTanulokszama;
|
||||
|
||||
SELECT @colsHeader = ISNULL(@colsHeader + ', ', '') + QUOTENAME(TANTARGYAK.TANTARGYID) + ' AS ' + QUOTENAME(TANTARGYAK.TANTARGY_NEV),
|
||||
@cols = ISNULL(@cols + ', ', '') + QUOTENAME(TANTARGYAK.TANTARGYID)
|
||||
FROM (
|
||||
SELECT DISTINCT TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_SORSZAM
|
||||
FROM @tantargyak
|
||||
) AS TANTARGYAK
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
SET @query =
|
||||
'SELECT NEV AS [Osztályok], TANULOILETSZAM.TANULOKSZAMA AS [Tanulók száma], MAGSZORGERTEKELES.MAGATLAG AS [Magatartás átlag], MAGSZORGERTEKELES.SZORGATLAG AS [Szorgalom átlag], ' + @colsHeader + '
|
||||
FROM (SELECT OSZTALYID, NEV, Row# FROM #tempOsztalyok) AS OSZTALYOK
|
||||
LEFT JOIN (
|
||||
SELECT OSZTALYID AS E_OSZTALYID, TANTARGYID, ATLAG
|
||||
FROM #tempErtekeles
|
||||
) AS ERTEKELES ON ERTEKELES.E_OSZTALYID = OSZTALYOK.OSZTALYID
|
||||
PIVOT (
|
||||
MAX(ATLAG)
|
||||
FOR TANTARGYID IN (' + @cols + ')
|
||||
) AS PIVOTTABLE
|
||||
LEFT JOIN #tempTanulokszama AS TANULOILETSZAM ON PIVOTTABLE.OSZTALYID = TANULOILETSZAM.OSZTALYID
|
||||
LEFT JOIN (
|
||||
SELECT OSZTALYID AS MSZE_OSZTALYID, MAGATLAG, SZORGATLAG
|
||||
FROM #tempMagSzorgErtekeles
|
||||
) AS MAGSZORGERTEKELES ON PIVOTTABLE.OSZTALYID = MAGSZORGERTEKELES.MSZE_OSZTALYID
|
||||
ORDER BY Row#';
|
||||
execute(@query);
|
||||
|
||||
SELECT * INTO #tempForPivotMulasztas
|
||||
FROM @osztalyokMulasztas;
|
||||
|
||||
IF @pElmeletgyakorlat=0
|
||||
BEGIN
|
||||
SET @cols = 'HTF,KTF,HFF,KFF'
|
||||
SET @colsHeader = 'HTF AS [Igazolt hiányzás],KTF AS [Igazolt késés (óra)],HFF AS [Igazolatlan hiányzás],KFF AS [Igazolatlan késés (óra)]'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @cols = 'HTF,KTF,HFF,KFF,HTT,KTT,HFT,KFT'
|
||||
SET @colsHeader = 'HTF AS [Elméleti igazolt hiányzás],KTF AS [Elméleti igazolt késés (óra)],HFF AS [Elméleti igazolatlan hiányzás],KFF AS [Elméleti igazolatlan késés (óra)],HTT AS [Gyakorlati igazolt hiányzás],KTT AS [Gyakorlati igazolt késés (óra)],HFT AS [Gyakorlati igazolatlan hiányzás],KFT AS [Gyakorlati igazolatlan késés (óra)]'
|
||||
END
|
||||
SET @query =
|
||||
'SELECT ' + @colsHeader + '
|
||||
FROM (SELECT OSZTALYID, NEV, Row# FROM #tempOsztalyok) AS OSZTALYOK
|
||||
LEFT JOIN (
|
||||
SELECT OSZTALYID AS M_OSZTALYID, MULASZTASOK_SZAMA, DESCR
|
||||
FROM #tempForPivotMulasztas
|
||||
) AS MULASZTAS ON MULASZTAS.M_OSZTALYID = OSZTALYOK.OSZTALYID
|
||||
PIVOT (
|
||||
MAX(MULASZTASOK_SZAMA)
|
||||
FOR DESCR IN (' + @cols + ')
|
||||
) AS PIVOTTABLE
|
||||
ORDER BY Row#';
|
||||
execute(@query);
|
||||
|
||||
select OSZTALYID AS OsztalyId
|
||||
,EVFOLYAM AS EvfolyamTipusa
|
||||
,FeladatEllatasiHelyId
|
||||
,KepzesiForma
|
||||
,OsztalyfonokId
|
||||
,TantervId
|
||||
,OJAranyJanosProgram
|
||||
,OJCSJKeresztfeleves
|
||||
,OJGyogypedagogiai
|
||||
,OJKettannyelvu
|
||||
,OJLogopediai
|
||||
,OJNemzetisegi
|
||||
,OJNyelviElokeszito
|
||||
,OJSportOsztaly
|
||||
,OJTechnikaiOsztaly
|
||||
,SzakmaCsoport
|
||||
,Agazat
|
||||
,Szakkepesites
|
||||
,Reszszakkepesites from #tempOsztalyok;
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempOsztalyok') IS NOT NULL DROP TABLE #tempOsztalyok
|
||||
IF OBJECT_ID('tempdb..#tempTanulokszama') IS NOT NULL DROP TABLE #tempTanulokszama
|
||||
IF OBJECT_ID('tempdb..#tempErtekeles') IS NOT NULL DROP TABLE #tempErtekeles
|
||||
IF OBJECT_ID('tempdb..#tempForPivotMulasztas') IS NOT NULL DROP TABLE #tempForPivotMulasztas
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempOsztalyErtekelesek') IS NOT NULL DROP TABLE #tempOsztalyErtekelesek;
|
||||
IF OBJECT_ID('tempdb..#tempMulasztas') IS NOT NULL DROP TABLE #tempMulasztas;
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,264 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_Nyomtatvany_Excel_IdoszakiTanuloStatisztika]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiTanuloStatisztika]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiTanuloStatisztika]
|
||||
@pTanevId INT,
|
||||
@pIntezmenyId INT,
|
||||
@pErtekelestipusaId INT,
|
||||
@pLezaroNaptipusId INT,
|
||||
@pTanevrendjeTanevKezdeteNaptipusId INT = 1394,
|
||||
@pMulasztasTipusIdKeses INT = 1499,
|
||||
@pMulasztasTipusIdHianyzas INT = 1500,
|
||||
@pAtsoroltTanuloAdatok INT = 1,
|
||||
@pElmeletgyakorlat BIT = 0
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Const
|
||||
DECLARE @ElsoFelveVege INT = 1400
|
||||
DECLARE @IneVege INT = 1403
|
||||
DECLARE @IIIneVege INT = 1404
|
||||
DECLARE @UtolsoTanitasiNap INT = 1395
|
||||
DECLARE @VegzosUtolsoTanitasiNap INT = 1402
|
||||
|
||||
DECLARE @iskolaErdekuParam INT = 1683;
|
||||
DECLARE @iskolaErdekuSzamit BIT = dbo.fnGetRendszerbeallitasEnumBool(@iskolaErdekuParam, @pIntezmenyId, @pTanevId);
|
||||
|
||||
DECLARE @oid int, @onev nvarchar(50), @okf char(1), @ovegz char(1)
|
||||
DECLARE osztaly_cursor CURSOR FOR
|
||||
SELECT T_OSZTALYCSOPORT_OSSZES.ID AS OSZTALYID, T_OSZTALYCSOPORT_OSSZES.C_NEV AS NEV, C_KERESZTFELEVES AS KERESZTFELEVES, C_VEGZOSEVFOLYAM AS VEGZOSEVFOLYAM
|
||||
FROM T_OSZTALYCSOPORT_OSSZES
|
||||
JOIN T_OSZTALY_OSSZES ON T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID
|
||||
JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
|
||||
JOIN T_DICTIONARYITEMBASE_OSSZES ON T_DICTIONARYITEMBASE_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA AND T_DICTIONARYITEMBASE_OSSZES.TOROLT = 'F' AND T_DICTIONARYITEMBASE_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
WHERE T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F' AND T_OSZTALYCSOPORT_OSSZES.C_INTEZMENYID=@pIntezmenyId AND T_TANEV_OSSZES.TOROLT = 'F' AND T_TANEV_OSSZES.ID = @pTanevId
|
||||
AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
ORDER BY T_DICTIONARYITEMBASE_OSSZES.C_ORDER ASC, T_OSZTALYCSOPORT_OSSZES.C_NEV ASC;
|
||||
|
||||
DECLARE @osztalyTanulok TABLE (TANULOID NVARCHAR(20) PRIMARY KEY, OSZTALYID INT, TANULONEV NVARCHAR(MAX), OSZTALYNEV NVARCHAR(MAX), BELEPESDATUM DATE, KILEPESDATUM DATE);
|
||||
DECLARE @tantargyak TABLE(TANTARGYID INT, TANTARGY_NEV NVARCHAR(MAX), TARGYKATEGORIA_NEV NVARCHAR(MAX), TARGYKATEGORIA_SORSZAM INT, C_FOTARGYE CHAR(1), C_ALTANTARGYKENTNYOMTATVANYBAN CHAR(1));
|
||||
DECLARE @szurtMulasztas TABLE (TIPUS_CHAR CHAR(1), C_TIPUS INT , C_IGAZOLT CHAR(1), TANULOID NVARCHAR(20), C_GYAKORLATI CHAR(1), KESESPERC INT, MULASZTASOK_SZAMA INT);
|
||||
DECLARE @szurtErtekeles TABLE (
|
||||
T_TANULOERTEKELES_ID INT, TANULOID NVARCHAR(20), ERTEKELES NVARCHAR(MAX), ERTEKELES_SZOVEG_MEGJEGYZES NVARCHAR(MAX), C_ERTEKELESDATUM DATETIME,
|
||||
TANTARGYID INT, TANTARGY_NEV NVARCHAR(255), TARGYKATEGORIA_NEV NVARCHAR(255), TARGYKATEGORIA_SORSZAM INT, T_TANTARGY_C_FOTARGYE CHAR(1), T_TANTARGY_C_ALTANTARGYKENTNYOMTATVANYBAN CHAR(1), C_OSZTALYCSOPORTID INT
|
||||
);
|
||||
DECLARE @szurtMagszorg TABLE (T_TANULOERTEKELES_ID INT, TANULOID NVARCHAR(20), MagatartasOsztalyzat NVARCHAR(MAX), MagatartasErtek NVARCHAR(MAX), SzorgalomOsztalyzat NVARCHAR(MAX), SzorgalomErtek NVARCHAR(MAX), ERTEKELESSZOVEG NVARCHAR(MAX), ERTEKELESDATUM DATETIME, TOROLT CHAR(1));
|
||||
|
||||
DECLARE @szurtMulasztasRes TABLE (TIPUS_CHAR CHAR(1), C_TIPUS INT , C_IGAZOLT CHAR(1), TANULOID NVARCHAR(20), KESESPERC INT, KESESORA INT, MULASZTASOK_SZAMA INT, C_GYAKORLATI CHAR(1));
|
||||
DECLARE @szurtMulasztasOsszesRes TABLE (C_IGAZOLT CHAR(1), TANULOID NVARCHAR(20), MULASZTASOK_SZAMA INT, C_GYAKORLATI CHAR(1));
|
||||
|
||||
INSERT INTO @tantargyak (TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_NEV, TARGYKATEGORIA_SORSZAM, C_FOTARGYE, C_ALTANTARGYKENTNYOMTATVANYBAN)
|
||||
SELECT TANTARGYAK.ID AS TANTARGYID, COALESCE(TANTARGYAK.C_NEVNYOMTATVANYBAN, TANTARGYAK.C_NEV) AS TANTARGY_NEV, TARGYKATEG.C_NAME AS TARGYKATEGORIA_NEV, TARGYKATEG.C_VALUE AS TARGYKATEGORIA_SORSZAM, TANTARGYAK.C_FOTARGYE, TANTARGYAK.C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM T_TANTARGY_OSSZES AS TANTARGYAK
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TARGYKATEG ON TARGYKATEG.ID = TANTARGYAK.C_TARGYKATEGORIA AND TARGYKATEG.C_TANEVID = TANTARGYAK.C_TANEVID
|
||||
WHERE TANTARGYAK.TOROLT = 'F' AND TANTARGYAK.C_TANEVID = @pTanevId
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempMulasztas') IS NOT NULL
|
||||
DROP TABLE #tempMulasztas;
|
||||
|
||||
CREATE TABLE #tempMulasztas (
|
||||
ID INT IDENTITY(1,1) PRIMARY KEY,
|
||||
TIPUS_CHAR CHAR(1), TIPUS INT, IGAZOLT CHAR(1), TANULOID NVARCHAR(20), GYAKORLATI CHAR(1), KESESPERC INT, MULASZTASOK_SZAMA INT, OSZTALYCSOPORTID INT, DATUM DATETIME);
|
||||
|
||||
INSERT INTO #tempMulasztas(TIPUS_CHAR, TIPUS, IGAZOLT, TANULOID, GYAKORLATI, KESESPERC, MULASZTASOK_SZAMA, OSZTALYCSOPORTID, DATUM)
|
||||
SELECT IIF(C_TIPUS = @pMulasztasTipusIdKeses, 'K', 'H'), C_TIPUS, C_IGAZOLT, C_ORATANULOIID, C_GYAKORLATI, SUM(C_KESESPERCBEN), COUNT(1) AS MULASZTASOK_SZAMA, TanitasiOra.C_OSZTALYCSOPORTID, C_DATUM
|
||||
FROM T_TANULOMULASZTAS_OSSZES TanuloMulasztas
|
||||
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_TANTARGY_OSSZES t on t.ID = TanitasiOra.C_TANTARGYID
|
||||
WHERE TanuloMulasztas.C_TIPUS IN (@pMulasztasTipusIdKeses, @pMulasztasTipusIdHianyzas)
|
||||
AND TanitasiOra.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport (@pTanevId))
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA IS NULL OR C_IGAZOLASTIPUSA <> 1533))
|
||||
AND TanuloMulasztas.TOROLT = 'F' AND TanuloMulasztas.C_IGAZOLT IS NOT NULL
|
||||
AND TanitasiOra.TOROLT = 'F' AND TanitasiOra.C_MEGTARTOTT = 'T'
|
||||
AND TanuloMulasztas.C_TANEVID = @pTanevId
|
||||
GROUP BY C_TIPUS, C_IGAZOLT, C_ORATANULOIID, C_GYAKORLATI, TanitasiOra.C_OSZTALYCSOPORTID, C_DATUM
|
||||
|
||||
|
||||
OPEN osztaly_cursor
|
||||
|
||||
FETCH NEXT FROM osztaly_cursor
|
||||
INTO @oid, @onev, @okf, @ovegz
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
DECLARE @keresztFeleves BIT = (SELECT IIF(@okf = 'T', 1, 0))
|
||||
DECLARE @vegzosEvfolyamu BIT = (SELECT IIF(@ovegz = 'T', 1, 0))
|
||||
|
||||
--Osztalyjellemzok alapjan a nyito/lezaro naptipus csereje
|
||||
DECLARE @pKezdeteOsztalyNaptipusId INT = (
|
||||
IIF(@keresztFeleves = 0, @pTanevrendjeTanevKezdeteNaptipusId,
|
||||
CASE
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @pTanevrendjeTanevKezdeteNaptipusId
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @pTanevrendjeTanevKezdeteNaptipusId
|
||||
END)
|
||||
)
|
||||
|
||||
DECLARE @pLezaroOsztalyNaptipusId INT = (
|
||||
IIF(@keresztFeleves = 0, IIF(@vegzosEvfolyamu = 1 AND @pLezaroNaptipusId = @UtolsoTanitasiNap, @VegzosUtolsoTanitasiNap, @pLezaroNaptipusId),
|
||||
CASE
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @UtolsoTanitasiNap
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @IIIneVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @IneVege
|
||||
END)
|
||||
)
|
||||
|
||||
DECLARE @idoszakEleje DATE = (
|
||||
SELECT ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pKezdeteOsztalyNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @oid)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
(SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @pTanevId))
|
||||
);
|
||||
|
||||
DECLARE @idoszakVege DATE = (
|
||||
SELECT ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pLezaroOsztalyNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @oid)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
GETDATE())
|
||||
);
|
||||
|
||||
INSERT INTO @osztalyTanulok (TANULOID, OSZTALYID, TANULONEV, OSZTALYNEV, BELEPESDATUM, KILEPESDATUM)
|
||||
SELECT DISTINCT CAST(TANCSOPORT.C_OSZTALYCSOPORTID AS NVARCHAR) + '_' + CAST(FELHASZNALO.ID AS NVARCHAR) /*AS OSZTALYTANULOID, FELHASZNALO.ID*/ AS TANULOID, TANCSOPORT.C_OSZTALYCSOPORTID AS OSZTALYID, C_NYOMTATASINEV, C_NEV, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_FELHASZNALO_OSSZES AS FELHASZNALO
|
||||
INNER JOIN (
|
||||
SELECT C_TANULOID, C_OSZTALYCSOPORTID, C_NEV, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_TANULOCSOPORT_OSSZES AS TANULOCSOPORT
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS OSZTALYCSOPORT ON OSZTALYCSOPORT.ID = TANULOCSOPORT.C_OSZTALYCSOPORTID
|
||||
WHERE TANULOCSOPORT.TOROLT = 'F' AND TANULOCSOPORT.C_OSZTALYCSOPORTID = @oid AND TANULOCSOPORT.C_BELEPESDATUM < @idoszakVege AND (@keresztFeleves = 0 OR TANULOCSOPORT.C_BELEPESDATUM >= @idoszakEleje)
|
||||
AND (TANULOCSOPORT.C_KILEPESDATUM IS NULL OR TANULOCSOPORT.C_KILEPESDATUM >= @idoszakVege)
|
||||
) AS TANCSOPORT ON TANCSOPORT.C_TANULOID = FELHASZNALO.ID
|
||||
WHERE FELHASZNALO.TOROLT = 'F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @oid AND FELHASZNALO.C_TANEVID = @pTanevId;
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempOsztalyErtekelesek') IS NOT NULL
|
||||
DROP TABLE #tempOsztalyErtekelesek;
|
||||
SELECT * INTO #tempOsztalyErtekelesek FROM fnGetDokumentumErtekelesekOsztalyonkent (@pTanevId, @oid, @pErtekelestipusaId, DEFAULT, DEFAULT, @pAtsoroltTanuloAdatok) AS ERTEKELESEK
|
||||
|
||||
INSERT INTO @szurtErtekeles (T_TANULOERTEKELES_ID, TANULOID, ERTEKELES, ERTEKELES_SZOVEG_MEGJEGYZES, C_ERTEKELESDATUM, TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_NEV, TARGYKATEGORIA_SORSZAM, T_TANTARGY_C_FOTARGYE, T_TANTARGY_C_ALTANTARGYKENTNYOMTATVANYBAN, C_OSZTALYCSOPORTID)
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY TanuloId), CAST(@oid AS NVARCHAR) + '_' + CAST(TanuloId AS NVARCHAR)
|
||||
,COALESCE(CAST(ErtekelesOsztalyzatValue AS NVARCHAR(MAX)),
|
||||
IIF(ErtekelesSzoveg IS NOT NULL, CASE WHEN ErtekelesSzovegRovidNev IN ('1', '2', '3', '4', '5') THEN 'Sz' ELSE ErtekelesSzovegRovidNev END, NULL),
|
||||
ErtekelesSzazalek)
|
||||
,COALESCE(ErtekelesSzoveg, ErtekelesTema, ''), Datum, TantargyId, TantargyNevZarojellel, TARGYKATEG.C_NAME, TARGYKATEG.C_VALUE, FotargyE, Altantargy, OsztalyCsoportId
|
||||
FROM #tempOsztalyErtekelesek AS ERTEKELESEK
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TARGYKATEG ON TARGYKATEG.ID = ERTEKELESEK.TargyKategoriaId AND TARGYKATEG.C_TANEVID = @pTanevId
|
||||
WHERE TantargyId IS NOT NULL AND (FotargyE = 'T' OR Altantargy = 'T')
|
||||
|
||||
--MAGATARTÁS-SZORGALOM
|
||||
INSERT INTO @szurtMagszorg (T_TANULOERTEKELES_ID, TANULOID, MagatartasOsztalyzat, MagatartasErtek, SzorgalomOsztalyzat, SzorgalomErtek, ERTEKELESSZOVEG, ERTEKELESDATUM, TOROLT)
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY TanuloId) AS ID, CAST(@oid AS NVARCHAR) + '_' + CAST(TanuloId AS NVARCHAR) AS TANULOID,
|
||||
COALESCE(CAST(MagatartasOsztalyzatValue AS NVARCHAR(MAX)), CAST(MagatartasErtekOsztalyzatkent AS NVARCHAR(MAX)), MagatartasSzovegRovidNev) AS MagatartasOsztalyzat, MagatartasErtek,
|
||||
COALESCE(CAST(SzorgalomOsztalyzatValue AS NVARCHAR(MAX)), CAST(SzorgalomErtekOsztalyzatkent AS NVARCHAR(MAX)), SzorgalomSzovegRovidNev) AS SzorgalomOsztalyzat, SzorgalomErtek,
|
||||
ErtekelesSzoveg AS C_ERTEKELESSZOVEG, Datum AS C_ERTEKELESDATUM, 'F' AS TOROLT
|
||||
FROM #tempOsztalyErtekelesek AS ERTEKELESEK
|
||||
WHERE TantargyId IS NULL;
|
||||
|
||||
--MULASZTÁS
|
||||
INSERT INTO @szurtMulasztas (TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, C_GYAKORLATI, KESESPERC, MULASZTASOK_SZAMA)
|
||||
SELECT TIPUS_CHAR, TIPUS, IGAZOLT, CAST(@oid AS NVARCHAR) + '_' + CAST(TanuloMulasztas.TANULOID AS NVARCHAR), GYAKORLATI, SUM(KESESPERC), SUM(MULASZTASOK_SZAMA)
|
||||
FROM #tempMulasztas AS TanuloMulasztas
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @oid, 'T') AS TANULO ON TANULO.TanuloId = TanuloMulasztas.TANULOID
|
||||
WHERE TANULO.BelepesDatum <= DATUM
|
||||
AND (TANULO.KilepesDatum IS NULL OR TANULO.KilepesDatum >= DATUM)
|
||||
AND (IIF(@pAtsoroltTanuloAdatok > 0, 1, 0) = 1 OR (OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@oid, @pTanevId, DEFAULT))))
|
||||
AND (@idoszakEleje IS NULL OR DATUM >= @idoszakEleje)
|
||||
AND (@idoszakVege IS NULL OR DATUM <= @idoszakVege)
|
||||
GROUP BY TIPUS_CHAR, TIPUS, IGAZOLT, TanuloMulasztas.TANULOID, GYAKORLATI
|
||||
|
||||
IF @pElmeletgyakorlat=0
|
||||
BEGIN
|
||||
INSERT INTO @szurtMulasztasRes
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, SUM(KESESPERC) AS KESESPERC, SUM(KESESPERC)/45 AS KESESORA, SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA, 'F'
|
||||
FROM @szurtMulasztas
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID
|
||||
ORDER BY TANULOID, C_TIPUS DESC, C_IGAZOLT DESC;
|
||||
|
||||
INSERT INTO @szurtMulasztasOsszesRes
|
||||
SELECT C_IGAZOLT, TANULOID, SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA, 'F'
|
||||
FROM (
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, SUM(KESESPERC)/45 AS MULASZTASOK_SZAMA
|
||||
FROM @szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'K'
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID
|
||||
UNION ALL
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA
|
||||
FROM @szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'H'
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID
|
||||
) AS KM
|
||||
GROUP BY C_IGAZOLT, TANULOID
|
||||
ORDER BY TANULOID, C_IGAZOLT DESC;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @szurtMulasztasRes
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, KESESPERC, KESESPERC/(CASE WHEN C_GYAKORLATI = 'T' THEN 45 ELSE 45 END) AS KESESORA, MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM @szurtMulasztas
|
||||
ORDER BY TANULOID, C_TIPUS DESC, C_IGAZOLT DESC;
|
||||
|
||||
INSERT INTO @szurtMulasztasOsszesRes
|
||||
SELECT C_IGAZOLT, TANULOID, SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM (
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, KESESPERC/(CASE WHEN C_GYAKORLATI = 'T' THEN 45 ELSE 45 END) AS MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM @szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'K'
|
||||
UNION ALL
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM @szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'H'
|
||||
) AS KM
|
||||
GROUP BY C_IGAZOLT, TANULOID, C_GYAKORLATI
|
||||
ORDER BY TANULOID, C_IGAZOLT DESC;
|
||||
END
|
||||
|
||||
FETCH NEXT FROM osztaly_cursor
|
||||
INTO @oid, @onev, @okf, @ovegz
|
||||
END
|
||||
CLOSE osztaly_cursor;
|
||||
DEALLOCATE osztaly_cursor;
|
||||
|
||||
SELECT DISTINCT TANULOID, TANULONEV, OSZTALYNEV, FORMAT(BELEPESDATUM, 'yyyy.MM.dd', 'hu-HU') + ' - ' + ISNULL (FORMAT(KILEPESDATUM, 'yyyy.MM.dd', 'hu-HU'), '') AS BESOROLASA, OSZTALYID
|
||||
FROM @osztalyTanulok
|
||||
ORDER BY OSZTALYNEV, TANULONEV;
|
||||
|
||||
SELECT DISTINCT TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_SORSZAM
|
||||
FROM @tantargyak
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
|
||||
SELECT * FROM @szurtErtekeles
|
||||
|
||||
SELECT * FROM @szurtMagszorg
|
||||
|
||||
SELECT * FROM @szurtMulasztasRes
|
||||
|
||||
SELECT * FROM @szurtMulasztasOsszesRes
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempOsztalyErtekelesek') IS NOT NULL
|
||||
DROP TABLE #tempOsztalyErtekelesek;
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempMulasztas') IS NOT NULL
|
||||
DROP TABLE #tempMulasztas;
|
||||
END
|
||||
GO
|
@@ -0,0 +1,165 @@
|
||||
-- =============================================
|
||||
-- Description: Tanuló kirstat adatokat ad vissza az exorthoz
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS sp_TanuloKIRStatAdatokGyorsExport
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_TanuloKIRStatAdatokGyorsExport]
|
||||
@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
SELECT
|
||||
felhasznalo.C_NYOMTATASINEV as 'Tanuló neve'
|
||||
,felhasznalo.C_OKTATASIAZONOSITO as 'Tanuló oktatási azonosító'
|
||||
,felhasznalo.C_SZULETESINEV as 'Születési neve'
|
||||
,CAST(felhasznalo.C_SZULETESIDATUM as date) as 'Születési dátuma'
|
||||
,felhasznalo.C_ANYJANEVE as 'Anyja neve'
|
||||
,szuletesiorszag.C_NAME as 'Születési ország'
|
||||
,felhasznalo.C_SZULETESIHELY as 'Születési hely'
|
||||
,neme.C_NAME as 'Neme'
|
||||
,allampolgarsaga.C_NAME as 'Állampolgársága'
|
||||
,allampolgarsaga2.C_NAME as 'Állampolgársága 2'
|
||||
,anyanyelve.C_NAME as 'Anyanyelve'
|
||||
,ocs.C_NEV as 'Osztály neve'
|
||||
,evfolyam.C_NAME as 'Évfolyam neve'
|
||||
,mukodesihely.C_NEV + ' - ' + oktatasinevelesifeladat.C_NAME as 'Feladatellátási hely'
|
||||
,felhasznalo.C_ADOSZAM as 'Adószám'
|
||||
,felhasznalo.C_TAJSZAM as 'Tajszám'
|
||||
,igazolvanytipus.C_NAME as 'Igazolvány típusa'
|
||||
,felhasznalo.C_IGAZOLVANYSZAM as 'Igazolványszám'
|
||||
,tta.C_TORZSLAPSZAM as 'Törzslapszám'
|
||||
,tta.C_NAPLOSORSZAM as 'Naplósorszám'
|
||||
,CAST(tta.C_NYILVANTARTASKEZDETE as date) as 'Nyilvántartás kezdete'
|
||||
,tanulo.C_BANKSZAMLASZAM as 'Bankszámlaszám'
|
||||
,tta.C_BEIRASINAPLOSORSZAM as 'Beírási napló sorszáma'
|
||||
,IIF(tta.C_EVISMETLO = 'T', 'Igen', 'Nem') as 'Évismétlő'
|
||||
,tanulo.C_EVISMETLOTANTARGYAK as 'Évismétlés tantárgyai'
|
||||
,IIF(tta.C_JOGVISZONYATSZUNETELTETO = 'T', 'Igen', 'Nem') as 'Jogviszonyát szüneteltető'
|
||||
,CAST(tta.C_JOGVISZONYVARHATOBEFEJEZESE as date) as 'Jogviszony várható befejezése'
|
||||
,IIF(tta.C_POLGARISZERZODESES = 'T', 'Igen', 'Nem') as 'Polgári szerződéses'
|
||||
,IIF(tta.C_EGYUTTMUKODESES = 'T', 'Igen', 'Nem') as 'Együttműködési megállapodásos'
|
||||
,IIF(tanulo.C_MEGALLAPODASOS = 'T', 'Igen', 'Nem') as 'Kizárólag iskolai keretek között, tanműhelyben tanuló'
|
||||
,IIF(tta.C_SZAKMAIGYAKORLATON = 'T', 'Igen', 'Nem') as 'Szakmai gyakorlaton'
|
||||
,IIF(tta.C_VENDEG = 'T', 'Igen', 'Nem') as 'Vendégtanuló'
|
||||
,IIF(tta.C_MAGANTANULO = 'T', 'Igen', 'Nem') as 'Magántanuló'
|
||||
,magantanulosagoka.C_NAME as 'Magántanulóság oka'
|
||||
,CAST(tta.C_MAGANTANULOSAGKEZDETE as date) as 'Magántanulóság kezdete'
|
||||
,CAST(tanulo.C_DIAKIGAZOLVANYKELTE as date) as 'Diákigazolvány kelte'
|
||||
,tanulo.C_DIAKIGAZOLVANYSZAM as 'Diákigazolvány száma'
|
||||
,IIF(tta.C_BEJARO = 'T', 'Igen', 'Nem') as 'Bejáró'
|
||||
,IIF(tta.C_TANKOTELEZETT = 'T', 'Igen', 'Nem') as 'Tankötelezett'
|
||||
,CAST(tta.C_TANKOTELEZETTSEGVEGE as date) as 'Tankötelezettség vége'
|
||||
,IIF(tta.C_TANULOSZERZODESES = 'T', 'Igen', 'Nem') as 'Tanulószerződéses'
|
||||
,IIF(tta.C_TANDIJATFIZETO = 'T', 'Igen', 'Nem') as 'Tandíjat fizető'
|
||||
,IIF(tta.C_TERITESIDIJATFIZETO = 'T', 'Igen', 'Nem') as 'Térítésidíjat fizető'
|
||||
,vallasa.C_NAME as 'Vallása'
|
||||
,tanulo.C_EGYHAZKOZOSSEGE as 'Egyházközössége'
|
||||
,IIF(tta.C_DIAKSPORTKOROS = 'T', 'Igen', 'Nem') as 'Diáksportkör tagja'
|
||||
,tanulo.C_SPORTAG as 'Sportága'
|
||||
,tanulo.C_SPORTEDZONEVE as 'Sportedző neve'
|
||||
,tanulo.C_SPORTKLUB as 'Sportklub'
|
||||
,testnevelestipusa.C_NAME as 'Testnevelés típusa'
|
||||
,IIF(tanulo.C_KOLLEGIUMIELLATASOS = 'T', 'Igen', 'Nem') as 'Kollégiumi ellátásos'
|
||||
,ingyenestankonyv.C_NAME as 'Ingyenes tankönyvellátás'
|
||||
,etkezesikedvezmeny.C_NAME as 'Étkezési kedvezmény'
|
||||
,IIF(tanulo.C_SZOCIALISTAMOGATAS = 'T', 'Igen', 'Nem') as 'Szociális ösztöndíj'
|
||||
,IIF(tanulo.C_ALLAMIGONDOZOTT = 'T', 'Igen', 'Nem') as 'Intézeti, állami nevelt'
|
||||
,IIF(tanulo.C_VESZELYEZTETETT = 'T', 'Igen', 'Nem') as 'Veszélyeztetett'
|
||||
,hatranyoshelyzet.C_NAME as 'Hátrányos helyzetű'
|
||||
,IIF(tanulo.C_BEILLESZKEDESINEHEZSEG = 'T', 'Igen', 'Nem') as 'Beilleszkedési nehézség'
|
||||
,tanulo.C_RENDSZERESGYERMEKVEDELMIKEDV as 'Rendszeres gyermekvédelmi kedvezmény'
|
||||
,IIF(tanulo.C_MENEDEKJOGGALRENDELKEZO = 'T', 'Igen', 'Nem') as 'Menekült, oltalmazott, menedékes'
|
||||
,tanulo.C_TARTOSGYOGYKEZELESSZAMA as 'Tartós gyógykezelés okmányszáma'
|
||||
,tanulo.C_TOBBGYERMEKIGAZOLASSZAMA as '3 vagy több gyermek igazolás okmányszáma'
|
||||
,tanulo.C_TANULOIJOGVISZONYOSELTARTOTT as 'Tanulói, hallgatói jogviszonnyal rendelkező eltartott'
|
||||
,tanulo.C_SAJATOSNEVELESU as 'Sajátos nevelési igényű'
|
||||
,tanulo.C_SNILETSZAMSULY as 'Tanuló létszámsúlyozása'
|
||||
,IIF(tanulo.C_HALMOZOTTANFOGYATEKOS = 'T', 'Igen', 'Nem') as 'Halmozottan fogyatékos'
|
||||
,tanulo.C_SNIKIALLITOINTEZMENY as 'Kiállító intézmény megnevezése'
|
||||
,tanulo.C_SNIKONTROLLIDOPONT as 'Szükséges kontroll időpontja'
|
||||
,tanulo.C_SNIMEGHATAROZAS as 'SNI meghatározás'
|
||||
,tanulo.C_SNIOKMANYERVENYESSEGKEZDETE as 'SNI okmány érvényesség kezdete'
|
||||
,tanulo.C_SNIOKMANYERVENYESSEGVEGE as 'SNI okmány érvényesség vége'
|
||||
,tanulo.C_BNOKOD as 'BNO-kód'
|
||||
,ertelmifogyatekos.C_NAME as 'Értelmi fogyatékos' --
|
||||
,tanulo.C_ERTELMIFOGYATEKOSOKMANYSZAM as 'Értelmi fogyatékos okmányszám'
|
||||
,hallasserult.C_NAME as 'Hallássérült' --
|
||||
,tanulo.C_HALLASSERULTOKMANYSZAM as 'Hallássérült okmányszám'
|
||||
,latasserult.C_NAME as 'Látássérült' --
|
||||
,tanulo.C_LATASSERULTOKMANYSZAM as 'Látássérült okmányszám'
|
||||
,tanulo.C_MOZGASSERULTOKMANYSZAM as 'Mozgáskorlátozott okmányszám'
|
||||
,tanulo.C_BESZEDFOGYATEKOSOKMANYSZAM as 'Beszédfogyatékos okmányszám'
|
||||
,tanulo.C_DISZGRAFIAOKMANYSZAM as 'Diszgráfia okmányszám'
|
||||
,tanulo.C_DISZKALKULIAOKMANYSZAM as 'Diszkalkulia okmányszám'
|
||||
,tanulo.C_DISZLEXIAOKMANYSZAM as 'Diszlexia okmányszám'
|
||||
,tanulo.C_VISELKEDESORGANIKUSOKMANYSZA as 'Viselkedés fejlődésének organikus okra visszavezethető tartós és súlyos rendellenességével küzd okmányszám'
|
||||
,tanulo.C_VISELKEDESNEMORGANIKUSOKMANY as 'Viselkedés fejlődésének organikus okra vissza nem vezethető tartós és súlyos rendellenességével küzd okmányszám'
|
||||
,tanulo.C_MEGISMEROORGANIKUSOKMANYSZAM as 'Megismerő funkciók organikus okra visszavezethető tartós és súlyos rendellenességével küzd okmányszám'
|
||||
,tanulo.C_MEGISMERONEMORGANIKUSOKMANYS as 'Megismerő funkciók organikus okra vissza nem vezethető tartós és súlyos rendellenességével küzd okmányszám'
|
||||
,tanulo.C_FEJLESZTOFOGLALKOZASORASZAM as 'Fejlesztésre fordítandó óraszám'
|
||||
,tanulo.C_FEJLESZTOFOGLALKOZAS as 'Fejlesztő foglalkozás'
|
||||
,tanulo.C_FEJLESZTESREKIJELOLT as 'Fejlesztésre kijelölt'
|
||||
,IIF(tanulo.C_BTMPROBLEMAS = 'T', 'Igen', 'Nem') as 'Beilleszkedési, tanulási és magatartási problémával küzdő'
|
||||
,tanulo.C_BTMLETSZAMSULY as 'Tanuló létszámsúlyozása'
|
||||
,IIF(tanulo.C_BEILLESZKEDESIPROBLEMAVALKUZ = 'T', 'Igen', 'Nem') as 'Beilleszkedési problémával küzd'
|
||||
,IIF(tanulo.C_TANULASIPROBLEMAVALKUZD = 'T', 'Igen', 'Nem') as 'Tanulási problémával küzd'
|
||||
,IIF(tanulo.C_MAGATARTASIPROBLEMAVALKUZD = 'T', 'Igen', 'Nem') as 'Magatartási problémával küzd'
|
||||
,tanulo.C_BTMHATAROZATOKMANYSZAM as 'BTM határozat okmányszáma'
|
||||
,tanulo.C_BTMKIALLITOINTEZMENY as 'Kiállító intézmény megnevezése'
|
||||
,tanulo.C_BTMKONTROLLIDOPONT as 'Kontroll időpontja'
|
||||
,tanulo.C_BTMOKMANYERVENYESSEGKEZDETE as 'Okmány érvényességének kezdete'
|
||||
,tanulo.C_BTMOKMANYERVENYESSEGVEGE as 'Okmány érvényességének vége'
|
||||
,tanulo.C_BTMHATAROZATTARTALMA as 'Határozat tartalma'
|
||||
,IIF(tanulo.C_KOZEPFOKUOKTATASBATIZENHATOD = 'T', 'Igen', 'Nem') as 'Középfokú oktatásba 16. életévét betöltve került'
|
||||
,szakmacsoport.C_NAME as 'Szakmacsoport'
|
||||
,agazat.C_NAME as 'Ágazat'
|
||||
,szakkepesites.C_NAME as 'Szakképesítés'
|
||||
,CONCAT(ISNULL(szakkepesitestipus.C_SZAKKEPESITESSZINT, ''), ISNULL(szakkepesitestipus.C_TANULMANYITERULET,''), ISNULL(szakkepesitestipus.C_TERULETSORSZAM,'')) as 'Szakképesítés (kód)'
|
||||
,resszakkepesites.C_NAME as 'Részszakképesítés'
|
||||
,tanulo.C_SZAKKEPESITESSZAMA as 'Szakképesítés száma'
|
||||
,IIF(tta.C_OSZTV = 'T', 'Igen', 'Nem') as 'OSZTV országos döntős'
|
||||
,IIF(tta.C_SZKTV = 'T', 'Igen', 'Nem') as 'SZKTV országos döntős'
|
||||
,IIF(tta.C_SZETVAGAZAT = 'T', 'Igen', 'Nem') as 'SZÉTV országos döntő'
|
||||
,IIF(tta.C_EGYEBORSZAGOSDONTO = 'T', 'Igen', 'Nem') as 'Egyéb országos döntő'
|
||||
,IIF(tta.C_TECHNIKUSIEVFOLYAM = 'T', 'Igen', 'Nem') as 'Technikusi évfolyam'
|
||||
,tta.C_SZINTVIZSGA as 'Gyakorlati szintvizsgák átlaga'
|
||||
,felhasznalo.C_LEIRAS as 'Megjegyzés'
|
||||
FROM T_TANULO_OSSZES tanulo
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tanulo.ID AND felhasznalo.C_TANEVID = tanulo.C_ALTANEVID AND felhasznalo.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND felhasznalo.TOROLT = 'F'
|
||||
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = @pTanevId
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tanulocsoport ON tanulocsoport.C_TANULOID = tanulo.ID AND tanulocsoport.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND tanulocsoport.C_TANEVID = tanulo.C_ALTANEVID AND tanulocsoport.TOROLT = 'F' AND tanulocsoport.C_BELEPESDATUM <= DATEADD(DAY, 30, tanev.C_KEZDONAP) AND (tanulocsoport.C_KILEPESDATUM >= DATEADD(DAY, 30, tanev.C_KEZDONAP) OR tanulocsoport.C_KILEPESDATUM IS NULL)
|
||||
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tanuloCsoport.ID AND tta.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tanulocsoport.C_OSZTALYCSOPORTID AND ocs.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND ocs.C_TANEVID = tanulo.C_ALTANEVID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = tanulocsoport.C_OSZTALYCSOPORTID AND osztaly.C_ALINTEZMENYID = tanulo.C_ALINTEZMENYID AND osztaly.C_ALTANEVID = tanulo.C_ALTANEVID AND osztaly.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES evfolyam ON evfolyam.ID = ocs.C_EVFOLYAMTIPUSA AND evfolyam.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND evfolyam.C_TANEVID = tanulo.C_ALTANEVID AND evfolyam.TOROLT = 'F'
|
||||
INNER JOIN T_FELADATELLATASIHELY_OSSZES felhely ON felhely.ID = ocs.C_FELADATELLATASIHELYID AND felhely.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND felhely.C_TANEVID = tanulo.C_ALTANEVID AND felhely.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES oktatasinevelesifeladat ON oktatasinevelesifeladat.ID = felhely.C_OKTATASINEVELESIFELADATTIPUS AND oktatasinevelesifeladat.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND oktatasinevelesifeladat.C_TANEVID = tanulo.C_ALTANEVID AND oktatasinevelesifeladat.TOROLT = 'F'
|
||||
INNER JOIN T_MUKODESIHELY_OSSZES mukodesihely ON mukodesihely.ID = felhely.C_MUKODESIHELYID AND mukodesihely.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND mukodesihely.C_TANEVID = tanulo.C_ALTANEVID AND mukodesihely.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES neme ON neme.ID = felhasznalo.C_NEME AND neme.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND neme.C_TANEVID = tanulo.C_ALTANEVID AND neme.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsaga ON allampolgarsaga.ID = felhasznalo.C_ALLAMPOLGARSAGA AND allampolgarsaga.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND allampolgarsaga.C_TANEVID = tanulo.C_ALTANEVID AND allampolgarsaga.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szuletesiorszag ON szuletesiorszag.ID = felhasznalo.C_SZULETESIORSZAG AND szuletesiorszag.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND szuletesiorszag.C_TANEVID = tanulo.C_ALTANEVID AND szuletesiorszag.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsaga2 ON allampolgarsaga2.ID = felhasznalo.C_ALLAMPOLGARSAGA2 AND allampolgarsaga2.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND allampolgarsaga2.C_TANEVID = tanulo.C_ALTANEVID AND allampolgarsaga2.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES anyanyelve ON anyanyelve.ID = felhasznalo.C_ANYANYELVE AND anyanyelve.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND anyanyelve.C_TANEVID = tanulo.C_ALTANEVID AND anyanyelve.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES igazolvanytipus ON igazolvanytipus.ID = felhasznalo.C_IGAZOLVANYTIPUSA AND igazolvanytipus.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND igazolvanytipus.C_TANEVID = tanulo.C_ALTANEVID AND igazolvanytipus.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magantanulosagoka ON magantanulosagoka.ID = tta.C_MAGANTANULOSAGANAKOKAID AND magantanulosagoka.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND magantanulosagoka.C_TANEVID = tanulo.C_ALTANEVID AND magantanulosagoka.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ingyenestankonyv ON ingyenestankonyv.ID = tanulo.C_INGYENESTANKONVYELLATASA AND ingyenestankonyv.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND ingyenestankonyv.C_TANEVID = tanulo.C_ALTANEVID AND ingyenestankonyv.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES etkezesikedvezmeny ON etkezesikedvezmeny.ID = tanulo.C_ETKEZESIKEDVEZMENY AND etkezesikedvezmeny.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND etkezesikedvezmeny.C_TANEVID = tanulo.C_ALTANEVID AND etkezesikedvezmeny.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES vallasa ON vallasa.ID = tanulo.C_VALLASA AND vallasa.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND vallasa.C_TANEVID = tanulo.C_ALTANEVID AND vallasa.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES testnevelestipusa ON testnevelestipusa.ID = tanulo.C_TESTNEVELESTIPUSA AND testnevelestipusa.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND testnevelestipusa.C_TANEVID = tanulo.C_ALTANEVID AND testnevelestipusa.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szakmacsoport ON szakmacsoport.ID = tanulocsoport.C_SZAKMACSOPORT AND szakmacsoport.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND szakmacsoport.C_TANEVID = tanulo.C_ALTANEVID AND szakmacsoport.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES agazat ON agazat.ID = tanulocsoport.C_AGAZAT AND agazat.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND agazat.C_TANEVID = tanulo.C_ALTANEVID AND agazat.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szakkepesites ON szakkepesites.ID = tanulocsoport.C_SZAKKEPESITES AND szakkepesites.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND szakkepesites.C_TANEVID = tanulo.C_ALTANEVID AND szakkepesites.TOROLT = 'F'
|
||||
LEFT JOIN T_SZAKKEPESITESTIPUS_OSSZES szakkepesitestipus ON szakkepesites.ID = szakkepesitestipus.ID AND szakkepesites.C_INTEZMENYID = szakkepesitestipus.C_ALINTEZMENYID AND szakkepesites.C_TANEVID = szakkepesitestipus.C_ALTANEVID AND szakkepesitestipus.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES resszakkepesites ON resszakkepesites.ID = tanulocsoport.C_RESZSZAKKEPESITES AND resszakkepesites.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND resszakkepesites.C_TANEVID = tanulo.C_ALTANEVID AND resszakkepesites.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ertelmifogyatekos ON ertelmifogyatekos.ID = tanulo.C_ERTELMIFOGYATEKOS AND ertelmifogyatekos.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND ertelmifogyatekos.C_TANEVID = tanulo.C_ALTANEVID AND ertelmifogyatekos.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES latasserult ON latasserult.ID = tanulo.C_LATASSERULT AND latasserult.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND latasserult.C_TANEVID = tanulo.C_ALTANEVID AND latasserult.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES hallasserult ON hallasserult.ID = tanulo.C_HALLASSERULT AND hallasserult.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND hallasserult.C_TANEVID = tanulo.C_ALTANEVID AND hallasserult.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES hatranyoshelyzet ON hatranyoshelyzet.ID = tanulo.C_HATRANYOSHELYZETU AND hatranyoshelyzet.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND hatranyoshelyzet.C_TANEVID = tanulo.C_ALTANEVID AND hatranyoshelyzet.TOROLT = 'F'
|
||||
WHERE tanulo.TOROLT = 'F'
|
||||
AND tanulo.C_ALTANEVID = @pTanevId
|
||||
|
||||
END
|
||||
GO
|
||||
|
@@ -0,0 +1,229 @@
|
||||
DROP PROCEDURE IF EXISTS uspGetHelyettesitesekListaja
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetHelyettesitesekListaja
|
||||
@pKezdoDatum datetime = NULL
|
||||
,@pVegDatum datetime = NULL
|
||||
,@pHelyettesitesTipusId int = NULL
|
||||
,@pHelyettesitettId int = NULL
|
||||
,@pHelyettesitoId int = NULL
|
||||
,@pIsNaplozott char(1) = NULL
|
||||
,@pOsztalyCsoportId int = NULL
|
||||
,@pTantargyId int = NULL
|
||||
,@pKellKapcsolodoCsoportok char = 'F'
|
||||
,@pTanevID int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
DECLARE
|
||||
@sql nvarchar(max)
|
||||
,@whereString nvarchar(max) = ''
|
||||
|
||||
CREATE TABLE #NaptariNap (
|
||||
Datum datetime
|
||||
,OsztalyCsoportId int
|
||||
,IsTanitasiNap char(1)
|
||||
,PRIMARY KEY (Datum, OsztalyCsoportId)
|
||||
)
|
||||
DECLARE @DateFrom datetime, @DateTo datetime
|
||||
SELECT @DateFrom = ISNULL(@pKezdoDatum,tv.C_KEZDONAP), @DateTo = ISNULL(@pVegDatum,tv.C_UTOLSONAP) FROM T_TANEV tv WHERE tv.ID = @pTanevID
|
||||
INSERT INTO #NaptariNap
|
||||
SELECT
|
||||
tr.Datum
|
||||
,tr.OsztalyId
|
||||
,ISNULL(tro.IsTanitasiNap, tr.IsTanitasiNap) AS IsTanitasiNap
|
||||
FROM (
|
||||
SELECT
|
||||
nn.C_NAPDATUMA AS Datum
|
||||
,o.ID AS OsztalyId
|
||||
,nn.C_ORARENDINAP AS IsTanitasiNap
|
||||
,DAY(C_NAPDATUMA) AS Nap
|
||||
,FORMAT(nn.C_NAPDATUMA, 'MMMM', 'HU-hu') as Honap
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON o.TOROLT = 'F' AND o.C_ALTANEVID = @pTanevID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE nn.C_NAPDATUMA BETWEEN @DateFrom AND @DateTo AND nn.C_TANEVID = @pTanevID
|
||||
AND nn.TOROLT = 'F'
|
||||
) tr
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
nn.C_NAPDATUMA AS Datum
|
||||
,ocstr.C_TANEVRENDJEID AS OsztalyId
|
||||
,tr.C_ORARENDINAP AS IsTanitasiNap
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F' AND tr.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON ocstr.C_TANEVRENDJEID = tr.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = ocstr.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_NAPTIPUS_OSSZES nt ON nt.ID = tr.C_NAPTIPUSA AND nt.C_ALTANEVID = tr.C_TANEVID AND nt.TOROLT = 'F'
|
||||
WHERE nn.C_TANEVID = @pTanevID
|
||||
AND nn.TOROLT = 'F'
|
||||
) tro ON tr.Datum = tro.Datum AND tr.OsztalyId = tro.OsztalyId
|
||||
|
||||
IF @pKezdoDatum IS NOT NULL BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.HelyettesitesDatum >= @pKezdoDatum'
|
||||
END
|
||||
|
||||
IF @pVegDatum IS NOT NULL BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.HelyettesitesDatum <= @pVegDatum'
|
||||
END
|
||||
|
||||
IF @pHelyettesitesTipusId IS NOT NULL BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.HelyettesitesTipusId = @pHelyettesitesTipusId'
|
||||
END
|
||||
ELSE BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.HelyettesitesTipusId IS NOT NULL'
|
||||
END
|
||||
|
||||
IF @pHelyettesitettId IS NOT NULL BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.HelyettesitettId = @pHelyettesitettId'
|
||||
END
|
||||
|
||||
IF @pHelyettesitoId IS NOT NULL BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.HelyettesitoId = @pHelyettesitoId'
|
||||
END
|
||||
|
||||
IF @pOsztalyCsoportId IS NOT NULL BEGIN
|
||||
IF(@pKellKapcsolodoCsoportok = 'T')
|
||||
BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.OsztalyCsoportId IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@pOsztalyCsoportId))'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.OsztalyCsoportId = @pOsztalyCsoportId'
|
||||
END
|
||||
END
|
||||
|
||||
IF @pTantargyId IS NOT NULL BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.TantargyId = @pTantargyId'
|
||||
END
|
||||
|
||||
IF @pIsNaplozott = 0 BEGIN
|
||||
SET @whereString+=N'
|
||||
AND hisz.Naplozott = ''F'''
|
||||
END
|
||||
ELSE IF @pIsNaplozott = 1 BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.Naplozott = ''T'''
|
||||
END
|
||||
ELSE BEGIN
|
||||
SET @whereString += N'
|
||||
AND hisz.Naplozott IS NOT NULL'
|
||||
END
|
||||
|
||||
|
||||
|
||||
SET @sql = N'
|
||||
SELECT
|
||||
HelyettesitesDatum
|
||||
,Ora
|
||||
,Helyettesitett
|
||||
,HelyettesitettElotagNelkul
|
||||
,HelyettesitettId
|
||||
,HelyettesitesTipusId
|
||||
,HelyettesitesOka
|
||||
,C_MEGJEGYZES
|
||||
,Helyettesito
|
||||
,HelyettesitoElotagNelkul
|
||||
,HelyettesitoId
|
||||
,OsztalyCsoport
|
||||
,OsztalyCsoportId
|
||||
,Tantargy
|
||||
,TantargyId
|
||||
,Naplozott
|
||||
,ID
|
||||
FROM(
|
||||
SELECT
|
||||
hisz.C_HELYETTESITESNAPJA AS HelyettesitesDatum
|
||||
,oo.C_ORASZAM AS Ora
|
||||
,helyettesitett.C_NYOMTATASINEV AS Helyettesitett
|
||||
,IIF(helyettesitett.C_NEVSORREND = ''T'',
|
||||
helyettesitett.C_UTONEV + '' '' + helyettesitett.C_VEZETEKNEV,
|
||||
helyettesitett.C_VEZETEKNEV + '' '' + helyettesitett.C_UTONEV) AS HelyettesitettElotagNelkul
|
||||
,helyettesitett.ID AS HelyettesitettId
|
||||
,hisz.C_HELYETTESITESTIPUS AS HelyettesitesTipusId
|
||||
,hisz.C_HELYETTESITESOKA AS HelyettesitesOka
|
||||
,'''' as C_MEGJEGYZES
|
||||
,helyettesito.C_NYOMTATASINEV AS Helyettesito
|
||||
,IIF(helyettesito.C_NEVSORREND = ''T'',
|
||||
helyettesito.C_UTONEV + '' '' + helyettesito.C_VEZETEKNEV,
|
||||
helyettesito.C_VEZETEKNEV + '' '' + helyettesito.C_UTONEV) AS HelyettesitoElotagNelkul
|
||||
,helyettesito.ID AS HelyettesitoId
|
||||
,ocs.C_NEV AS OsztalyCsoport
|
||||
,ocs.ID AS OsztalyCsoportId
|
||||
,tantargy.C_NEV AS Tantargy
|
||||
,tantargy.ID AS TantargyId
|
||||
,''F'' AS Naplozott
|
||||
,hisz.ID as ID
|
||||
FROM T_HELYETTESITESIIDOSZAK hisz
|
||||
INNER JOIN T_ORARENDIORA oo ON oo.ID=hisz.C_HELYETTESITETTORARENDID
|
||||
INNER JOIN T_TANTARGY tgy ON tgy.ID=oo.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO helyettesitett ON oo.C_TANARID = helyettesitett.ID
|
||||
INNER JOIN T_FELHASZNALO helyettesito ON hisz.C_HELYETTESTANAROKID= helyettesito.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON oo.C_OSZTALYCSOPORTID = ocs.ID AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_TANTARGY tantargy ON oo.C_TANTARGYID = tantargy.ID
|
||||
INNER JOIN #NaptariNap nn ON nn.OsztalyCsoportId = oo.C_OSZTALYCSOPORTID AND nn.Datum = hisz.C_HELYETTESITESNAPJA AND IsTanitasiNap = ''T''
|
||||
WHERE NOT EXISTS(
|
||||
SELECT 1 FROM T_TANITASIORA tao WHERE tao.C_DATUM=hisz.C_HELYETTESITESNAPJA AND tao.C_OSZTALYCSOPORTID=oo.C_OSZTALYCSOPORTID
|
||||
AND tao.C_TANTARGYID=oo.C_TANTARGYID AND (tao.C_TANARID = hisz.C_HELYETTESTANAROKID OR tao.C_HELYETTESITOTANARID = hisz.C_HELYETTESTANAROKID) AND tao.C_HELYETTESITESTIPUSA IS NOT NULL
|
||||
AND (oo.C_ORASZAM=tao.C_ORASZAM OR (oo.C_ORASZAM IS NULL AND tao.C_ORAKEZDETE=tao.C_DATUM+oo.C_ORAKEZDETE AND tao.C_ORAVEGE=tao.C_DATUM+oo.C_ORAVEGE)))
|
||||
UNION ALL
|
||||
SELECT
|
||||
tao.C_DATUM AS HelyettesitesDatum
|
||||
,tao.C_ORASZAM AS Ora
|
||||
,helyettesitett.C_NYOMTATASINEV AS Helyettesitett
|
||||
,IIF(helyettesitett.C_NEVSORREND = ''T'',
|
||||
helyettesitett.C_UTONEV + '' '' + helyettesitett.C_VEZETEKNEV,
|
||||
helyettesitett.C_VEZETEKNEV + '' '' + helyettesitett.C_UTONEV) AS HelyettesitettElotagNelkul
|
||||
,helyettesitett.ID AS HelyettesitettId
|
||||
,tao.C_HELYETTESITESTIPUSA AS HelyettesitesTipusId
|
||||
,tao.C_HELYETTESITESOKA AS HelyettesitesOka
|
||||
,tao.C_MEGJEGYZES as C_MEGJEGYZES
|
||||
,helyettesito.C_NYOMTATASINEV AS Helyettesito
|
||||
,IIF(helyettesito.C_NEVSORREND = ''T'',
|
||||
helyettesito.C_UTONEV + '' '' + helyettesito.C_VEZETEKNEV,
|
||||
helyettesito.C_VEZETEKNEV + '' '' + helyettesito.C_UTONEV) AS HelyettesitoElotagNelkul
|
||||
,helyettesito.ID AS HelyettesitoId
|
||||
,ocs.C_NEV AS OsztalyCsoport
|
||||
,ocs.ID AS OsztalyCsoportId
|
||||
,tantargy.C_NEV AS Tantargy
|
||||
,tantargy.ID AS TantargyId
|
||||
,''T'' AS Naplozott
|
||||
,tao.ID
|
||||
FROM T_TANITASIORA tao
|
||||
INNER JOIN T_TANTARGY tgy ON tgy.ID=tao.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO helyettesitett ON tao.C_TANARID= helyettesitett.ID
|
||||
INNER JOIN T_FELHASZNALO helyettesito ON tao.C_HELYETTESITOTANARID= helyettesito.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON tao.C_OSZTALYCSOPORTID = ocs.ID AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_TANTARGY tantargy ON tao.C_TANTARGYID = tantargy.ID
|
||||
WHERE C_HELYETTESITESTIPUSA IS NOT NULL AND tao.TOROLT=''F''
|
||||
) hisz WHERE (1=1)
|
||||
' +@whereString
|
||||
|
||||
|
||||
EXEC sp_executesql @sql, N'
|
||||
@pKezdoDatum datetime
|
||||
,@pVegDatum datetime
|
||||
,@pHelyettesitesTipusId int
|
||||
,@pHelyettesitettId int
|
||||
,@pHelyettesitoId int
|
||||
,@pIsNaplozott char(1)
|
||||
,@pOsztalyCsoportId int
|
||||
,@pTantargyId int'
|
||||
,@pKezdoDatum = @pKezdoDatum
|
||||
,@pVegDatum = @pVegDatum
|
||||
,@pHelyettesitesTipusId = @pHelyettesitesTipusId
|
||||
,@pHelyettesitettId = @pHelyettesitettId
|
||||
,@pHelyettesitoId = @pHelyettesitoId
|
||||
,@pIsNaplozott = @pIsNaplozott
|
||||
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
||||
,@pTantargyId = @pTantargyId
|
||||
END
|
@@ -0,0 +1,110 @@
|
||||
DROP PROCEDURE IF EXISTS uspGetHianyzokEsJelenlevokSzama
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetHianyzokEsJelenlevokSzama
|
||||
@pTanevId INT
|
||||
,@pMinOraszam INT
|
||||
AS
|
||||
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
CREATE TABLE #NaptariNap (
|
||||
Datum datetime
|
||||
,OsztalyId int
|
||||
,IsTanitasiNap char(1)
|
||||
,Nap int
|
||||
,Honap nvarchar(20)
|
||||
,PRIMARY KEY (Datum, OsztalyId)
|
||||
)
|
||||
DECLARE @DateFrom datetime, @DateTo datetime
|
||||
|
||||
SELECT @DateFrom = tv.C_ELSOTANITASINAP, @DateTo = tv.C_UTOLSOTANITASINAP FROM T_TANEV_OSSZES tv WHERE ID = @pTanevId
|
||||
|
||||
INSERT INTO #NaptariNap
|
||||
SELECT
|
||||
tr.Datum
|
||||
,tr.OsztalyId
|
||||
,ISNULL(tro.IsTanitasiNap, tr.IsTanitasiNap) AS IsTanitasiNap
|
||||
,tr.Nap
|
||||
,tr.Honap
|
||||
FROM (
|
||||
SELECT
|
||||
nn.C_NAPDATUMA AS Datum
|
||||
,o.ID AS OsztalyId
|
||||
,IIF(nt.C_ISTANORAI = 'F' AND nt.C_ISTANORANKIVULI = 'F', 'F', 'T') AS IsTanitasiNap
|
||||
,DAY(C_NAPDATUMA) AS Nap
|
||||
,FORMAT(nn.C_NAPDATUMA, 'MMMM', 'HU-hu') as Honap
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON o.TOROLT = 'F' AND o.C_ALTANEVID = @pTanevId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_NAPTIPUS_OSSZES nt ON nt.ID = nn.C_NAPTIPUSA AND nt.C_ALTANEVID = nn.C_TANEVID AND nn.C_INTEZMENYID = nt.C_ALINTEZMENYID AND nt.TOROLT = 'F'
|
||||
WHERE nn.C_NAPDATUMA BETWEEN @DateFrom AND @DateTo AND nn.C_TANEVID = @pTanevId
|
||||
AND nn.TOROLT = 'F'
|
||||
) tr
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
nn.C_NAPDATUMA AS Datum
|
||||
,o.ID AS OsztalyId
|
||||
,IIF(nt.C_ISTANORAI = 'F' AND nt.C_ISTANORANKIVULI = 'F', 'F', 'T') AS IsTanitasiNap
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F' AND tr.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON ocstr.C_TANEVRENDJEID = tr.ID
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON ocstr.C_OSZTALYCSOPORTID = o.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_NAPTIPUS_OSSZES nt ON nt.ID = tr.C_NAPTIPUSA AND nt.C_ALTANEVID = tr.C_TANEVID AND nt.TOROLT = 'F'
|
||||
WHERE nn.C_TANEVID = @pTanevId
|
||||
AND nn.TOROLT = 'F'
|
||||
) tro ON tr.Datum = tro.Datum AND tr.OsztalyId = tro.OsztalyId
|
||||
|
||||
SELECT
|
||||
nn.Datum
|
||||
,nn.Honap AS Honap
|
||||
,nn.Nap
|
||||
,nn.OsztalyId
|
||||
,ocs.C_NEV AS OsztalyNev
|
||||
,nn.IsTanitasiNap
|
||||
,lsz.Letszam
|
||||
,IIF(h.Hianyzas IS NULL AND IsTanitasiNap = 'T', 0, h.Hianyzas) AS Hianyzas
|
||||
FROM #NaptariNap nn
|
||||
LEFT JOIN (
|
||||
SELECT nn.Datum, nn.OsztalyId, COUNT(1) AS Letszam
|
||||
FROM #NaptariNap nn
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = nn.OsztalyId
|
||||
AND nn.Datum >= tcs.C_BELEPESDATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > nn.Datum)
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.TOROLT = 'F'
|
||||
WHERE nn.IsTanitasiNap = 'T'
|
||||
GROUP BY nn.Datum, nn.OsztalyId
|
||||
) lsz ON lsz.Datum = nn.Datum AND lsz.OsztalyId = nn.OsztalyId
|
||||
LEFT JOIN (
|
||||
SELECT x.C_DATUM AS Datum, tcs.C_OSZTALYCSOPORTID AS OsztalyId, SUM(CNT) AS Hianyzas
|
||||
FROM (
|
||||
SELECT tn.C_DATUM, mu.C_ORATANULOIID, COUNT(DISTINCT C_ORATANULOIID) AS CNT
|
||||
FROM T_TANULOMULASZTAS_OSSZES mu
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = mu.C_TANITASIORAKID
|
||||
WHERE mu.C_TIPUS = 1500
|
||||
AND mu.C_TANEVID = @pTanevId
|
||||
AND tn.C_TANEVID = @pTanevId
|
||||
AND mu.TOROLT = 'F'
|
||||
AND tn.TOROLT = 'F'
|
||||
GROUP BY tn.C_DATUM, mu.C_ORATANULOIID
|
||||
HAVING COUNT(1) >= @pMinOraszam
|
||||
) x
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = x.C_ORATANULOIID
|
||||
AND x.C_DATUM >= tcs.C_BELEPESDATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > x.C_DATUM)
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcs.C_OSZTALYCSOPORTID
|
||||
AND o.C_ALTANEVID = @pTanevId
|
||||
AND o.TOROLT = 'F'
|
||||
GROUP BY x.C_DATUM, tcs.C_OSZTALYCSOPORTID
|
||||
) h ON h.Datum = nn.Datum AND h.OsztalyId = nn.OsztalyId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = nn.OsztalyId AND ocs.C_TANEVID = @pTanevId AND ocs.TOROLT = 'F'
|
||||
ORDER BY nn.Datum, nn.OsztalyId
|
||||
|
||||
END
|
||||
GO
|
||||
|
||||
|
@@ -0,0 +1,32 @@
|
||||
-- ================================================================
|
||||
-- A tan<61>r <20>ltal nem tan<61>tott oszt<7A>lycsoportok
|
||||
-- ================================================================
|
||||
DROP PROCEDURE IF EXISTS uspGetTanarNemTanitottOsztalyaiByFoglalkozas
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetTanarNemTanitottOsztalyaiByFoglalkozas
|
||||
@pTanarId int
|
||||
,@pTanevId int
|
||||
AS
|
||||
BEGIN
|
||||
SELECT DISTINCT
|
||||
CASE WHEN ocs.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(ocs.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder
|
||||
,CASE WHEN LEFT(ocs.C_NEV, 1) BETWEEN '0' AND '9' AND ocs.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(ocs.C_NEV, 1, PATINDEX('%[^0-9]%', ocs.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder
|
||||
,ocs.ID AS OCSID
|
||||
,ocs.C_NEV As Nev
|
||||
,ocs.C_EVFOLYAMTIPUSA AS Evfolyam
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
WHERE ocs.TOROLT = 'F'
|
||||
AND ocs.C_TANEVID = @pTanevId
|
||||
AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
WHERE f.C_TANARID = @pTanarId
|
||||
AND f.TOROLT = 'F'
|
||||
AND f.C_TANEVID = @pTanevId
|
||||
AND f.C_OSZTALYCSOPORTID = ocs.ID
|
||||
)
|
||||
ORDER BY NumberOrder ASC, NumberAndTextOrder ASC, ocs.C_NEV ASC
|
||||
END
|
||||
GO
|
@@ -0,0 +1,77 @@
|
||||
DROP PROCEDURE IF EXISTS uspGetTanarNemTanitottTanuloi
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetTanarNemTanitottTanuloi
|
||||
@pTanarId int
|
||||
,@pOsztalycsoportId int = NULL
|
||||
,@pTanevId int
|
||||
,@pIntezmenyId int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@sql nvarchar(max)
|
||||
,@sqlWhere nvarchar(max)
|
||||
,@defaultFeladatKategoriaId int
|
||||
|
||||
SET @defaultFeladatKategoriaId = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
|
||||
SET @sql = N'
|
||||
SELECT
|
||||
fh.ID
|
||||
,fh.C_NYOMTATASINEV AS TanuloNev
|
||||
,IIF(fh.C_NEVSORREND = ''T'',
|
||||
fh.C_UTONEV + '' '' + fh.C_VEZETEKNEV,
|
||||
fh.C_VEZETEKNEV + '' '' + fh.C_UTONEV
|
||||
) AS TanuloNevElotagNelkul
|
||||
,ocs.C_nev AS OsztalyCsoportNev
|
||||
,fh.C_SZULETESIDATUM AS SzuletesiIdo
|
||||
,fh.C_OKTATASIAZONOSITO AS OktAzon
|
||||
FROM T_FELHASZNALO fh
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID = fh.ID AND tcs.TOROLT = ''F''
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @defaultFeladatKategoriaId AND ocs.TOROLT = ''F'''
|
||||
|
||||
SET @sqlWhere = N'
|
||||
WHERE NOT EXISTS ( /* Tan<61>tott tanul<75>k */
|
||||
SELECT 1
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID
|
||||
WHERE f.C_TANARID = @pTanarId
|
||||
AND f.TOROLT = ''F''
|
||||
AND tcs.TOROLT = ''F''
|
||||
AND tcs.C_BELEPESDATUM <= GETDATE()
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
AND tcs.C_TANULOID = fh.ID
|
||||
)
|
||||
AND fh.TOROLT = ''F''
|
||||
AND fh.C_TANEVID = @pTanevId
|
||||
AND fh.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tcs.C_BELEPESDATUM <= GETDATE()
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())'
|
||||
|
||||
IF @pOsztalycsoportId IS NULL BEGIN
|
||||
SET @defaultFeladatKategoriaId = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
SET @sql += N'
|
||||
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID /* Ha t<>bb oszt<7A>lya van a di<64>nak, t<>bbsz<73>r jelenik meg */
|
||||
'
|
||||
END
|
||||
|
||||
IF @pOsztalycsoportId IS NOT NULL BEGIN
|
||||
SET @sqlWhere += N'
|
||||
AND tcs.C_OSZTALYCSOPORTID = @pOsztalycsoportId'
|
||||
END
|
||||
|
||||
SET @sql += @sqlWhere
|
||||
|
||||
EXEC sp_executesql @sql, N'
|
||||
@pTanarId int
|
||||
,@pOsztalycsoportId int
|
||||
,@pTanevId int
|
||||
,@pIntezmenyId int
|
||||
,@defaultFeladatKategoriaId int'
|
||||
,@pTanarId = @pTanarId
|
||||
,@pOsztalycsoportId = @pOsztalycsoportId
|
||||
,@pTanevId = @pTanevId
|
||||
,@pIntezmenyId = @pIntezmenyId
|
||||
,@defaultFeladatKategoriaId = @defaultFeladatKategoriaId
|
||||
END
|
||||
GO
|
Reference in New Issue
Block a user