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

View file

@ -0,0 +1,143 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent') IS NOT NULL
BEGIN
DROP FUNCTION fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent
END
GO
CREATE FUNCTION fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent (@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),
ErtekelesSzovegFormazott 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),
MagatartasSzovegFormazott NVARCHAR(MAX),
MagatartasSzovegRovidNev NVARCHAR(3),
MagatartasErtekId INT,
MagatartasErtek NVARCHAR(MAX),
MagatartasErtekOsztalyzatkent INT,
SzorgalomOsztalyzatId INT,
SzorgalomOsztalyzatValue INT,
SzorgalomOsztalyzatNev NVARCHAR(MAX),
SzorgalomSzoveg NVARCHAR(MAX),
SzorgalomSzovegFormazott NVARCHAR(MAX),
SzorgalomSzovegRovidNev NVARCHAR(3),
SzorgalomErtekId INT,
SzorgalomErtek NVARCHAR(MAX),
SzorgalomErtekOsztalyzatkent INT,
TanuloId 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),
RENDEZ0 int,
RENDEZ1 INT,
RENDEZ2 NVARCHAR(MAX),
RENDEZ3 INT,
RENDEZ4 INT,
RENDEZ5 NVARCHAR(MAX)
)
AS
BEGIN
INSERT INTO @retTanuloErtekeles
SELECT
ErtekelesId,
Datum,
TipusId,
ErtekelesSzoveg,
ErtekelesSzovegFormazott,
ErtekelesSzovegRovidNev,
ErtekelesOsztalyzatId,
ErtekelesOsztalyzatValue,
ErtekelesOsztalyzatNev,
ErtekelesSzazalek,
MagatartasOsztalyzatId,
MagatartasOsztalyzatValue,
MagatartasOsztalyzatNev,
MagatartasSzoveg,
MagatartasSzovegFormazott,
MagatartasSzovegRovidNev,
MagatartasErtekId,
MagatartasErtek,
MagatartasErtekOsztalyzatkent,
SzorgalomOsztalyzatId,
SzorgalomOsztalyzatValue,
SzorgalomOsztalyzatNev,
SzorgalomSzoveg,
SzorgalomSzovegFormazott,
SzorgalomSzovegRovidNev,
SzorgalomErtekId,
SzorgalomErtek,
SzorgalomErtekOsztalyzatkent,
TanuloId,
OsztalyCsoportId,
TantargyId,
TantargyNevZarojellel,
TantargyNevNyomtatvanyban,
TantargyNev,
TantargyAngolNev,
TantargyNemetNev,
TargyKategoriaId,
FotargyE,
Altantargy,
FotargyId,
ErtekelesTema,
ErtekeloId,
ErtekelesModjaId,
IsMagatartasSzorgalom,
Jeloles,
JelolesAndErtekelesTema,
RENDEZ0,
RENDEZ1,
RENDEZ2,
RENDEZ3,
RENDEZ4,
RENDEZ5
FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevId, @osztalyCsoportId, @ertekelesTipusa, 0, @csakKivlasztottOsztalyCsoport, @atsoroltTanuloErtekelesek, DEFAULT) ErtekelesekTable
INNER JOIN T_CSOPORT_OSSZES CsoportTable ON ErtekelesekTable.OsztalyCsoportId = CsoportTable.Id
WHERE
C_TIPUSA IN
(
1067 --Alapf. müv. okt. zeneművészeti csoport - egyéni főtanszak
,1068 --Alapf. müv. okt. zeneművészeti csoport - csoportos főtanszak
,1069 --Alapf. müv. okt. képző- és iparművészeti csoport
,1070 --Alapf. müv. okt. táncművészeti csoport
,1071 --Alapf. müv. okt. szín- és bábművészeti csoport
,6756 --Alapf. műv. okt. zeneművészeti csoport - csoportos kötelezően választható
,6757 --Alapf. műv. okt. zeneművészeti csoport - egyéni kötelezően választható
,6758 --Alapf. műv. okt. zeneművészeti csoport - csoportos kötelező
,6759 --Alapf. műv. okt. zeneművészeti csoport - egyéni kötelező
,6760 --Alapf. műv. okt. zeneművészeti csoport - csoportos választható
,6761 --Alapf. műv. okt. zeneművészeti csoport - egyéni választható
)
RETURN
END
GO

View file

@ -0,0 +1,213 @@
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,@includeOsztalyfonokiKategoria BIT = 0)
RETURNS @retTanuloErtekeles TABLE
(
ErtekelesId INT NOT NULL
,Datum DATE
,TipusId INT
,ErtekelesSzoveg NVARCHAR(MAX)
,ErtekelesSzovegFormazott NVARCHAR(MAX)
,ErtekelesSzovegRovidNev NVARCHAR(3)
,ErtekelesOsztalyzatId INT
,ErtekelesOsztalyzatValue INT
,ErtekelesOsztalyzatNev NVARCHAR(500)
,ErtekelesSzazalek NVARCHAR(4)
,MagatartasOsztalyzatId INT
,MagatartasOsztalyzatValue INT
,MagatartasOsztalyzatNev NVARCHAR(500)
,MagatartasSzoveg NVARCHAR(MAX)
,MagatartasSzovegFormazott NVARCHAR(MAX)
,MagatartasSzovegRovidNev NVARCHAR(6)
,MagatartasErtekId INT
,MagatartasErtek NVARCHAR(500)
,MagatartasErtekOsztalyzatkent INT
,SzorgalomOsztalyzatId INT
,SzorgalomOsztalyzatValue INT
,SzorgalomOsztalyzatNev NVARCHAR(500)
,SzorgalomSzoveg NVARCHAR(MAX)
,SzorgalomSzovegFormazott NVARCHAR(MAX)
,SzorgalomSzovegRovidNev NVARCHAR(6)
,SzorgalomErtekId INT
,SzorgalomErtek NVARCHAR(500)
,SzorgalomErtekOsztalyzatkent INT
,TanuloId INT
,TanuloCsoportId INT
,OsztalyCsoportId INT
,TantargyId INT
,TantargyNevZarojellel NVARCHAR(1023)
,TantargyNevNyomtatvanyban NVARCHAR(510)
,TantargyNev NVARCHAR(510)
,TantargyAngolNev NVARCHAR(510)
,TantargyNemetNev NVARCHAR(510)
,TargyKategoriaId INT
,FotargyE CHAR(1)
,Altantargy CHAR(1)
,FotargyId INT
,ErtekelesTema NVARCHAR(2100)
,ErtekeloId INT
,ErtekelesModjaId INT
,IsMagatartasSzorgalom CHAR(1)
,Jeloles NVARCHAR(MAX)
,JelolesAndErtekelesTema NVARCHAR(MAX)
,RogzitesDatum DATETIME
,RENDEZ0 int
,RENDEZ1 INT
,RENDEZ2 NVARCHAR(510)
,RENDEZ3 INT
,RENDEZ4 INT
,RENDEZ5 NVARCHAR(510)
)
AS
BEGIN
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
DECLARE @kapcsolodoOcsID TABLE(ID INT)
INSERT INTO @kapcsolodoOcsID (ID)
SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, 0)
DECLARE @DefaultFeladatKategoriaId int = 7553
INSERT INTO @retTanuloErtekeles
SELECT
tanuloErtekeles.ID as ErtekelesId
,tanuloErtekeles.C_DATUM as Datum
,tanuloErtekeles.C_TIPUSID as TipusId
,tanuloErtekeles.C_ERTEKELESSZOVEG as ErtekelesSzoveg
,tanuloErtekeles.C_ERTEKELESSZOVEGFORMAZOTT as ErtekelesSzovegFormazott
,tanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV as ErtekelesSzovegRovidNev
,tanuloErtekeles.C_ERTEKELESOSZTALYZATID as ErtekelesOsztalyzatId
,ertekelesOsztalyzat.C_VALUE as ErtekelesOsztalyzatValue
,ertekelesOsztalyzat.C_NAME as ErtekelesOsztalyzatNev
,CONVERT(NVARCHAR(3), tanuloErtekeles.C_ERTEKELESSZAZALEK)+'%' as ErtekelesSzazalek
,tanuloErtekeles.C_MAGATARTASOSZTALYZATID as MagatartasOsztalyzatId
,magatartasOsztalyzat.C_VALUE as MagatartasOsztalyzatValue
,magatartasOsztalyzat.C_NAME as MagatartasOsztalyzatNev
,tanuloErtekeles.C_MAGATARTASSZOVEG as MagatartasSzoveg
,tanuloErtekeles.C_MAGATARTASSZOVEGFORMAZOTT as MagatartasSzovegFormazott
,tanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV as MagatartasSzovegRovidNev
,tanuloErtekeles.C_MAGATARTASERTEKID as MagatartasErtekId
,magatartasErtek.C_NAME as MagatartasErtek
,magatartasErtek.C_VALUE + 1 as MagatartasErtekOsztalyzatken
,tanuloErtekeles.C_SZORGALOMOSZTALYZATID as SzorgalomOsztalyzatId
,szorgalomOsztalyzat.C_VALUE as SzorgalomOsztalyzatValue
,szorgalomOsztalyzat.C_NAME as SzorgalomOsztalyzatNev
,tanuloErtekeles.C_SZORGALOMSZOVEG as SzorgalomSzoveg
,tanuloErtekeles.C_SZORGALOMSZOVEGFORMAZOTT as SzorgalomSzovegFormazott
,tanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV as SzorgalomSzovegRovidNev
,tanuloErtekeles.C_SZORGALOMERTEKID as SzorgalomErtekId
,szorgalomErtek.C_NAME as SzorgalomErtek
,szorgalomErtek.C_VALUE + 1 as SzorgalomErtekOsztalyzatkent
,tanuloErtekeles.C_TANULOID as TanuloId
,TanuloCsoport.ID AS TanuloCsoportId
,tanuloErtekeles.C_OSZTALYCSOPORTID as OsztalyCsoportId
,tanuloErtekeles.C_TANTARGYID as TantargyId
,IIF(tantargy.C_NEV <> tantargy.C_NEVNYOMTATVANYBAN AND tantargy.C_NEVNYOMTATVANYBAN IS NOT NULL, tantargy.C_NEVNYOMTATVANYBAN +' (' + tantargy.C_NEV + ')', tantargy.C_NEV) as TantargyNevZarojellel
,tantargy.C_NEVNYOMTATVANYBAN as TantargyNevNyomtatvanyban
,tantargy.C_NEV as TantargyNev
,tantargy.C_ANGOLNEV as TantargyAngolNev
,tantargy.C_NEMETNEV as TantargyNemetNev
,tantargy.C_TARGYKATEGORIA as TargyKategoriaId
,tantargy.C_FOTARGYE as FotargyE
,tantargy.C_ALTANTARGYKENTNYOMTATVANYBAN as Altantargy
,tantargy.C_FOTARGYID as FotargyId
,tanuloErtekeles.C_ERTEKELESTEMA as ErtekelesTema
,tanuloErtekeles.C_ERTEKELOID as ErtekeloId
,tanuloErtekeles.C_ERTEKELESMODID as ErtekelesModjaId
,tanuloErtekeles.C_ISMAGATARTASSZORGALOM as IsMagatartasSzorgalom
,CASE
WHEN tanuloErtekeles.C_TIPUSID = 1518 THEN
'<sup>' + CAST(CHAR(ROW_NUMBER() OVER(PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESSZOVEG IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_ROGZITESDATUM) + 48) AS NVARCHAR(10))+'</sup>'
WHEN tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1519) THEN
'<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>'
ELSE
''
END as Jeloles
,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,
'') as JelolesAndErtekelesTema
,tanuloErtekeles.C_ROGZITESDATUM as RogzitesDatum
,tantargy.C_SORSZAM as RENDEZ0
,CASE WHEN tantargy.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END as RENDEZ1
,COALESCE(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV, tantargy.C_NEV) as RENDEZ2
,ISNULL(tantargy.C_FOTARGYID, tantargy.ID) as RENDEZ3
,tantargy.C_FOTARGYID as RENDEZ4
,ISNULL(tantargy.C_NEVNYOMTATVANYBAN, tantargy.C_NEV) as RENDEZ5
FROM T_TANULOERTEKELES_OSSZES tanuloErtekeles
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = tanuloErtekeles.C_TANULOID
AND TanuloCsoport.C_OSZTALYCSOPORTID = @osztalyCsoportId
AND TanuloCsoport.C_BELEPESDATUM <= tanuloErtekeles.C_DATUM
AND (TanuloCsoport.C_KILEPESDATUM >= tanuloErtekeles.C_DATUM OR TanuloCsoport.C_KILEPESDATUM IS NULL)
AND TanuloCsoport.TOROLT = 'F'
INNER JOIN T_TANULOCSOPORT_OSSZES ErtekeleshezTartozoOsztalyCsoport ON ErtekeleshezTartozoOsztalyCsoport.C_TANULOID = tanuloErtekeles.C_TANULOID
AND ErtekeleshezTartozoOsztalyCsoport.C_OSZTALYCSOPORTID = tanuloErtekeles.C_OSZTALYCSOPORTID
AND ErtekeleshezTartozoOsztalyCsoport.C_BELEPESDATUM <= tanuloErtekeles.C_DATUM
AND (ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM >= tanuloErtekeles.C_DATUM OR ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM IS NULL)
AND ErtekeleshezTartozoOsztalyCsoport.TOROLT = 'F'
AND ErtekeleshezTartozoOsztalyCsoport.C_TANEVID = @tanevId
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tanuloErtekeles.C_TANTARGYID AND tantargy.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ertekelesOsztalyzat ON ertekelesOsztalyzat.ID = tanuloErtekeles.C_ERTEKELESOSZTALYZATID
AND ertekelesOsztalyzat.C_TANEVID = @tanevId
AND ertekelesOsztalyzat.C_TYPE = 'OsztalyzatTipus'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartasOsztalyzat ON magatartasOsztalyzat.ID = tanuloErtekeles.C_MAGATARTASOSZTALYZATID
AND magatartasOsztalyzat.C_TANEVID = @tanevId
AND magatartasOsztalyzat.C_TYPE = 'OsztalyzatTipus'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalomOsztalyzat ON szorgalomOsztalyzat.ID = tanuloErtekeles.C_SZORGALOMOSZTALYZATID
AND szorgalomOsztalyzat.C_TANEVID = @tanevId
AND szorgalomOsztalyzat.C_TYPE = 'OsztalyzatTipus'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartasErtek ON magatartasErtek.ID = tanuloErtekeles.C_MAGATARTASERTEKID
AND magatartasErtek.C_TANEVID = @tanevId
AND magatartasErtek.C_TYPE = 'MagatartasErtekelesTipus'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalomErtek ON szorgalomErtek.ID = tanuloErtekeles.C_SZORGALOMERTEKID
AND szorgalomErtek.C_TANEVID = @tanevId
AND szorgalomErtek.C_TYPE = 'SzorgalomErtekelesTipus'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = tantargy.C_TARGYKATEGORIA
AND TargyKategoriaDictionary.TOROLT = 'F'
AND TargyKategoriaDictionary.C_TANEVID = @tanevId
LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON tantargy.C_FOTARGYID = FotargyTable.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA
AND FotargyKategoriaDictionary.TOROLT = 'F'
AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
AND osztalyCsoport.TOROLT = 'F' and osztalyCsoport.C_FELADATKATEGORIAID = @kategoriaId
LEFT JOIN (
SELECT
tanorai.ID as tanoraiId
,cs.ID as CsoportId
FROM T_CSOPORT_OSSZES cs
INNER JOIN fnGetTanoraiCeluCsoportTipusok(@tanevId) tanorai ON tanorai.ID = cs.C_TIPUSA
) tanorai ON tanorai.CsoportId = OsztalyCsoport.ID
LEFT JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
WHERE tanuloErtekeles.C_TANEVID = @tanevId
AND tanuloErtekeles.TOROLT = 'F'
AND (@atsoroltTanuloErtekelesek = 1 OR (tanuloErtekeles.C_OSZTALYCSOPORTID IN(SELECT ID FROM @kapcsolodoOcsID)))
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 tanorai.tanoraiId IS NOT NULL)
AND ((ISNULL(tantargy.C_TARGYKATEGORIA,0) <> 1248) OR @includeOsztalyfonokiKategoria = 1)
IF @atsoroltTanuloErtekelesek > 0
BEGIN
DECLARE @osztalyTantargyak TABLE (TantargyId INT)
INSERT INTO @osztalyTantargyak (TantargyId)
SELECT DISTINCT
TantargyId
FROM @retTanuloErtekeles
WHERE OsztalyCsoportId IN (SELECT ID FROM @kapcsolodoOcsID)
UNION
SELECT DISTINCT
C_TANTARGYID
FROM T_FOGLALKOZAS_OSSZES
INNER JOIN @kapcsolodoOcsID AS OSZTALYCSOPORT ON OSZTALYCSOPORT.ID = T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID
WHERE T_FOGLALKOZAS_OSSZES.TOROLT = 'F'
DELETE FROM @retTanuloErtekeles
WHERE TantargyId NOT IN (SELECT TantargyId FROM @osztalyTantargyak)
END
RETURN
END
GO

View file

@ -0,0 +1,120 @@
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 @result TABLE (
TanuloId int
,TanuloCsoportId int
,OsztalyCsoportId int
,OsztalyCsoportNev nvarchar (255)
,Tipusa int
,Igazolt char (1)
,IgazolasTipusa int
,KesesPercben int null
,Datum datetime
,Oraszam nvarchar (255)
,OraszamWithOrakezdeteVege nvarchar (255)
,TantargyId int
,TantargyNev nvarchar (255)
,HetSorszama int
,Gyakorlati char(1)
,Tanorai char(1)
,RENDEZ0 int
,RENDEZ1 int
,RENDEZ2 nvarchar(255)
,RENDEZ3 int
,RENDEZ4 int
,RENDEZ5 nvarchar(255)
)
AS BEGIN
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
DECLARE @defaultCsengetesiRendId int
DECLARE @tanoraiCsoportok TABLE(
OsztalyCsoportId int
)
SELECT @defaultCsengetesiRendId = ID
FROM T_CSENGETESIREND_OSSZES csr
WHERE csr.TOROLT='F'
AND csr.C_AKTIV = 'T'
AND csr.C_TANEVID = @tanevId
INSERT INTO @tanoraiCsoportok(OsztalyCsoportId)
SELECT
ID
FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId)
INSERT INTO @result
SELECT
tm.C_ORATANULOIID AS TanuloId
,tcs.ID AS TanuloCsoportId
,tao.C_OSZTALYCSOPORTID AS OsztalyCsoportId
,ocs.C_NEV AS OsztalyCsoportNev
,tm.C_TIPUS AS Tipusa
,tm.C_IGAZOLT AS Igazolt
,tm.C_IGAZOLASTIPUSA AS IgazolasTipusa
,tm.C_KESESPERCBEN AS KesesPercben
,tao.C_DATUM AS Datum
,IIF(tao.C_CSENGETESIRENDORAID IS NULL,
(SELECT
ISNULL(MAX(csro.C_ORASZAM), 0)
FROM T_CSENGETESIRENDORA_OSSZES csro
WHERE csro.TOROLT = 'F'
AND csro.C_CSENGETESIRENDID = @defaultCsengetesiRendId
AND CONVERT(nvarchar(5), C_KEZDETE, 108) <= CONVERT(nvarchar(5), C_ORAKEZDETE, 108)
),tao.C_ORASZAM) as Oraszam
,IIF(tao.C_CSENGETESIRENDORAID IS NULL, CONCAT(CONVERT(nvarchar(5), tao.C_ORAKEZDETE, 108), '-',
CONVERT(nvarchar(5), tao.C_ORAVEGE, 108)), CAST(tao.C_ORASZAM AS nvarchar(5))) AS OraszamWithOrakezdeteVege
,tao.C_TANTARGYID AS TantargyId
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS TantargyNev
,tao.C_HETSORSZAMA AS HetSorszama
,tgy.C_GYAKORLATI AS Gyakorlati
,IIF(tanorai.OsztalyCsoportId IS NULL, 'F', 'T') AS Tanorai
,tgy.C_SORSZAM AS RENDEZ0
,IIF(tgy.C_FOTARGYID IS NULL,ISNULL(dibtgykat.C_ORDER, 10000),ISNULL(dibftgykat.C_ORDER, 10000)) AS RENDEZ1
,COALESCE(ftgy.C_NEVNYOMTATVANYBAN, ftgy.C_NEV, tgy.C_NEV) AS RENDEZ2
,ISNULL(tgy.C_FOTARGYID, tgy.ID) AS RENDEZ3
,tgy.C_FOTARGYID AS RENDEZ4
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS RENDEZ5
FROM T_TANULOMULASZTAS_OSSZES tm
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.ID = tm.C_TANITASIORAKID
AND tao.TOROLT='F'
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = tm.C_ORATANULOIID
AND tcs.TOROLT = 'F'
AND tao.C_DATUM >= tcs.C_BELEPESDATUM
AND tao.C_DATUM <= ISNULL(tcs.C_KILEPESDATUM, GETDATE())
AND tcs.C_OSZTALYCSOPORTID=@osztalyCsoportId
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID
AND ocs.C_FELADATKATEGORIAID = @kategoriaId
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = tao.C_TANTARGYID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dibtgykat ON dibtgykat.Id = tgy.C_TARGYKATEGORIA
AND dibtgykat.TOROLT = 'F'
AND dibtgykat.C_TANEVID = @tanevId
LEFT JOIN T_TANTARGY_OSSZES ftgy ON tgy.C_FOTARGYID = ftgy.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dibftgykat ON dibftgykat.ID = ftgy.C_TARGYKATEGORIA
AND dibftgykat.TOROLT = 'F'
AND dibftgykat.C_TANEVID = ftgy.C_TANEVID
LEFT JOIN @tanoraiCsoportok tanorai ON tanorai.OsztalyCsoportId = ocs.ID
WHERE tm.C_TIPUS BETWEEN 1499 AND 1500
AND tm.TOROLT = 'F'
AND (@csakTanoraiCelu = 0 OR tanorai.OsztalyCsoportId IS NOT NULL)
AND (@iskolaErdekuSzamit = 1 OR (tm.C_IGAZOLASTIPUSA IS NULL OR tm.C_IGAZOLASTIPUSA <> 1533))
AND (@atsoroltTanuloMulasztas = 1 OR (tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, @csakTanoraiCelu))))
AND (@csakKivlasztottOsztalyCsoport = 0 OR tao.C_OSZTALYCSOPORTID = @osztalyCsoportId)
AND (@idoszakEleje IS NULL OR tao.C_DATUM >= @idoszakEleje)
AND (@idoszakVege IS NULL OR tao.C_DATUM <= @idoszakVege)
RETURN
END
GO

View file

@ -0,0 +1,371 @@

DROP PROCEDURE IF EXISTS [dbo].[uspGetDokumentumErtekelesek]
GO
CREATE PROCEDURE [dbo].[uspGetDokumentumErtekelesek]
@osztalyId int,
@tanevId int,
@ertekelesTipus int,
@isBizonyitvany int = 0,
@nyomtatvanyNyelvEnum int = 0,
@isMuveszetOktatasi bit = 0,
@tanitasiHetekSzamaVegzos int = 32,
@tanitasiHetekSzamaNemVegzos int = 36,
@isAltantargyBeszamitasa bit = 0,
@idegenNyelvId int = 0
AS
BEGIN
SET NOCOUNT ON;
DECLARE @sql nvarchar(MAX)
--PRINT 'Osztályhoz tartozó tanulók'
CREATE TABLE #Tanulo (
TanuloId int
,TanuloCsoportId int
,BelepesDatum date
,KilepesDatum date
,PRIMARY KEY (TanuloId, BelepesDatum, TanuloCsoportId)
)
INSERT INTO #Tanulo
SELECT
C_TANULOID AS TanuloId
,ID AS TanuloCsoportId
,C_BELEPESDATUM AS BelepesDatum
,ISNULL(C_KILEPESDATUM, '22000101') AS KilepesDatum
FROM T_TANULOCSOPORT_OSSZES tanuloCsoport
WHERE C_OSZTALYCSOPORTID = @osztalyId
AND C_TANEVID = @tanevId
AND TOROLT = 'F'
CREATE TABLE #Oraszamok (
TanuloId int
,Tantargy int
,Oraszam float
,INDEX IX_1 CLUSTERED (TanuloId, Tantargy)
)
INSERT INTO #Oraszamok
SELECT TanuloId, TantargyId, Oraszam
FROM fnGetDokumentumTanulokEvesOraszamaiOsztalyonkent(@tanevId, @osztalyId, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos, @isAltantargyBeszamitasa)
SET @sql = N'
DECLARE
@feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES ocs WHERE ID = @osztalyId AND TOROLT = ''F'')
,@nyelvesitettMagatartasNev nvarchar(max) = CASE @nyomtatvanyNyelvEnum WHEN 0 THEN ''Magatartás'' WHEN 1 THEN ''Betragen'' WHEN 2 THEN ''Conduct'' END
,@nyelvesitettSzorgalomNev nvarchar(max) = CASE @nyomtatvanyNyelvEnum WHEN 0 THEN ''Szorgalom'' WHEN 1 THEN ''Fleiss'' WHEN 2 THEN ''Effort'' END
SELECT
x.TANULOID
,x.TanuloCsoportId
,x.TARGY
,x.Jegyzet
,REPLACE(Ertekeles, ''('', '' ('') AS Ertekeles
,x.ErtekelesValue
,REPLACE(ErtekelesJegyzettel, ''('', '' ('') AS ErtekelesJegyzettel
,x.Oraszam
,x.RENDEZ0
,x.RENDEZ1
,x.RENDEZ2
,x.RENDEZ3
,x.RENDEZ4
,x.RENDEZ5
/*nemzetiségi törzslaphoz kell*/
,ErtekelesTema
,ErtekelesSzovegIdegenNyelven
,ErtekelesValueIdegenNyelven
,ErtekelesOsztalyzatIdegenNyelven
,ErtekelesSzazalek
,Jeloles
,TantargyNevIdegenNyelven
/**/
,x.TantargyId
FROM ('
IF @isMuveszetOktatasi = 0 BEGIN
SET @sql += N'
SELECT
er.C_TANULOID AS TANULOID
,dk.TanuloCsoportId AS TANULOCSOPORTID
,@nyelvesitettMagatartasNev AS TARGY
,NULL AS Jegyzet
,ISNULL(
CONVERT(nvarchar(max)
,IIF(@nyomtatvanyNyelvEnum = 0
,mag.C_NAME
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_MAGATARTASERTEKID, @tanevId)
)
)
,ISNULL(er.C_MAGATARTASSZOVEGFORMAZOTT
,IIF(@nyomtatvanyNyelvEnum = 0
,mao.C_NAME
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_MAGATARTASOSZTALYZATID, @tanevId)
)
)
) AS Ertekeles
,NULL AS ErtekelesValue
,ISNULL(
CONVERT(nvarchar(max)
,IIF(@nyomtatvanyNyelvEnum = 0
,mag.C_NAME
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_MAGATARTASERTEKID, @tanevId)
)
)
,ISNULL(er.C_MAGATARTASSZOVEGFORMAZOTT
,IIF(@nyomtatvanyNyelvEnum = 0
,mao.C_NAME
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_MAGATARTASOSZTALYZATID, @tanevId)
)
)
) AS ErtekelesJegyzettel --???????
,NULL AS Oraszam
,0 AS RENDEZ0
,-2 AS RENDEZ1
,NULL AS RENDEZ2
,NULL AS RENDEZ3
,NULL AS RENDEZ4
,NULL AS RENDEZ5
/*nemzetiségi törzslaphoz kell*/
,erny.C_ERTEKELESTEMA AS ErtekelesTema
,erny.C_ERTEKELESSZOVEG AS ErtekelesSzovegIdegenNyelven
,magny.C_NAME AS ErtekelesValueIdegenNyelven
,maony.C_NAME AS ErtekelesOsztalyzatIdegenNyelven
,er.C_ERTEKELESSZAZALEK AS ErtekelesSzazalek
,NULL AS Jeloles
,NULL AS TantargyNevIdegenNyelven
/**/
,-2 as TantargyId
FROM T_TANULOERTEKELES_OSSZES er
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
AND er.C_DATUM BETWEEN dk.BelepesDatum AND dk.KilepesDatum
INNER JOIN T_TANULOCSOPORT_OSSZES ErtekeleshezTartozoOsztalyCsoport ON ErtekeleshezTartozoOsztalyCsoport.C_TANULOID = er.C_TANULOID
AND ErtekeleshezTartozoOsztalyCsoport.C_OSZTALYCSOPORTID = er.C_OSZTALYCSOPORTID
AND ErtekeleshezTartozoOsztalyCsoport.C_BELEPESDATUM <= er.C_DATUM
AND (ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM >= er.C_DATUM OR ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM IS NULL)
AND ErtekeleshezTartozoOsztalyCsoport.TOROLT = ''F''
AND ErtekeleshezTartozoOsztalyCsoport.C_TANEVID = @tanevId
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = er.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mao ON mao.ID = er.C_MAGATARTASOSZTALYZATID AND mao.C_TANEVID = er.C_TANEVID AND mao.TOROLT = ''F''
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES maony ON maony.C_DICTIONARYITEMBASEID = er.C_MAGATARTASOSZTALYZATID AND maony.C_TANEVID = @tanevId AND maony.C_NYELVID = @idegenNyelvId AND maony.TOROLT = ''F''
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mag ON mag.ID = er.C_MAGATARTASERTEKID AND mag.C_TANEVID = er.C_TANEVID AND mag.TOROLT = ''F''
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES magny ON magny.C_DICTIONARYITEMBASEID = er.C_MAGATARTASERTEKID AND magny.C_TANEVID = @tanevId AND magny.C_NYELVID = @idegenNyelvId AND magny.TOROLT = ''F''
LEFT JOIN T_TANULOERTEKELESNYELV_OSSZES erny ON erny.C_TANULOERTEKELESID = er.ID AND erny.C_NYELVID = @idegenNyelvId AND erny.TOROLT = ''F''
WHERE (er.C_MAGATARTASERTEKID IS NOT NULL OR er.C_MAGATARTASSZOVEGFORMAZOTT IS NOT NULL OR er.C_MAGATARTASOSZTALYZATID IS NOT NULL)
AND er.C_TANEVID = @tanevId
AND er.TOROLT = ''F''
AND er.C_ISMAGATARTASSZORGALOM = ''T''
AND er.C_TIPUSID = @ertekelesTipus
UNION ALL
SELECT
er.C_TANULOID AS TANULOID
,dk.TanuloCsoportId AS TanuloCsoportId
,@nyelvesitettSzorgalomNev AS TARGY
,NULL AS Jegyzet
,ISNULL(
CONVERT(nvarchar(max)
,IIF(@nyomtatvanyNyelvEnum = 0
,szg.C_NAME
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_SZORGALOMERTEKID , @tanevId)
)
)
,ISNULL(er.C_SZORGALOMSZOVEGFORMAZOTT
,IIF(@nyomtatvanyNyelvEnum = 0
,szo.C_NAME
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_SZORGALOMOSZTALYZATID, @tanevId)
)
)
) AS Ertekeles
,NULL AS ErtekelesValue
,ISNULL(
CONVERT(nvarchar(max)
,IIF(@nyomtatvanyNyelvEnum = 0
,szg.C_NAME
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_SZORGALOMERTEKID, @tanevId)
)
)
,ISNULL(er.C_SZORGALOMSZOVEGFORMAZOTT
,IIF(@nyomtatvanyNyelvEnum = 0
,szo.C_NAME
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_SZORGALOMOSZTALYZATID, @tanevId)
)
)
) AS ErtekelesJegyzettel
,NULL AS Oraszam
,0 AS RENDEZ0
,-1 AS RENDEZ1
,NULL AS RENDEZ2
,NULL AS RENDEZ3
,NULL AS RENDEZ4
,NULL AS RENDEZ5
/*nemzetiségi törzslaphoz kell*/
,erny.C_ERTEKELESTEMA AS ErtekelesTema
,erny.C_ERTEKELESSZOVEG AS ErtekelesSzovegIdegenNyelven
,szgny.C_NAME
,szony.C_NAME
,er.C_ERTEKELESSZAZALEK AS ErtekelesSzazalek
,NULL AS Jeloles
,NULL AS TanatargyNevIdegenNyelven
/**/
,-1 as TantargyId
FROM T_TANULOERTEKELES_OSSZES er
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
AND er.C_DATUM BETWEEN dk.BelepesDatum AND dk.KilepesDatum
INNER JOIN T_TANULOCSOPORT_OSSZES ErtekeleshezTartozoOsztalyCsoport ON ErtekeleshezTartozoOsztalyCsoport.C_TANULOID = er.C_TANULOID
AND ErtekeleshezTartozoOsztalyCsoport.C_OSZTALYCSOPORTID = er.C_OSZTALYCSOPORTID
AND ErtekeleshezTartozoOsztalyCsoport.C_BELEPESDATUM <= er.C_DATUM
AND (ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM >= er.C_DATUM OR ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM IS NULL)
AND ErtekeleshezTartozoOsztalyCsoport.TOROLT = ''F''
AND ErtekeleshezTartozoOsztalyCsoport.C_TANEVID = @tanevId
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = er.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szo ON szo.ID = er.C_SZORGALOMOSZTALYZATID AND szo.C_TANEVID = er.C_TANEVID AND szo.TOROLT = ''F''
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES szony ON szony.C_DICTIONARYITEMBASEID = er.C_SZORGALOMOSZTALYZATID AND szony.C_TANEVID = @tanevId and szony.C_NYELVID = @idegenNyelvId AND szony.TOROLT = ''F''
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szg ON szg.ID = er.C_SZORGALOMERTEKID AND szg.C_TANEVID = er.C_TANEVID AND szg.TOROLT = ''F''
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES szgny ON szgny.C_DICTIONARYITEMBASEID = er.C_SZORGALOMERTEKID AND szgny.C_TANEVID = er.C_TANEVID AND szgny.C_NYELVID = @idegenNyelvId AND szgny.TOROLT = ''F''
LEFT JOIN T_TANULOERTEKELESNYELV_OSSZES erny ON erny.C_TANULOERTEKELESID = er.ID AND erny.C_NYELVID = @idegenNyelvId AND erny.TOROLT = ''F''
WHERE (er.C_SZORGALOMERTEKID IS NOT NULL OR er.C_SZORGALOMSZOVEGFORMAZOTT IS NOT NULL OR er.C_SZORGALOMOSZTALYZATID IS NOT NULL)
AND er.C_TANEVID = @tanevId
AND er.TOROLT = ''F''
AND er.C_ISMAGATARTASSZORGALOM = ''T''
AND er.C_TIPUSID = @ertekelesTipus
UNION ALL
'
END
SET @sql += N'
SELECT
er.C_TANULOID AS TANULOID
,dk.TanuloCsoportId AS TanuloCsoportId
,CASE
WHEN @nyomtatvanyNyelvEnum = 0 THEN
ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV)
WHEN @nyomtatvanyNyelvEnum = 1 THEN
COALESCE(tgy.C_NEMETNEV, tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV)
WHEN @nyomtatvanyNyelvEnum = 2 THEN
COALESCE(tgy.C_ANGOLNEV, tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV)
END AS TARGY
,er.C_ERTEKELESTEMA AS Jegyzet
,ISNULL(
CONVERT(nvarchar(max)
,IIF(@nyomtatvanyNyelvEnum = 0
,jegy.C_NAME
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_ERTEKELESOSZTALYZATID, @tanevId)
)
)
,ISNULL(er.C_ERTEKELESSZOVEGFORMAZOTT
,CONVERT(nvarchar(max),er.C_ERTEKELESSZAZALEK)
)
) AS Ertekeles
,jegy.C_VALUE AS ErtekelesValue
,CASE
WHEN tgy.C_TARGYKATEGORIA = 7688 AND er.C_ERTEKELESOSZTALYZATID IS NOT NULL THEN
CASE er.C_ERTEKELESOSZTALYZATID
WHEN 1502 THEN ''Hanyag(2)''
WHEN 1503 THEN ''Változó(3)''
WHEN 1504 THEN ''(4)''
WHEN 1505 THEN ''Példás(5)''
END
ELSE
ISNULL(
CONVERT(nvarchar(max)
,IIF(@nyomtatvanyNyelvEnum = 0
,jegy.C_NAME
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_ERTEKELESOSZTALYZATID, @tanevId)
)
)
,ISNULL(er.C_ERTEKELESSZOVEGFORMAZOTT
,CONVERT(nvarchar(max),er.C_ERTEKELESSZAZALEK)
)
) + IIF(er.C_ERTEKELESTEMA IS NULL, '''', '' * '' + er.C_ERTEKELESTEMA)
END AS ErtekelesJegyzettel
,Oraszam AS Oraszam
,tgy.C_SORSZAM as RENDEZ0
,CASE WHEN tgy.C_FOTARGYID IS NULL THEN ISNULL(kat.C_ORDER, 10000) ELSE ISNULL(fokat.C_ORDER, 10000) END as RENDEZ1
,COALESCE(fotgy.C_NEVNYOMTATVANYBAN, fotgy.C_NEV, tgy.C_NEV) as RENDEZ2
,ISNULL(tgy.C_FOTARGYID, tgy.ID) as RENDEZ3
,tgy.C_FOTARGYID as RENDEZ4
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS RENDEZ5
/*nemzetiségi törzslaphoz kell*/
,erny.C_ERTEKELESTEMA AS ErtekelesTema
,erny.C_ERTEKELESSZOVEG AS ErtekelesSzovegIdegenNyelven
,NULL AS ErtekelesValueIdegenNyelven
,jegyny.C_NAME AS ErtekelesOsztalyzatIdegenNyelven
,er.C_ERTEKELESSZAZALEK AS ErtekelesSzazalek
,'''' AS Jeloles
,tnyelv.C_NEV AS TantargyNevIdegenNyelven
/**/
,er.C_TANTARGYID as TantargyId
FROM T_TANULOERTEKELES_OSSZES er
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
AND er.C_DATUM BETWEEN dk.BelepesDatum AND dk.KilepesDatum
INNER JOIN T_TANULOCSOPORT_OSSZES ocs ON ocs.C_TANULOID = er.C_TANULOID
AND ocs.C_OSZTALYCSOPORTID = er.C_OSZTALYCSOPORTID
AND ocs.C_BELEPESDATUM <= er.C_DATUM
AND (ocs.C_KILEPESDATUM >= er.C_DATUM OR ocs.C_KILEPESDATUM IS NULL)
AND ocs.TOROLT = ''F''
LEFT JOIN #Oraszamok OraszamTable ON OraszamTable.Tantargy = er.C_TANTARGYID
AND OraszamTable.TanuloId = er.C_TANULOID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES jegy ON jegy.ID = er.C_ERTEKELESOSZTALYZATID
AND jegy.C_TANEVID = er.C_TANEVID
AND jegy.TOROLT = ''F''
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES jegyny ON jegyny.C_DICTIONARYITEMBASEID = er.C_ERTEKELESOSZTALYZATID
AND jegyny.C_TANEVID = er.C_TANEVID
AND jegyny.TOROLT = ''F''
AND jegyny.C_NYELVID = @idegenNyelvId
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = er.C_TANTARGYID AND tgy.TOROLT = ''F''
LEFT JOIN T_TANTARGYNYELV_OSSZES tnyelv ON tnyelv.C_TANTARGYID = tgy.ID AND tnyelv.TOROLT = ''F'' AND tnyelv.C_NYELVID = @idegenNyelvId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES kat ON kat.ID = tgy.C_TARGYKATEGORIA
AND kat.TOROLT = ''F''
AND kat.C_TANEVID = tgy.C_TANEVID
LEFT JOIN T_TANTARGY_OSSZES fotgy ON tgy.C_FOTARGYID = fotgy.ID AND fotgy.TOROLT = ''F''
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES fokat ON fokat.ID = fotgy.C_TARGYKATEGORIA
AND fokat.TOROLT = ''F''
AND fokat.C_TANEVID = fotgy.C_TANEVID
INNER JOIN T_OSZTALYCSOPORT_OSSZES o ON er.C_OSZTALYCSOPORTID = o.ID AND o.C_FELADATKATEGORIAID = @feladatKategoriaId'
IF @isMuveszetOktatasi = 0 BEGIN
SET @sql += N'
LEFT JOIN (
SELECT cs.ID, cs.C_OSZTALYBONTASID
FROM T_CSOPORT_OSSZES cs
INNER JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.C_ALTANEVID = cs.C_ALTANEVID AND cst.C_ISTANORAICELU = ''T''
) cs ON cs.ID = er.C_OSZTALYCSOPORTID AND (cs.C_OSZTALYBONTASID IS NULL OR cs.C_OSZTALYBONTASID = @osztalyId)'
END
SET @sql += N'
LEFT JOIN T_TANULOERTEKELESNYELV_OSSZES erny ON erny.C_TANULOERTEKELESID = er.ID AND erny.C_NYELVID = @idegenNyelvId AND erny.TOROLT = ''F''
WHERE er.C_TIPUSID = @ertekelesTipus
AND (tgy.C_FOTARGYE = ''T'' OR tgy.C_ALTANTARGYKENTNYOMTATVANYBAN = ''T'')
AND tgy.C_TARGYKATEGORIA <> 1248
AND er.C_ISMAGATARTASSZORGALOM = ''F''
AND er.TOROLT = ''F''
AND ('
IF @isMuveszetOktatasi = 0 BEGIN
SET @sql += 'cs.ID IS NOT NULL OR '
END
SET @sql += N'er.C_OSZTALYCSOPORTID = @osztalyId)
) x'
EXEC sp_executesql @sql
,N'@osztalyId int
,@tanevId int
,@ertekelesTipus int
,@isBizonyitvany int
,@nyomtatvanyNyelvEnum int
,@tanitasiHetekSzamaVegzos int
,@tanitasiHetekSzamaNemVegzos int
,@isAltantargyBeszamitasa bit
,@idegenNyelvId int'
,@osztalyId = @osztalyId
,@tanevId = @tanevId
,@ertekelesTipus = @ertekelesTipus
,@isBizonyitvany = @isBizonyitvany
,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
,@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos
,@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos
,@isAltantargyBeszamitasa = @isAltantargyBeszamitasa
,@idegenNyelvId = @idegenNyelvId
END
GO

View file

@ -0,0 +1,609 @@
DROP PROCEDURE IF EXISTS uspGetDokumentumErtekelesekIdoszakonkent
GO
CREATE PROCEDURE uspGetDokumentumErtekelesekIdoszakonkent
@tanevId int
,@osztalyCsoportId int
,@ertekelesTipusa int
,@csakTanorai bit
,@csakKivalasztottOsztalyCsoport bit
,@atsoroltTanuloErtekelesek int
,@fuggolegesTantargyak bit
,@isMegjegyzesMegjelenjen bit = 1
,@intezmenyId int
AS
BEGIN
SET NOCOUNT ON;
/* a #students tábla deklarálása az alábbi tároltakban történik: sp_GetOsztalynaplo, sp_GetCsoportNaplo, sp_GetUzenofuzetErtekelolap*/
DECLARE @FelevVegeHonap int,
@FelevVegeNap int
CREATE TABLE #magatartasSzorgalomTMP (
Tipus nvarchar(255)
,Honap int
,TanuloId int
,TanuloCsoportId int
,Ertekeles nvarchar(max)
,Datum datetime
,RogzitesDatum datetime
)
CREATE TABLE #magatartasSzorgalom (
Honap int
,TanuloId int
,TanuloCsoportId int
,Tipus nvarchar(255)
,Ertekeles nvarchar(max)
,RENDEZ0 int
,RENDEZ1 int
,RENDEZ2 nvarchar(255)
,RENDEZ3 int
,RENDEZ4 int
,RENDEZ5 nvarchar(255)
,RendezHonap int
,Datum datetime
,RogzitesDatum datetime
)
CREATE TABLE #jegyekTMP (
Honap int
,TanuloId int
,TanuloCsoportId int
,TantargyId int
,TantargyNev nvarchar(255)
,Ertekeles nvarchar(max)
,RENDEZ0 int
,RENDEZ1 int
,RENDEZ2 nvarchar(max)
,RENDEZ3 int
,RENDEZ4 int
,RENDEZ5 nvarchar(max)
,Datum datetime
,RogzitesDatum datetime
)
CREATE TABLE #TanuloIdHonap (
ID int
,Honap int
,TanuloCsoportId int
)
CREATE TABLE #TanuloTantargyHonapTmp (
TanuloId int
,TanuloCsoportId int
,Honap int
,TantargyNev nvarchar(255)
,TantargyId int
,RENDEZ0 int
,RENDEZ1 int
,RENDEZ2 nvarchar(max)
,RENDEZ3 int
,RENDEZ4 int
,RENDEZ5 nvarchar(max)
)
CREATE TABLE #jegyek (
Honap int
,TanuloId int
,TanuloCsoportId int
,TantargyId int
,TantargyNev nvarchar(255)
,Ertekeles nvarchar(max)
,RENDEZ0 int
,RENDEZ1 int
,RENDEZ2 nvarchar(max)
,RENDEZ3 int
,RENDEZ4 int
,RENDEZ5 nvarchar(max)
,RendezHonap int
)
SELECT
@FelevVegeHonap = DATEPART(mm, C_DATUM)
,@FelevVegeNap = DATEPART(dd, C_DATUM)
FROM T_TANEVRENDJE_OSSZES
WHERE
C_NAPTIPUSA = 1400
AND TOROLT = 'F'
AND C_TANEVID = @tanevid
INSERT INTO #magatartasSzorgalomTMP
SELECT
Tipus
,Honap
,TanuloId
,TanuloCsoportId
,Ertekeles
,Datum
,RogzitesDatum
FROM
(SELECT
'Magatartás' Tipus
,CASE
WHEN DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) <= @FelevVegeNap THEN 13
WHEN DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) > @FelevVegeNap THEN 14
ELSE
DATEPART(mm, Datum)
END AS Honap
,TanuloId
,TanuloCsoportId
,ISNULL(MagatartasErtek, MagatartasOsztalyzatNev)
+ CASE
WHEN TipusId = 1518 THEN ''
WHEN TipusId = 1522 THEN '(I.)'
WHEN TipusId = 1523 THEN '(III.)'
WHEN TipusId = 1524 THEN '(II.)'
WHEN TipusId = 1525 THEN '(IV.)'
END AS Ertekeles
,Datum
,RogzitesDatum
FROM #ErtekelesekTemp
WHERE
(MagatartasErtek IS NOT NULL OR MagatartasOsztalyzatNev IS NOT NULL)
AND TipusId IN (1518, 1522, 1523, 1524, 1525)
UNION ALL
SELECT
'Szorgalom'
,CASE
WHEN DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) <= @FelevVegeNap THEN 13
WHEN DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) > @FelevVegeNap THEN 14
ELSE
DATEPART(mm, Datum)
END AS Honap
,TanuloId
,TanuloCsoportId
,ISNULL(SzorgalomErtek, SzorgalomOsztalyzatNev)
+ CASE
WHEN TipusId = 1518 THEN ''
WHEN TipusId = 1522 THEN '(I.)'
WHEN TipusId = 1523 THEN '(III.)'
WHEN TipusId = 1524 THEN '(II.)'
WHEN TipusId = 1525 THEN '(IV.)'
END AS Ertekeles
,Datum
,RogzitesDatum
FROM #ErtekelesekTemp
WHERE
(SzorgalomErtek IS NOT NULL OR SzorgalomOsztalyzatNev IS NOT NULL)
AND TipusId IN (1518, 1522, 1523, 1524, 1525)
UNION ALL
SELECT
'Szorgalom'
,15 Honap
,TanuloId
,TanuloCsoportId
,COALESCE(SzorgalomErtek, SzorgalomOsztalyzatNev, SzorgalomSzovegRovidNev) + Jeloles
,Datum
,RogzitesDatum
FROM #ErtekelesekTemp
WHERE
(SzorgalomErtek IS NOT NULL OR SzorgalomOsztalyzatNev IS NOT NULL OR SzorgalomSzovegRovidNev IS NOT NULL)
AND TipusId = 1519
UNION ALL
SELECT
'Magatartás'
,15 Honap
,TanuloId
,TanuloCsoportId
,COALESCE(MagatartasErtek, MagatartasOsztalyzatNev, MagatartasSzovegRovidNev) + Jeloles
,Datum
,RogzitesDatum
FROM #ErtekelesekTemp
WHERE
(MagatartasErtek IS NOT NULL OR MagatartasOsztalyzatNev IS NOT NULL OR MagatartasSzovegRovidNev IS NOT NULL)
AND TipusId = 1519
UNION ALL
SELECT
'Szorgalom'
,16 Honap
,TanuloId
,TanuloCsoportId
,COALESCE(SzorgalomErtek, SzorgalomOsztalyzatNev, SzorgalomSzovegRovidNev) + Jeloles
,Datum
,RogzitesDatum
FROM #ErtekelesekTemp
WHERE
(SzorgalomErtek IS NOT NULL OR SzorgalomOsztalyzatNev IS NOT NULL OR SzorgalomSzovegRovidNev IS NOT NULL)
AND TipusId = 1520
UNION ALL
SELECT
'Magatartás'
,16 Honap
,TanuloId
,TanuloCsoportId
,COALESCE(MagatartasErtek, MagatartasOsztalyzatNev, MagatartasSzovegRovidNev) + Jeloles
,Datum
,RogzitesDatum
FROM #ErtekelesekTemp
WHERE
(MagatartasErtek IS NOT NULL OR MagatartasOsztalyzatNev IS NOT NULL OR MagatartasSzovegRovidNev IS NOT NULL)
AND TipusId = 1520
)magszorg
INSERT INTO #magatartasSzorgalom
SELECT DISTINCT
Honap
,TanuloId
,TanuloCsoportId
,Tipus
,STUFF((
SELECT ', ' + CAST(Ertekeles AS nvarchar(max))
FROM #magatartasSzorgalomTMP bmsz
WHERE
msz.TanuloId = bmsz.TanuloId
AND msz.Tipus = bmsz.Tipus
AND msz.Honap = bmsz.Honap
AND msz.TanuloCsoportId = bmsz.TanuloCsoportId
ORDER BY bmsz.Datum,bmsz.RogzitesDatum
FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 2,'') Ertekeles
,0 AS RENDEZ0
,IIF(Tipus = 'Magatartás', 0, 1) RENDEZ1
,'' RENDEZ2
,0 RENDEZ3
,0 RENDEZ4
,'' RENDEZ5
,CASE
WHEN Honap = 2 THEN 8
WHEN Honap = 3 THEN 9
WHEN Honap = 4 THEN 10
WHEN Honap = 5 THEN 11
WHEN Honap = 6 THEN 12
WHEN Honap = 9 THEN 1
WHEN Honap = 10 THEN 2
WHEN Honap = 11 THEN 3
WHEN Honap = 12 THEN 4
WHEN Honap = 13 THEN 5
WHEN Honap = 14 THEN 7
WHEN Honap = 15 THEN 6
WHEN Honap = 16 THEN 15
END AS RendezHonap
,Datum
,RogzitesDatum
FROM #magatartasSzorgalomTMP msz
CREATE CLUSTERED INDEX ci111sss on #magatartasSzorgalomTMP (tanulocsoportid)
INSERT INTO #jegyekTMP
SELECT
Honap
,TanuloId
,TanuloCsoportId
,TantargyId
,TantargyNev
,Ertekeles
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
,Datum
,RogzitesDatum
FROM
(SELECT
CASE
WHEN DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) <= @FelevVegeNap THEN 13
WHEN DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) > @FelevVegeNap THEN 14
ELSE
DATEPART(mm, Datum)
END AS Honap
,TanuloId
,TanuloCsoportId
,TantargyId
,TantargyNev
,ISNULL(CONVERT(NVARCHAR(MAX),ErtekelesOsztalyzatValue), ErtekelesSzazalek)
+ CASE
WHEN TipusId = 1518 THEN ''
WHEN TipusId = 1522 THEN '(I.)'
WHEN TipusId = 1523 THEN '(III.)'
WHEN TipusId = 1524 THEN '(II.)'
WHEN TipusId = 1525 THEN '(IV.)'
WHEN TipusId = 1521 THEN '(mz)'
WHEN TipusId = 1526 THEN '(pv)'
WHEN TipusId = 1527 THEN '(ov)'
WHEN TipusId = 1528 THEN '(kv)'
WHEN TipusId = 6916 THEN '(pótló v.)'
WHEN TipusId = 6917 THEN '(jv)'
WHEN TipusId = 6918 THEN '(bv)'
ELSE ' ' + LOWER(SUBSTRING(C_NAME, 0, 3))
END AS Ertekeles
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
,Datum
,RogzitesDatum
FROM #ErtekelesekTemp ertekeles
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ertekesMod ON ertekeles.TipusId = ertekesMod.ID AND TOROLT = 'F' AND ertekesMod.C_TANEVID = @tanevId
WHERE
isMagatartasSzorgalom = 'F'
AND (ErtekelesOsztalyzatValue IS NOT NULL OR ErtekelesSzazalek IS NOT NULL)
AND TipusId NOT IN (1519, 1520)
UNION ALL
SELECT
CASE
WHEN TipusId = 1519 THEN 15
WHEN TipusId = 1520 THEN 16
WHEN DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) <= @FelevVegeNap THEN 13
WHEN DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) > @FelevVegeNap THEN 14
ELSE
DATEPART(mm, Datum)
END AS Honap
,TanuloId
,TanuloCsoportId
,TantargyId
,TantargyNev
,CASE
WHEN TipusId in (1519, 1520) THEN LOWER(ISNULL(ErtekelesSzovegRovidNev, 'sz'))
WHEN TipusId in (1522, 1523, 1524, 1525) THEN 'sz'
+ CASE
WHEN TipusId = 1522 THEN '(I.)'
WHEN TipusId = 1523 THEN '(III.)'
WHEN TipusId = 1524 THEN '(II.)'
WHEN TipusId = 1525 THEN '(IV.)'
END
ELSE
'sz' + Jeloles
END
AS Ertekeles
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
,Datum
,RogzitesDatum
FROM #ErtekelesekTemp
WHERE
ErtekelesSzoveg IS NOT NULL
UNION ALL
SELECT
15 Honap
,TanuloId
,TanuloCsoportId
,TantargyId
,TantargyNev
,ISNULL(CONVERT(NVARCHAR(MAX),ErtekelesOsztalyzatValue), ErtekelesSzazalek) + IIF(@isMegjegyzesMegjelenjen = 1, Jeloles, '')
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
,Datum
,RogzitesDatum
FROM #ErtekelesekTemp
WHERE
isMagatartasSzorgalom = 'F'
AND (ErtekelesOsztalyzatValue IS NOT NULL OR ErtekelesSzazalek IS NOT NULL)
AND TipusId = 1519
UNION ALL
SELECT
16 Honap
,TanuloId
,TanuloCsoportId
,TantargyId
,TantargyNev
,ISNULL(CONVERT(NVARCHAR(MAX),ErtekelesOsztalyzatValue), ErtekelesSzazalek) + IIF(@isMegjegyzesMegjelenjen = 1, Jeloles, '')
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
,Datum
,RogzitesDatum
FROM #ErtekelesekTemp
WHERE
isMagatartasSzorgalom = 'F'
AND (ErtekelesOsztalyzatValue IS NOT NULL OR ErtekelesSzazalek IS NOT NULL)
AND TipusId = 1520
)jegyek
CREATE CLUSTERED INDEX ci111ssws on #jegyekTMP (tanulocsoportid)
-----------------------------------------------------------------------------------------------
INSERT INTO #jegyekTMP
SELECT
Honap
,TanuloId
,TanuloCsoportId
,NULL AS TantargyId
,a.Tipus
,Ertekeles
,0 AS RENDEZ0
,IIF(a.Tipus = 'Magatartás', 0, 1) RENDEZ1
,'' AS RENDEZ2
,0 AS RENDEZ3
,0 AS RENDEZ4
,'' AS RENDEZ5
,Datum
,RogzitesDatum
FROM #magatartasSzorgalomTmp a
-- Összeszedjük az összes Tanuló/Tanulócsoport/Hónap-ot
INSERT INTO #TanuloIdHonap
SELECT
tcs.C_TANULOID AS ID
,Honap
,tcs.ID AS TanuloCsoportId
FROM T_TANULOCSOPORT_OSSZES tcs
CROSS JOIN (VALUES (2),(3),(4),(5),(6),(9),(10),(11),(12),(13),(14),(15),(16)) Honap (Honap)
WHERE tcs.C_OSZTALYCSOPORTID = @osztalycsoportId
INSERT INTO #Tantargyak
EXEC uspGetDokumentumTantargyakErtekeleshez @intezmenyId, @tanevId, @osztalyCsoportId, @csakKivalasztottOsztalyCsoport
INSERT INTO #TanuloTantargyHonapTmp
SELECT
tih.Id AS TanuloId
,tih.TanuloCsoportId AS TanuloCsoportId
,tih.Honap AS Honap
,t.C_NEV AS TantargyNev
,t.ID AS TantargyId
,t.RENDEZ0
,t.RENDEZ1
,t.RENDEZ2
,t.RENDEZ3
,t.RENDEZ4
,t.RENDEZ5
FROM #TanuloIdHonap tih
INNER JOIN #Tantargyak t ON t.c_tanuloid = tih.Id and t.c_tanulocsoportid = tih.TanuloCsoportId
-----------------------------------------------------------------------------------------------------------
INSERT INTO #jegyek
SELECT DISTINCT
TanuloIdHonap.Honap
,TanuloIdHonap.TanuloId
,TanuloIdHonap.TanuloCsoportId
,TanuloIdHonap.TantargyId
,TanuloIdHonap.TantargyNev
,STUFF((
SELECT ', ' + CAST(Ertekeles AS nvarchar(max))
FROM #jegyekTMP bjegyekTMP
WHERE
jegyekTMP.TanuloId = bjegyekTMP.TanuloId
AND jegyekTMP.TanuloCsoportId = bjegyekTMP.TanuloCsoportId
AND jegyekTMP.TantargyNev = bjegyekTMP.TantargyNev
AND jegyekTMP.Honap = bjegyekTMP.Honap
ORDER BY Datum, RogzitesDatum
FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 2,'') Ertekeles
,TanuloIdHonap.RENDEZ0
,TanuloIdHonap.RENDEZ1
,TanuloIdHonap.RENDEZ2
,TanuloIdHonap.RENDEZ3
,TanuloIdHonap.RENDEZ4
,TanuloIdHonap.RENDEZ5
,CASE
WHEN TanuloIdHonap.Honap = 2 THEN 8
WHEN TanuloIdHonap.Honap = 3 THEN 9
WHEN TanuloIdHonap.Honap = 4 THEN 10
WHEN TanuloIdHonap.Honap = 5 THEN 11
WHEN TanuloIdHonap.Honap = 6 THEN 12
WHEN TanuloIdHonap.Honap = 9 THEN 1
WHEN TanuloIdHonap.Honap = 10 THEN 2
WHEN TanuloIdHonap.Honap = 11 THEN 3
WHEN TanuloIdHonap.Honap = 12 THEN 4
WHEN TanuloIdHonap.Honap = 13 THEN 5
WHEN TanuloIdHonap.Honap = 14 THEN 7
WHEN TanuloIdHonap.Honap = 15 THEN 6
WHEN TanuloIdHonap.Honap = 16 THEN 15
END AS RendezHonap
FROM #TanuloTantargyHonapTmp TanuloIdHonap
LEFT JOIN #jegyekTMP jegyekTMP ON TanuloIdHonap.TanuloId = jegyekTMP.TanuloId
AND TanuloIdHonap.Honap = jegyekTMP.Honap
AND TanuloIdHonap.TanuloCsoportId = jegyekTMP.TanuloCsoportId
AND TanuloIdHonap.TantargyNev = jegyekTMP.TantargyNev
IF @fuggolegesTantargyak = 1
BEGIN
DECLARE @tantargyakJegyek NVARCHAR(MAX)
DECLARE @tantargyakNevvelJegyek NVARCHAR(MAX)
SELECT @tantargyakNevvelJegyek = ISNULL(@tantargyakNevvelJegyek + ', ', '') + '[' + CAST(t.TantargyId AS NVARCHAR(MAX)) + '] AS [' + t.TantargyNev + ']',
@tantargyakJegyek = ISNULL(@tantargyakJegyek + ', ', '[0], [1],') + '[' + CAST(t.TantargyId AS NVARCHAR(MAX)) + ']'
FROM (SELECT DISTINCT TantargyId, IIF(LEN(t.c_nev) > 128, SUBSTRING(t.C_NEV,1,120) + '...', t.c_nev) AS TantargyNev, RENDEZ0, RENDEZ1
,RENDEZ2 ,RENDEZ3, RENDEZ4, RENDEZ5 FROM #jegyek j INNER JOIN T_TANTARGY_OSSZES t ON t.Id = j.TantargyId ) t
ORDER BY RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
DECLARE @sqlJegyek NVARCHAR(MAX)
SET @sqlJegyek = '
SELECT
TanuloId tanuloID
,TanuloCsoportId
,CASE
WHEN Honap = 2 THEN ''02.''
WHEN Honap = 3 THEN ''03.''
WHEN Honap = 4 THEN ''04.''
WHEN Honap = 5 THEN ''05.''
WHEN Honap = 6 THEN ''06.''
WHEN Honap = 9 THEN ''09.''
WHEN Honap = 10 THEN ''10.''
WHEN Honap = 11 THEN ''11.''
WHEN Honap = 12 THEN ''12.''
WHEN Honap = 13 THEN ''1/I.''
WHEN Honap = 14 THEN ''1/II.''
WHEN Honap = 15 THEN ''F''
WHEN Honap = 16 THEN ''É''
END AS periodusNev
,piv.[0] AS Magatartás
,piv.[1] AS Szorgalom
,' + @tantargyakNevvelJegyek + '
FROM
(
SELECT
CASE
WHEN TantargyNev = ''Magatartás'' THEN 0
WHEN TantargyNev = ''Szorgalom'' THEN 1
ELSE TantargyId
END AS TantargyId
,Honap
,s.ID TanuloId
,s.TanuloCsoportId
,Ertekeles
,RendezHonap
FROM #jegyek j
INNER JOIN #studentsWithTanuloCsoport s on j.Tanuloid = s.ID AND s.TanuloCsoportId = j.TanuloCsoportId
)a
PIVOT (MAX(Ertekeles) FOR TantargyId in (' + @tantargyakJegyek + ')) piv
ORDER BY RendezHonap
'
IF (@tantargyakJegyek IS NULL)
BEGIN
SELECT 0 AS tanuloId, 0 as TanuloCsoportId
END
ELSE
BEGIN
EXEC sp_executesql @sqlJegyek
END
END
ELSE
BEGIN
SELECT
TanuloId
,TanuloCsoportId
,TantargyNev AS Tipus
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
,[9],[10],[11],[12],[2],[3],[4],[5],[6],[13],[14],[15],[16]
FROM (
SELECT jegyek.TanuloId
,ISNULL(tanulok.TanuloCsoportId
,(SELECT TOP 1 ID FROM T_TANULOCSOPORT_OSSZES AS tcs
WHERE tcs.C_TANULOID = jegyek.TanuloId AND tcs.C_OSZTALYCSOPORTID = @osztalyCsoportId)
) AS TanuloCsoportId, Ertekeles, Honap, TantargyId, TantargyNev, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
FROM #jegyek AS jegyek
LEFT JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalycsoportId, 'T') AS tanulok ON
tanulok.TanuloId = jegyek.TanuloId AND tanulok.TanuloCsoportId = jegyek.TanuloCsoportId
) j
PIVOT (MAX(Ertekeles) FOR Honap IN ([9],[10],[11],[12],[2],[3],[4],[5],[6],[13],[14],[15],[16])) piv
ORDER BY TanuloId, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5, Tipus
END
END
GO

View file

@ -0,0 +1,204 @@
DROP PROCEDURE IF EXISTS uspGetDokumentumTantargyakErtekeleshez
GO
CREATE PROCEDURE uspGetDokumentumTantargyakErtekeleshez
@intezmenyId int
,@tanevId int
,@osztalyCsoportId int
,@csakKivalasztottOsztalyCsoport bit
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@evfolyamTipusId int = (SELECT C_EVFOLYAMTIPUSA FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId AND TOROLT = 'F')
,@elsoNap datetime
,@utolsoNap datetime
,@isCsoport bit = 0
DECLARE @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId AND TOROLT = 'F')
SELECT @elsoNap = C_KEZDONAP, @utolsoNap = C_UTOLSONAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F'
IF EXISTS (SELECT ID FROM T_CSOPORT_OSSZES WHERE ID = @osztalyCsoportId AND TOROLT = 'F')
BEGIN
SET @isCsoport = 1
END
CREATE TABLE #KapcsopodoTantargy(
ID int
,C_FOTARGYID int
,C_NEV nvarchar(255)
,C_NEVNYOMTATVANYBAN nvarchar(255)
,C_TARGYKATEGORIA int
,C_INTEZMENYID int
,C_TANEVID int
,C_SORSZAM int
)
INSERT INTO #KapcsopodoTantargy
SELECT
kt.ID
,kt.C_FOTARGYID
,kt.C_NEV
,t.C_NEVNYOMTATVANYBAN
,kt.C_TARGYKATEGORIA
,kt.C_INTEZMENYID
,kt.C_TANEVID
,t.C_SORSZAM
FROM dbo.fnGetKapcsolodoTantargyak(@intezmenyId, @tanevId, NULL) AS kt
INNER JOIN T_TANTARGY_OSSZES AS t ON t.ID = kt.ID AND t.TOROLT = 'F';
-- Összeszedjük minden tanuló-tanulócsoporthoz a tárgyakat
WITH tantargy_CTE (C_TANTARGYID, C_FOTARGYID, C_TANULOID, C_TANULOCSOPORTID, C_INTEZMENYID, C_TANEVID)
AS (
-- TTF-es tárgyak
SELECT
Foglalkozas.C_TANTARGYID
,Tantargy.C_FOTARGYID
,f.ID AS c_tanuloid
,tcsOsztaly.ID AS C_TANULOCSOPORTID
,Tantargy.C_INTEZMENYID
,Tantargy.C_TANEVID
FROM T_FOGLALKOZAS_OSSZES Foglalkozas
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.C_INTEZMENYID = Foglalkozas.C_INTEZMENYID
AND Tantargy.C_TANEVID = Foglalkozas.C_TANEVID
AND Tantargy.TOROLT = 'F'
AND Tantargy.ID = Foglalkozas.C_TANTARGYID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = Foglalkozas.C_OSZTALYCSOPORTID
AND tcs.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID AND f.TOROLT = 'F'
INNER JOIN T_TANULOCSOPORT_OSSZES tcsOsztaly ON tcsOsztaly.C_OSZTALYCSOPORTID = @osztalyCsoportId
AND tcsOsztaly.C_TANULOID = f.ID
AND tcsOsztaly.TOROLT = 'F'
WHERE
(tcsOsztaly.C_KILEPESDATUM IS NULL OR tcsOsztaly.C_KILEPESDATUM > tcs.C_BELEPESDATUM)
AND Foglalkozas.C_INTEZMENYID = @intezmenyId
AND Foglalkozas.C_TANEVID = @tanevId
AND Foglalkozas.TOROLT = 'F'
AND (@isCsoport = 0 OR Foglalkozas.C_OSZTALYCSOPORTID = @osztalyCsoportId)
UNION
-- ttf-ben nem szereplő tárgyak
SELECT
OrarendiOra.C_TANTARGYID
,Tantargy.C_FOTARGYID
,f.ID AS C_TANULOID
,tcsOsztaly.ID AS C_TANULOCSOPORTID
,Tantargy.C_INTEZMENYID
,Tantargy.C_TANEVID
FROM T_ORARENDIORA_OSSZES OrarendiOra
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.C_INTEZMENYID = OrarendiOra.C_INTEZMENYID
AND Tantargy.C_TANEVID = OrarendiOra.C_TANEVID
AND Tantargy.TOROLT = 'F'
AND Tantargy.ID = OrarendiOra.C_TANTARGYID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = OrarendiOra.C_OSZTALYCSOPORTID
AND (tcs.C_BELEPESDATUM < OrarendiOra.C_ORAERVENYESSEGVEGE AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= OrarendiOra.C_ORAERVENYESSEGKEZDETE))
AND tcs.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID AND f.TOROLT = 'F'
INNER JOIN T_TANULOCSOPORT_OSSZES tcsOsztaly ON tcsOsztaly.C_OSZTALYCSOPORTID = @osztalyCsoportId
AND (tcsOsztaly.C_BELEPESDATUM < OrarendiOra.C_ORAERVENYESSEGVEGE AND (tcsOsztaly.C_KILEPESDATUM IS NULL OR tcsOsztaly.C_KILEPESDATUM >= OrarendiOra.C_ORAERVENYESSEGKEZDETE))
AND tcsOsztaly.C_TANULOID = f.ID
AND tcsOsztaly.TOROLT = 'F'
WHERE
(tcsOsztaly.C_KILEPESDATUM IS NULL OR tcsOsztaly.C_KILEPESDATUM > tcs.C_BELEPESDATUM)
AND OrarendiOra.C_INTEZMENYID = @intezmenyId
AND OrarendiOra.C_TANEVID = @tanevId
AND OrarendiOra.TOROLT = 'F'
AND (@isCsoport = 0 OR OrarendiOra.C_OSZTALYCSOPORTID = @osztalyCsoportId)
UNION
-- Értékelést kapott tárgyak
SELECT DISTINCT
TanuloErtekeles.TantargyId
,TanuloErtekeles.FotargyId
,TanuloErtekeles.TanuloId
,TanuloErtekeles.TanuloCsoportId AS C_TANULOCSOPORTID
,@intezmenyId
,@tanevId
FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevId, @osztalyCsoportId, DEFAULT, DEFAULT, @csakKivalasztottOsztalyCsoport, DEFAULT, DEFAULT) AS TanuloErtekeles
)
SELECT
NULL
,NULL
,'Magatartás'
,''
,0
,f.ID
,tcs.ID
,0
,0
,''
,0
,0
,''
,@intezmenyId
,@tanevId
FROM T_TANULOCSOPORT_OSSZES tcs
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID AND f.TOROLT = 'F'
WHERE
tcs.C_OSZTALYCSOPORTID = @osztalyCsoportId
AND tcs.TOROLT = 'F'
UNION ALL
SELECT
NULL
,NULL
,'Szorgalom'
,''
,0
,f.ID
,tcs.ID
,0
,1
,''
,0
,0
,''
,@intezmenyId
,@tanevId
FROM T_TANULOCSOPORT_OSSZES tcs
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID AND f.TOROLT = 'F'
WHERE
tcs.C_OSZTALYCSOPORTID = @osztalyCsoportId
AND tcs.TOROLT = 'F'
UNION ALL
SELECT DISTINCT
KapcsopodoTantargy.ID
,KapcsopodoTantargy.C_FOTARGYID
,KapcsopodoTantargy.C_NEV
,KapcsopodoTantargy.C_NEVNYOMTATVANYBAN
,KapcsopodoTantargy.C_TARGYKATEGORIA
,tantargy_CTE.c_tanuloId
,tantargy_CTE.c_tanulocsoportid
,KapcsopodoTantargy.C_SORSZAM
,CASE WHEN KapcsopodoTantargy.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END RENDEZ1
,ISNULL(ISNULL(Fotargy.C_NEVNYOMTATVANYBAN, Fotargy.C_NEV), ISNULL(KapcsopodoTantargy.C_NEVNYOMTATVANYBAN, KapcsopodoTantargy.C_NEV)) AS RENDEZ2
,ISNULL(KapcsopodoTantargy.C_FOTARGYID, KapcsopodoTantargy.ID) AS RENDEZ3
,KapcsopodoTantargy.C_FOTARGYID AS RENDEZ4
,ISNULL(KapcsopodoTantargy.C_NEVNYOMTATVANYBAN, KapcsopodoTantargy.C_NEV) AS RENDEZ5
,KapcsopodoTantargy.C_INTEZMENYID
,KapcsopodoTantargy.C_TANEVID
FROM tantargy_CTE
INNER JOIN #KapcsopodoTantargy KapcsopodoTantargy ON tantargy_CTE.C_TANTARGYID = KapcsopodoTantargy.ID OR tantargy_CTE.C_FOTARGYID = KapcsopodoTantargy.ID
LEFT JOIN T_TANTARGY_OSSZES Fotargy ON Fotargy.C_INTEZMENYID = tantargy_CTE.C_INTEZMENYID
AND Fotargy.C_TANEVID = tantargy_CTE.C_TANEVID
AND Fotargy.TOROLT = 'F'
AND Fotargy.ID = tantargy_CTE.C_FOTARGYID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = KapcsopodoTantargy.C_TARGYKATEGORIA
AND TargyKategoriaDictionary.TOROLT = 'F'
AND TargyKategoriaDictionary.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = Fotargy.C_TARGYKATEGORIA
AND FotargyKategoriaDictionary.TOROLT = 'F'
AND FotargyKategoriaDictionary.C_TANEVID = Fotargy.C_TANEVID
END
GO

View file

@ -0,0 +1,509 @@
DROP PROCEDURE IF EXISTS [dbo].[uspGetErtesitoNyomtatvany]
GO
-- =====================================================================
-- Description: értesítõ nyomtatvány (félévi, év végi, I. negyedévi...)
-- =====================================================================
CREATE PROCEDURE [dbo].[uspGetErtesitoNyomtatvany]
@pOsztalyId int
,@pTanevId int
,@pErtekelesTipus int
,@pElmeletGyakorlat bit = 0
,@pKesesTipus int = 1499
,@pElmeletiOraPercben int = 45
,@pGyakorlatiOraPercben int = 45
,@pIskolaErdekuSzamit bit
,@pIsKozossegiSzolgalat bit
,@pTanuloId int = NULL
,@pIsMuveszetOktatasi bit = 0
,@pIsShowTanuloiAtlag bit = 0
,@tanitasiHetekSzamaVegzos int = 32
,@tanitasiHetekSzamaNemVegzos int = 36
,@isAltantargyBeszamitasa bit = 0
,@nyomtatvanyNyelvEnum int = 0
,@kiiratkozottTanulokMegjelenitese bit = 1
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@EsemenyTipus int
,@IdoszakVegeTanevRendje int
,@IdoszakVege date
,@OsztalycsoportVezeto nvarchar(max)
,@OsztalycsoportNev nvarchar(max)
SET @EsemenyTipus =
CASE @pErtekelesTipus
WHEN 1519 THEN 1547 --félévi
WHEN 1520 THEN 1548 --év végi
WHEN 1522 THEN 1549 --I. negyedévi
WHEN 1524 THEN 1550 --II. negyedévi
WHEN 1523 THEN 1551 --III. negyedévi
END
SET @IdoszakVegeTanevRendje =
CASE @pErtekelesTipus
WHEN 1519 THEN 1400 --félévi
WHEN 1520 THEN 1395 --év végi
WHEN 1522 THEN 1403 --I. negyedévi
WHEN 1524 THEN 1400 --II. negyedévi
WHEN 1523 THEN 1404 --III. negyedévi
END
CREATE TABLE #ErtekelesResult (
TanuloId int
,TanuloCsoportId int
,Targy nvarchar(max)
,Jegyzet nvarchar(max)
,Ertekeles nvarchar(max)
,ErtekelesValue int
,ErtekelesJegyzettel nvarchar(max)
,Oraszam float
,RENDEZ0 int
,RENDEZ1 int
,RENDEZ2 nvarchar(max)
,RENDEZ3 int
,RENDEZ4 int
,RENDEZ5 nvarchar(max)
/*nemzetiségi törzslaphoz kell*/
,ErtekelesTemaIdegenNyelven nvarchar(max)
,ErtekelesSzovegIdegenNyelven nvarchar(max)
,ErtekelesValueIdegenNyelven nvarchar(max)
,ErtekelesOsztalyzatIdegenNyelven nvarchar(max)
,ErtekelesSzazalek nvarchar(max)
,Jeloles nvarchar(max)
,TantargyNevIdegenNyelven nvarchar(max)
/**/
,TantargyId int
,INDEX IX_01 CLUSTERED (TanuloId, TanuloCsoportId)
)
CREATE TABLE #MulasztasResult (
TanuloId int
,TanuloCsoportId int
,Igazolt int
,Igazolatlan int
,ElmeletIgazolt int
,ElmeletIgazolatlan int
,GyakorlatIgazolt int
,GyakorlatIgazolatlan int
,ElmeletOsszes int
,GyakorlatOsszes int
,Osszes int
,INDEX IX_01 CLUSTERED (TanuloId, TanuloCsoportId)
)
CREATE TABLE #TanuloResult (
TANULOID int
,TanuloCsoportId int
,BelepesDatum date
,KilepesDatum date
,TANULONEV nvarchar(max)
,OKTATASIAZONOSITO nvarchar(max)
,TORZSLAPSZAM nvarchar(max)
,SZULHELY nvarchar(max)
,SZULIDO nvarchar(max)
,ANYJANEVE nvarchar(max)
,PRIMARY KEY (TANULOID, TanuloCsoportId, BelepesDatum)
)
SET @IdoszakVege = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = @IdoszakVegeTanevRendje AND C_TANEVID = @pTanevId AND TOROLT = 'F')
SET @OsztalycsoportNev = (SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId)
IF (@pIsMuveszetOktatasi = 0) BEGIN
SET @OsztalycsoportVezeto = (SELECT C_NYOMTATASINEV FROM T_OSZTALY_OSSZES Osztaly INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON Osztaly.C_OSZTALYFONOKID = felhasznalo.ID WHERE Osztaly.ID = @pOsztalyId)
END
ELSE BEGIN
SET @OsztalycsoportVezeto = (SELECT C_NYOMTATASINEV FROM T_CSOPORT_OSSZES Csoport INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON Csoport.C_CSOPORTVEZETOID = felhasznalo.ID WHERE Csoport.ID = @pOsztalyId)
END
-- Fejléc
IF @pIsMuveszetOktatasi = 0 BEGIN
SELECT
ia.C_NEV AS IntezmenyNeve
,ia.C_VAROS AS IntezmenyVaros
,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) AS IntezmenyCime
,ia.C_IGAZGATONEVE AS IntezmenyVezeto
,ia.C_OMKOD AS OMKod
,ia.C_TELEFONSZAM AS TELEFON
,ia.C_EMAILCIM AS EMAILCIM
,tv.C_NEV AS TANEV
,ia.C_VAROS AS VAROS
,ofo.C_NYOMTATASINEV AS OSZTALYFONOK
,ofo.ID AS OsztalyFonokId
,ocs.C_NEV AS OSZTALYNEV
,@pOsztalyId AS OsztalyId
,GETDATE() AS Datum
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,o.C_TANTERVID AS TantervId
,ocs.C_KEPZESIFORMA AS KepzesiForma
,o.C_AGAZAT AS Agazat
,o.C_SZAKMACSOPORT AS SzakmaCsoport
,o.C_SZAKKEPESITES AS Szakkepesites
,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
,ocs.C_isTECHNIKAI AS OJTechnikaiOsztaly
,o.C_NEMZETISEGI AS OJNemzetisegi
,o.C_KETTANNYELVU AS OJKettannyelvu
,o.C_NYELVIELOKESZITO AS OJNyelviElokeszito
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OJIsGyogypedagogiaiLogopediai
,o.C_SPORT AS OJSportOsztaly
,o.C_AJPROGRAM AS OJAranyJanosProgram
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ocs.C_TANEVID = ia.C_TANEVID and ocs.TOROLT = 'F'
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES ofo on ofo.ID = o.C_OSZTALYFONOKID
INNER JOIN T_TANEV_OSSZES tv ON tv.ID = ocs.C_TANEVID AND tv.TOROLT = 'F'
WHERE ia.TOROLT = 'F'
AND tv.ID = @pTanevId
AND ocs.id = @pOsztalyId
END
ELSE BEGIN
SELECT
T_INTEZMENYADATOK_OSSZES.C_NEV AS IntezmenyNeve
,T_INTEZMENYADATOK_OSSZES.C_VAROS AS IntezmenyVaros
,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) AS IntezmenyCime
,T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE AS IntezmenyVezeto
,T_INTEZMENYADATOK_OSSZES.C_OMKOD AS OMKod
,T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM AS TELEFON
,T_INTEZMENYADATOK_OSSZES.C_EMAILCIM AS EMAILCIM
,T_TANEV_OSSZES.C_NEV AS TANEV
,T_INTEZMENYADATOK_OSSZES.C_VAROS AS VAROS
,ofo.C_NYOMTATASINEV AS CsoportVezeto
,ofo.ID AS CsoportVezetoId
,ocs.C_NEV AS OSZTALYNEV
,@pOsztalyId AS CsoportId
,GETDATE() AS Datum
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,o.C_TIPUSA AS CsoportTipusa
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
FROM T_INTEZMENYADATOK_OSSZES
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id = @pOsztalyId and ocs.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID and ocs.C_TANEVID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and ocs.TOROLT = 'F'
INNER JOIN T_CSOPORT_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
LEFT JOIN T_FELHASZNALO_OSSZES ofo on ofo.ID = o.C_CSOPORTVEZETOID
INNER JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID AND T_TANEV_OSSZES.TOROLT = 'F'
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
AND T_TANEV_OSSZES.ID = @pTanevId
END
--PRINT ' TANULÓK ---------------------------------------------------------------'
IF @pTanuloId IS NOT NULL BEGIN
INSERT INTO #TanuloResult
SELECT
dk.TanuloId
,dk.TanuloCsoportId
,dk.BelepesDatum
,dk.KilepesDatum
,IIF(@nyomtatvanyNyelvEnum = 0, fh.C_NYOMTATASINEV, fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV)
,fh.C_OKTATASIAZONOSITO
,dk.Torzslapszam
,fh.C_SZULETESIHELY
,dbo.fnGetDokumentumDatumFormatum(fh.C_SZULETESIDATUM)
,fh.C_ANYJANEVE
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') dk
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.Id = dk.TanuloId
WHERE dk.TanuloId = @pTanuloId
AND (@kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum >= @IdoszakVege))
SELECT
TANULOID
,TanuloCsoportId
,BelepesDatum
,KilepesDatum
,TANULONEV
,OKTATASIAZONOSITO
,TORZSLAPSZAM
,SZULHELY
,SZULIDO
,ANYJANEVE
,@OsztalycsoportNev AS Osztaly
,@pOsztalyId AS OsztalyId
,@OsztalycsoportVezeto AS Osztalyfonok
FROM #TanuloResult
ORDER BY TANULONEV
END
ELSE BEGIN
INSERT INTO #TanuloResult
SELECT
dk.TanuloId
,dk.TanuloCsoportId
,dk.BelepesDatum
,dk.KilepesDatum
,IIF(@nyomtatvanyNyelvEnum = 0, fh.C_NYOMTATASINEV, fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV)
,fh.C_OKTATASIAZONOSITO
,dk.Torzslapszam
,fh.C_SZULETESIHELY
,dbo.fnGetDokumentumDatumFormatum(fh.C_SZULETESIDATUM)
,fh.C_ANYJANEVE
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') dk
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.Id = dk.TanuloId
WHERE @kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum >= @IdoszakVege)
SELECT
TANULOID
,TanuloCsoportId
,BelepesDatum
,KilepesDatum
,TANULONEV
,OKTATASIAZONOSITO
,TORZSLAPSZAM
,SZULHELY
,SZULIDO
,ANYJANEVE
,@OsztalycsoportNev AS Osztaly
,@pOsztalyId AS OsztalyId
,@OsztalycsoportVezeto AS Osztalyfonok
FROM #TanuloResult
ORDER BY TANULONEV
END
--PRINT ' ÉRTÉKELÉSEK ---------------------------------------------------------------'
INSERT INTO #ErtekelesResult (
TanuloId
,TanuloCsoportId
,Targy
,Jegyzet
,Ertekeles
,ErtekelesValue
,ErtekelesJegyzettel
,Oraszam
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
,ErtekelesTemaIdegenNyelven
,ErtekelesSzovegIdegenNyelven
,ErtekelesValueIdegenNyelven
,ErtekelesOsztalyzatIdegenNyelven
,ErtekelesSzazalek
,Jeloles
,TantargyNevIdegenNyelven
,TantargyId
) EXEC uspGetDokumentumErtekelesek
@osztalyId = @pOsztalyId
,@tanevId = @pTanevId
,@ertekelesTipus = @pErtekelesTipus
,@isMuveszetOktatasi = @pIsMuveszetOktatasi
,@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos
,@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos
,@isAltantargyBeszamitasa = @isAltantargyBeszamitasa
,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
,@idegenNyelvId = 0
SELECT
ertekeles.TanuloId
,ertekeles.TanuloCsoportId
,Targy
,TantargyId
,Jegyzet
,Ertekeles
,ErtekelesValue
,ErtekelesJegyzettel
,Oraszam
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
,'' TanarNev
FROM #ErtekelesResult ertekeles
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = ertekeles.TanuloId AND Tanulok.TanuloCsoportId = ertekeles.TanuloCsoportId
ORDER BY ertekeles.TanuloId, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
IF(@pIsShowTanuloiAtlag = 1) BEGIN
PRINT 'Tanuló Átlaga'
SELECT
atlag.TanuloId TanuloId
,atlag.TanuloCsoportId
,REPLACE(CAST(AVG(ErtekelesValue * 1.0) AS DECIMAL(10,2)), '.', ',') ErtekelesAtlag
FROM #ErtekelesResult atlag
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = atlag.TanuloId AND Tanulok.TanuloCsoportId = atlag.TanuloCsoportId
GROUP BY atlag.TanuloId, atlag.TanuloCsoportId
END
--PRINT 'MULASZTÁSOK ---------------------------------------------------------------'
INSERT INTO #MulasztasResult (
TanuloId
,TanuloCsoportId
,Igazolt
,Igazolatlan
,ElmeletIgazolt
,ElmeletIgazolatlan
,GyakorlatIgazolt
,GyakorlatIgazolatlan
,ElmeletOsszes
,GyakorlatOsszes
,Osszes
) EXEC sp_GetDokumentumMulasztasok
@osztalyId = @pOsztalyId
,@tanevId = @pTanevId
,@elmeletiOraPercben = @pElmeletiOraPercben
,@gyakorlatiOraPercben = @pGyakorlatiOraPercben
,@ertekelesTipus = @pErtekelesTipus
,@iskolaErdekuSzamit = @pIskolaErdekuSzamit
,@isMuveszetOktatasi = @pIsMuveszetOktatasi
SELECT
mu.TanuloId
,mu.TanuloCsoportId
,Igazolt
,Igazolatlan
,ElmeletIgazolt
,ElmeletIgazolatlan
,GyakorlatIgazolt
,GyakorlatIgazolatlan
,ElmeletOsszes
,GyakorlatOsszes
,Osszes
FROM #MulasztasResult mu
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = mu.TanuloId AND Tanulok.TanuloCsoportId = mu.TanuloCsoportId
--PRINT 'MENTESSÉGEK ---------------------------------------------------------------'
SELECT
Mentessegek.TanuloId
,Mentessegek.TanuloCsoportId
,TantargyNev
,MentessegOka
FROM fnGetDokumentumTanuloMentessegei(@pTanevId, @pOsztalyId, DEFAULT) Mentessegek
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Mentessegek.TanuloId AND Tanulok.TanuloCsoportId = Mentessegek.TanuloCsoportId
--PRINT 'TANULÓ elérhetőségei ---------------------------------------------------------------'
SELECT
GondviseloNev GondviseloNeve
,Gondviselo.TanuloId
FROM fnGetDokumentumGondviselok (@pOsztalyId, @pTanevId, 'F', 'T') Gondviselo
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Gondviselo.TanuloId
SELECT DISTINCT
TanuloTable.TanuloId AS tanuloID
,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM AS CimText
,cimTipus.C_NAME AS CimTipusa
FROM #TanuloResult TanuloTable
INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloTable.TanuloId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @pTanevId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipus ON cim.C_CIMTIPUSA = cimTipus.ID AND cimTipus.C_TANEVID = @pTanevId
WHERE cim.TOROLT = 'F'
AND cim.C_GONDVISELOID IS NULL
AND cim.C_ALAPERTELMEZETT = 'T'
AND cim.C_TANEVID = @pTanevId
--Tanuló összefüggő szakmai gyakorlat
SELECT
SzakmaiGyakorlat.TanuloId
,SzakmaiGyakorlat.TanuloCsoportId
,isTeljesitett
,Ertekeles
,Megjegyzes
,Datum
FROM fnGetDokumentumOsszefuggoSzakmaiGyakorlat(@pTanevId, @pOsztalyId) SzakmaiGyakorlat
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = SzakmaiGyakorlat.TanuloId AND Tanulok.TanuloCsoportId = SzakmaiGyakorlat.TanuloCsoportId
--PRINT 'Osztály adatok az iktatáshoz ---------------------------------------------------------------'
IF @pIsMuveszetOktatasi = 0 BEGIN
SELECT
f.C_NYOMTATASINEV AS Osztalyfonok
,f.ID AS OsztalyfonokId
,ocs.C_NEV AS Osztalynev
,@pOsztalyId AS OsztalyId
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,o.C_TANTERVID AS TantervId
,ocs.C_KEPZESIFORMA AS KepzesiForma
,o.C_AGAZAT AS Agazat
,o.C_SZAKMACSOPORT AS SzakmaCsoport
,o.C_SZAKKEPESITES AS Szakkepesites
,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
,ocs.C_isTECHNIKAI AS OJTechnikaiOsztaly
,o.C_NEMZETISEGI AS OJNemzetisegi
,o.C_KETTANNYELVU AS OJKettannyelvu
,o.C_NYELVIELOKESZITO AS OJNyelviElokeszito
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OJIsGyogypedagogiaiLogopediai
,o.C_SPORT AS OJSportOsztaly
,o.C_AJPROGRAM AS OJAranyJanosProgram
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.id
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = o.C_OSZTALYFONOKID
WHERE ocs.ID = @pOsztalyId
AND ocs.C_TANEVID = @pTanevId
AND ocs.TOROLT = 'F';
END
ELSE BEGIN
SELECT
f.C_NYOMTATASINEV AS CsoportVezeto
,f.ID AS CsoportVezetoId
,ocs.C_NEV AS OSZTALYNEV
,@pOsztalyId AS CsoportId
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
,cs.C_TIPUSA AS CsoportTipusa
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.id
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = cs.C_CSOPORTVEZETOID
WHERE ocs.ID = @pOsztalyId
AND ocs.C_TANEVID = @pTanevId
AND ocs.TOROLT = 'F';
END
--Bejegyzések
SELECT
TanuloTable.TanuloId
,TanuloTable.TanuloCsoportId
,'A tanév során ' + CAST(SUM(Oraszam) AS nvarchar(max)) + ' óra közösségi szolgálatot teljesített.' AS Bejegyzes
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent (@pTanevId, @pOsztalyId, 0) bejegyzes
INNER JOIN #TanuloResult TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId AND bejegyzes.TanuloCsoportId = TanuloTable.TanuloCsoportId
WHERE @pIsKozossegiSzolgalat = 1
-- AND ((@IdoszakVegeTanevRendje = 1395) OR (IntervallumVege <= @IdoszakVege OR @IdoszakVege BETWEEN IntervallumKezdete AND IntervallumVege))
GROUP BY TanuloTable.TanuloId, TanuloTable.TanuloCsoportId
UNION
SELECT
bejegyzes.TanuloId AS TanuloId
,TanuloCsoportId
,Tartalom AS Bejegyzes
FROM fnGetDokumentumTanulokFeljegyzesei(@pTanevId, @pOsztalyId, 0) bejegyzes
INNER JOIN #TanuloResult TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId
WHERE Tipusa IN (1546, @EsemenyTipus)
AND BelepesDatum <= Datum
AND (KilepesDatum IS NULL OR KilepesDatum > Datum)
-- Zaradekok
IF (@pErtekelesTipus IN (1519, 1520))
BEGIN
EXEC dbo.uspGetDokumentumTanuloZaradekai
@tanevId = @pTanevId
,@osztalyId = @pOsztalyId
,@kellVegzaradek = 1
,@kellAtsorolasiZaradek = 1
,@idegenNyelvId = 0
END
ELSE
BEGIN
SELECT
NULL AS TanuloId
,NULL AS TanuloCsoportId
,'' AS Bejegyzes
,'' AS BejegyzesIdegenNyelven
END
END
GO

View file

@ -0,0 +1,113 @@
DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokFelmentesekHatarozatok
DROP PROCEDURE IF EXISTS dbo.uspGetTanulokFelmentesekHatarozatok
GO
CREATE PROCEDURE dbo.[uspGetTanulokFelmentesekHatarozatok]
@OsztalyId INT,
@TanevId INT
AS
BEGIN
SET NOCOUNT ON;
/*Alap adatok*/
SELECT DISTINCT
@OsztalyId OsztalyId
,ocs.C_NEV OSZTALYCSOPORT_NEV
,ofo.C_NYOMTATASINEV OSZTFO_NEV
,i.C_IGAZGATONEVE INT_IGAZGATO_NEV
,i.C_NEV INT_NEV
,i.C_IRANYITOSZAM INT_IRSZAM
,i.C_VAROS INT_VAROS
,dbo.fnGetDokumentumIntezmenyCime(@TanevId) INT_CIM
,i.C_OMKOD INT_OMKOD
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = o.C_OSZTALYFONOKID
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F'
WHERE ocs.ID = @OsztalyId
/*Mentességek*/
SELECT
tt.C_NEV TANTARGY
,tm.C_MENTESSEGOKA MENTESSEG_OKA
,IIF(C_ERTEKELESMENTESITES = 'T', 'Értékelés alóli felmentés,', '')
+ IIF(C_ORAMENTESITES = 'T', 'Tanóra látogatása alóli felmentés,', '')
+ IIF(C_SZOVEGESENERTEKELHETO = 'T', 'Szövegesen értékelhető,', '') TIPUSA
,dbo.fnGetDokumentumDatumFormatum(tm.C_KEZDETE) Kezdete
,dbo.fnGetDokumentumDatumFormatum(tm.C_VEGE) Vege
,ft.ID TANULO_ID
,ft.C_NYOMTATASINEV AS TANULO_NEV
,ft.C_NYOMTATASINEV + ' ' + CAST(ft.ID AS NVARCHAR) GROUPPARAMETER
,@OsztalyId AS OsztalyId
,ft.C_OKTATASIAZONOSITO AS TanuloOktAzon
,feljegyzo.ID AS FeljegyzoId
,feljegyzo.C_NYOMTATASINEV AS FeljegyzoNeve
,feljegyzo.C_OKTATASIAZONOSITO AS FeljegyzoOktAzon
,tt.C_SORSZAM as RENDEZ0
,CASE WHEN tt.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END as RENDEZ1
,COALESCE(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV, tt.C_NEV) as RENDEZ2
,ISNULL(tt.C_FOTARGYID, tt.ID) as RENDEZ3
,tt.C_FOTARGYID as RENDEZ4
,ISNULL(tt.C_NEVNYOMTATVANYBAN, tt.C_NEV) as RENDEZ5
INTO #TanuloMentesseg
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'T') Tanulok
INNER JOIN T_FELHASZNALO_OSSZES ft ON ft.ID = Tanulok.TanuloId AND ft.TOROLT = 'F'
LEFT JOIN T_TANULOMENTESSEG_OSSZES tm ON tm.C_TANULOID = ft.ID AND tm.TOROLT = 'F'
LEFT JOIN T_TANTARGY_OSSZES tt ON tt.ID = tm.C_TANTARGYID AND tt.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES feljegyzo ON feljegyzo.ID = tm.CREATOR AND feljegyzo.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = tt.C_TARGYKATEGORIA
AND TargyKategoriaDictionary.TOROLT = 'F'
AND TargyKategoriaDictionary.C_TANEVID = @tanevId
LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON tt.C_FOTARGYID = FotargyTable.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA
AND FotargyKategoriaDictionary.TOROLT = 'F'
AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
ORDER BY ft.C_NYOMTATASINEV
SELECT
TANTARGY
,MENTESSEG_OKA
,IIF(TIPUSA = '', '', LEFT(TIPUSA, LEN(TIPUSA) - 1)) TIPUSA
,Kezdete
,Vege
,TANULO_ID
,TANULO_NEV
,GROUPPARAMETER
,OsztalyId
,TanuloOktAzon
,FeljegyzoId
,FeljegyzoNeve
,FeljegyzoOktAzon
FROM #TanuloMentesseg
ORDER BY TANULO_ID, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5, Kezdete
/* Osztály adatok */
SELECT
o.ID AS OsztalyId
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,ocs.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
,ocs.C_ISTECHNIKAI OJTechnikaiOsztaly
,o.C_NEMZETISEGI OJNemzetisegi
,o.C_KETTANNYELVU OJKettannyelvu
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI OJIsGyogypedagogiaiLogopediai
,o.C_SPORT OJSportOsztaly
,o.C_AJPROGRAM OJAranyJanosProgram
FROM T_OSZTALY_OSSZES AS o
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
WHERE o.ID = @OsztalyId
DROP TABLE #TanuloMentesseg
END
GO

View file

@ -0,0 +1,186 @@
DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokJegyeiReszletezes
DROP PROCEDURE IF EXISTS dbo.uspGetTanulokJegyeiReszletezes
GO
CREATE PROCEDURE [dbo].[uspGetTanulokJegyeiReszletezes]
@OsztalyId int
,@TanevId int
,@isNemet int = 0
AS
BEGIN
SET NOCOUNT ON;
SELECT DISTINCT
@osztalyId OsztalyId
,ocs.C_NEV OsztalyNev
,o.C_OSZTALYNAPLOLEIRASA OsztalyMegjegyzes
,o.C_OSZTALYFONOKID PartnerID
,ofo.C_NYOMTATASINEV Osztalyfonok
,i.C_IGAZGATONEVE IntezmenyVezeto
,i.C_NEV IntezmenyNeve
,i.C_IRANYITOSZAM IntezmenyIranyitoszam
,i.C_VAROS IntezmenyVaros
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime
,i.C_OMKOD IntezmenyOMKod
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = o.C_OSZTALYFONOKID
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F'
WHERE ocs.ID = @osztalyId
SELECT
dbo.fnGetDokumentumDatumFormatum(Datum) Datum
,CASE
WHEN (CAST(ErtekelesOsztalyzatValue AS NVARCHAR(MAX)) IS NOT NULL
OR ErtekelesSzovegFormazott IS NOT NULL
OR ErtekelesSzazalek IS NOT NULL)
THEN TantargyNevZarojellel
WHEN (CAST(MagatartasOsztalyzatNev AS NVARCHAR(MAX)) IS NOT NULL
OR MagatartasErtek IS NOT NULL
OR MagatartasSzovegFormazott IS NOT NULL)
THEN 'Magatartás'
WHEN (CAST(SzorgalomOsztalyzatNev AS NVARCHAR(MAX)) IS NOT NULL
OR SzorgalomErtek IS NOT NULL
OR SzorgalomSzovegFormazott IS NOT NULL)
THEN 'Szorgalom'
END AS Tantargy
,ErtekelesTipusDictionary.C_NAME ErtTip
,ErtekelesModjaDictionary.C_NAME ErtMod
,ErtekelesTable.ErtekelesTema Tema
,ErtekeloNeve.C_NYOMTATASINEV ErtekeloNev
,COALESCE(
CAST(ErtekelesTable.ErtekelesOsztalyzatValue AS NVARCHAR(MAX))
,ErtekelesTable.ErtekelesSzoveg
,ErtekelesTable.ErtekelesSzazalek
,ErtekelesTable.MagatartasOsztalyzatNev
,ErtekelesTable.MagatartasErtek
,ErtekelesTable.MagatartasSzoveg
,ErtekelesTable.SzorgalomOsztalyzatNev
,ErtekelesTable.SzorgalomErtek
,ErtekelesTable.SzorgalomSzoveg
) Osztalyzat
,TanuloNeve.C_NYOMTATASINEV TanuloNev
,TanuloNeve.C_NYOMTATASINEV + CAST(Tanulok.TanuloId AS NVARCHAR(MAX)) GroupParameter
,Tanulok.TanuloId AS TanuloId
,TanuloNeve.C_OKTATASIAZONOSITO AS TanuloOktAzon
,ErtekelesTable.ErtekeloId AS ErtekeloId
,ErtekeloNeve.C_OKTATASIAZONOSITO AS ErtekeloOktAzon
,@OsztalyId AS OsztalyId
,dbo.fnGetDokumentumDatumFormatum(ErtekelesTable.RogzitesDatum) AS RogzitesDatum
,ErtekelesTable.RENDEZ0 AS RENDEZ0
,ErtekelesTable.RENDEZ1 AS RENDEZ1
,ErtekelesTable.RENDEZ2 AS RENDEZ2
,ErtekelesTable.RENDEZ3 AS RENDEZ3
,ErtekelesTable.RENDEZ4 AS RENDEZ4
,ErtekelesTable.RENDEZ5 AS RENDEZ5
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'F') AS Tanulok
LEFT JOIN fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT) ErtekelesTable ON ErtekelesTable.TanuloId = Tanulok.TanuloId AND ErtekelesTable.IsMagatartasSzorgalom = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesModjaDictionary.C_TANEVID = @TanevId
LEFT JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId
INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = Tanulok.TanuloId
UNION
SELECT
dbo.fnGetDokumentumDatumFormatum(Datum) Datum
,'Magatartás' Tantargy
,ErtekelesTipusDictionary.C_NAME ErtTip
,ErtekelesModjaDictionary.C_NAME ErtMod
,ErtekelesTema Tema
,ErtekeloNeve.C_NYOMTATASINEV ErtekeloNev
,COALESCE(
ErtekelesTable.MagatartasOsztalyzatNev
,ErtekelesTable.MagatartasErtek
,ErtekelesTable.MagatartasSzoveg
) Osztalyzat
,TanuloNeve.C_NYOMTATASINEV TanuloNev
,TanuloNeve.C_NYOMTATASINEV + CAST(Tanulok.TanuloId AS NVARCHAR(MAX)) GroupParameter
,Tanulok.TanuloId AS TanuloId
,TanuloNeve.C_OKTATASIAZONOSITO AS TanuloOktAzon
,ErtekelesTable.ErtekeloId AS ErtekeloId
,ErtekeloNeve.C_OKTATASIAZONOSITO AS ErtekeloOktAzon
,@OsztalyId AS OsztalyId
,dbo.fnGetDokumentumDatumFormatum(ErtekelesTable.RogzitesDatum) AS RogzitesDatum
,0 AS RENDEZ0
,0 AS RENDEZ1
,'' AS RENDEZ2
,0 AS RENDEZ3
,0 AS RENDEZ4
,'' AS RENDEZ5
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'F') AS Tanulok
LEFT JOIN fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT) ErtekelesTable ON ErtekelesTable.TanuloId = Tanulok.TanuloId AND ErtekelesTable.IsMagatartasSzorgalom = 'T'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesModjaDictionary.C_TANEVID = @TanevId
LEFT JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId
INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = Tanulok.TanuloId
WHERE
MagatartasOsztalyzatNev IS NOT NULL OR MagatartasErtek IS NOT NULL OR MagatartasSzoveg IS NOT NULL
UNION
SELECT
dbo.fnGetDokumentumDatumFormatum(Datum) Datum
,'Szorgalom' Tantargy
,ErtekelesTipusDictionary.C_NAME ErtTip
,ErtekelesModjaDictionary.C_NAME ErtMod
,ErtekelesTema Tema
,ErtekeloNeve.C_NYOMTATASINEV ErtekeloNev
,COALESCE(
ErtekelesTable.SzorgalomOsztalyzatNev
,ErtekelesTable.SzorgalomErtek
,ErtekelesTable.SzorgalomSzoveg
) Osztalyzat
,TanuloNeve.C_NYOMTATASINEV TanuloNev
,TanuloNeve.C_NYOMTATASINEV + CAST(Tanulok.TanuloId AS NVARCHAR(MAX)) GroupParameter
,Tanulok.TanuloId AS TanuloId
,TanuloNeve.C_OKTATASIAZONOSITO AS TanuloOktAzon
,ErtekelesTable.ErtekeloId AS ErtekeloId
,ErtekeloNeve.C_OKTATASIAZONOSITO AS ErtekeloOktAzon
,@OsztalyId AS OsztalyId
,dbo.fnGetDokumentumDatumFormatum(ErtekelesTable.RogzitesDatum) AS RogzitesDatum
,0 AS RENDEZ0
,1 AS RENDEZ1
,'' AS RENDEZ2
,0 AS RENDEZ3
,0 AS RENDEZ4
,'' AS RENDEZ5
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'F') AS Tanulok
LEFT JOIN fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT) ErtekelesTable ON ErtekelesTable.TanuloId = Tanulok.TanuloId AND ErtekelesTable.IsMagatartasSzorgalom = 'T'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesModjaDictionary.C_TANEVID = @TanevId
LEFT JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId
INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = Tanulok.TanuloId
WHERE
SzorgalomOsztalyzatNev IS NOT NULL OR SzorgalomErtek IS NOT NULL OR SzorgalomSzoveg IS NOT NULL
ORDER BY TanuloNeve.C_NYOMTATASINEV, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5, Datum
/* Osztály adatok */
SELECT
o.ID AS OsztalyId
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,ocs.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
,ocs.C_ISTECHNIKAI OJTechnikaiOsztaly
,o.C_NEMZETISEGI OJNemzetisegi
,o.C_KETTANNYELVU OJKettannyelvu
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI OJIsGyogypedagogiaiLogopediai
,o.C_SPORT OJSportOsztaly
,o.C_AJPROGRAM OJAranyJanosProgram
FROM T_OSZTALY_OSSZES AS o
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
WHERE o.ID = @OsztalyId
END
GO

View file

@ -0,0 +1,162 @@
DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokTantargyMulasztasokReszletezese
DROP PROCEDURE IF EXISTS dbo.uspGetTanulokTantargyMulasztasokReszletezese
GO
CREATE PROCEDURE [dbo].[uspGetTanulokTantargyMulasztasokReszletezese]
@pOsztalyId int
,@pTanevId int
,@pIskolaErdekuSzamit bit
AS BEGIN
SET NOCOUNT ON;
CREATE TABLE #MulasztasOsztalyonkent(
TantargyId int
,Tipusa int
,IgazolasTipusa int
,OsztalyCsoportId int
,TanuloId int
,TantargyNev nvarchar(1000)
,OsztalyCsoportNev nvarchar(510)
,Igazolt char(1)
,KesesPercben int
,Datum date
,OraszamWithOrakezdeteVege nvarchar(50)
,RENDEZ0 int
,RENDEZ1 INT
,RENDEZ2 NVARCHAR(510)
,RENDEZ3 INT
,RENDEZ4 INT
,RENDEZ5 NVARCHAR(510)
)
INSERT INTO #MulasztasOsztalyonkent(
TantargyId
,Tipusa
,IgazolasTipusa
,OsztalyCsoportId
,TanuloID
,TantargyNev
,OsztalyCsoportNev
,Igazolt
,KesesPercben
,Datum
,OraszamWithOrakezdeteVege
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
) SELECT
TantargyId
,Tipusa
,IgazolasTipusa
,OsztalyCsoportId
,TanuloID
,TantargyNev
,OsztalyCsoportNev
,Igazolt
,KesesPercben
,Datum
,OraszamWithOrakezdeteVege
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @pIskolaErdekuSzamit, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
/*FEJLEC*/
SELECT
IntezmenyAdat.C_NEV as IntezmenyNeve
,IntezmenyAdat.C_OMKOD as IntezmenyOMKod
,IntezmenyAdat.C_IGAZGATONEVE IntezmenyVezeto
,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) as IntezmenyCime
,IntezmenyAdat.C_VAROS as IntezmenyVaros
,(SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId) as OsztalyCsoportNev
,@pOsztalyId as OsztalyId
,ofo.C_NYOMTATASINEV as OsztalyfonokNev
FROM T_INTEZMENYADATOK_OSSZES IntezmenyAdat
INNER JOIN T_OSZTALY_OSSZES AS o ON o.ID = @pOsztalyId AND o.TOROLT='F'
LEFT JOIN T_FELHASZNALO_OSSZES AS ofo ON ofo.ID = o.C_OSZTALYFONOKID AND ofo.TOROLT='F'
WHERE INTEZMENYADAT.C_TANEVID = @pTanevId AND IntezmenyAdat.TOROLT='F'
/*TANULOK*/
SELECT
TanuloId
,Felhasznalo.C_NYOMTATASINEV as TanuloNev
,@pOsztalyId as OsztalyCsoportId
,Felhasznalo.C_OKTATASIAZONOSITO as TanuloOktAzon
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') Tanulok
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulok.TanuloId AND Felhasznalo.TOROLT='F'
ORDER BY Felhasznalo.C_NYOMTATASINEV
/*MULASZTOTT TANTARGY*/
SELECT DISTINCT
TanuloId
,OsztalyCsoportId
,TantargyId
,TantargyNev as TantargyNev
,COUNT(1) as COUNT
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
FROM #MulasztasOsztalyonkent MulasztasokOsztalyonkent
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = MulasztasokOsztalyonkent.TantargyId AND Tantargy.TOROLT='F'
GROUP BY TanuloId, OsztalyCsoportId, TantargyId, TantargyNev, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
ORDER BY TanuloId, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
SELECT
TanuloId
,OsztalyCsoportId
,OsztalyCsoportNev as OsztalyCsoportNev
,CASE
WHEN Igazolt = 'T' THEN 'Igen'
WHEN Igazolt = 'F' THEN 'Nem'
ELSE ''
END as Igazolt
,MulasztasTipus.C_NAME as Tipusa
,IgazolasTipus.C_NAME as IgazolasTipusa
,KesesPercben as Keses
,Datum as Datum
,OraszamWithOrakezdeteVege as Oraszam
,TantargyId
,Felhasznalo.C_NYOMTATASINEV as OsztalyfonokNev
FROM #MulasztasOsztalyonkent MulasztasokOsztalyonkent
INNER JOIN T_DICTIONARYITEMBASE_OSSZES MulasztasTipus ON MulasztasokOsztalyonkent.Tipusa = MulasztasTipus.ID AND MulasztasTipus.C_TANEVID = @pTanevId AND MulasztasTipus.TOROLT='F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES IgazolasTipus ON MulasztasokOsztalyonkent.IgazolasTipusa = IgazolasTipus.ID AND IgazolasTipus.C_TANEVID = @pTanevId AND IgazolasTipus.TOROLT='F'
LEFT JOIN T_OSZTALY_OSSZES Osztaly ON MulasztasokOsztalyonkent.OsztalyCsoportId = Osztaly.ID AND Osztaly.TOROLT='F'
LEFT JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Osztaly.C_OSZTALYFONOKID = Felhasznalo.ID AND Felhasznalo.TOROLT='F'
ORDER BY Datum, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
SELECT
o.ID as OsztalyId
,ocs.C_EVFOLYAMTIPUSA as EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID as FeladatEllatasiHelyId
,ocs.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 as OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM as CSJVegzosEvfolyamu
,ocs.C_ISTECHNIKAI as OJTechnikaiOsztaly
,o.C_NEMZETISEGI as OJNemzetisegi
,o.C_KETTANNYELVU as OJKettannyelvu
,o.C_NYELVIELOKESZITO as OJNyelviElokeszito
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI as OJIsGyogypedagogiaiLogopediai
,o.C_SPORT as OJSportOsztaly
,o.C_AJPROGRAM as OJAranyJanosProgram
FROM T_OSZTALY_OSSZES as o
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
WHERE o.ID = @pOsztalyId AND o.TOROLT='F'
END
GO

View file

@ -0,0 +1,650 @@
DROP PROCEDURE IF EXISTS dbo.uspGetTorzslap
GO
CREATE PROCEDURE dbo.uspGetTorzslap
@osztalyId int
,@tanevId int
,@ertekelesTipus int
,@kesesTipus int
,@elmeletiOraPercben int = 45
,@gyakorlatiOraPercben int = 45
,@iskolaErdekuSzamit bit
,@nyomtatvanyNyelvEnum int
,@isKozossegiSzolgalat bit
,@tanitasiHetekSzamaVegzos int
,@tanitasiHetekSzamaNemVegzos int
,@isAltantargyBeszamitasa bit
,@isMuveszetOktatasi bit = 0
,@idegenNyelvId int = 509 --magyar
,@pShowTanuloiAtlag bit = 0
,@kiiratkozottTanulokMegjelenitese bit = 1
,@kellAtsorolasiZaradek bit = 1
AS
BEGIN
SET NOCOUNT ON;
DECLARE @IdoszakVege DATE = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
CREATE TABLE #Student (
TanuloId int
,NaploSorszam int
,TorzslapSzam nvarchar(500)
,TanuloCsoportId int
,BelepesDatum datetime
,KilepesDatum datetime
,Agazat nvarchar(250)
,Szakkepesites nvarchar(250)
,ReszSzakkepesites nvarchar(250)
,SzakmaCsoport nvarchar(250)
,AgazatIdegenNyelven nvarchar(250)
,SzakkepesitesIdegenNyelven nvarchar(250)
,ReszSzakkepesitesIdegenNyelven nvarchar(250)
,SzakmaCsoportIdegenNyelven nvarchar(250)
,OsztalyId INT
,RowNum int
INDEX IX_01 CLUSTERED (TanuloId)
)
INSERT INTO #Student (
TanuloId
,NaploSorszam
,TorzslapSzam
,TanuloCsoportId
,BelepesDatum
,KilepesDatum
,Agazat
,Szakkepesites
,ReszSzakkepesites
,SzakmaCsoport
,AgazatIdegenNyelven
,SzakkepesitesIdegenNyelven
,ReszSzakkepesitesIdegenNyelven
,SzakmaCsoportIdegenNyelven
,OsztalyId
,RowNum
) SELECT
OsztalyTanuloi.TanuloId AS TanuloId
,OsztalyTanuloi.NaploSorszam AS NaploSorszam
,OsztalyTanuloi.TorzslapSzam AS TorzslapSzam
,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId
,OsztalyTanuloi.BelepesDatum AS BelepesDatum
,OsztalyTanuloi.KilepesDatum AS KilepesDatum
,Agazat.C_NAME AS Agazat
,IIF(ISNULL(Szakkep.ID, SzakkepOsztaly.ID) = 5527, '', ISNULL(Szakkep.C_NAME, SzakkepOsztaly.C_NAME) + '(szakképesítés)') AS Szakkepesites
,IIF(ISNULL(ReszSzakkep.ID, ReszSzakkepOsztaly.ID) = 6108, '', ISNULL(ReszSzakkep.C_NAME, ReszSzakkepOsztaly.C_NAME) + '(részszakképesítés)') AS ReszSzakkepesites
,SzakmaCsop.C_NAME AS SzakmaCsoport
,AgazatIdegenNyelv.C_NAME
,SzakkepIdegenNyelv.C_NAME
,ReszSzakkepIdegenNyelv.C_NAME
,SzakmaCsopIdegenNyelv.C_NAME
,@osztalyId AS OsztalyId
,ROW_NUMBER() OVER(ORDER BY LEN(TorzslapSzam), TorzslapSzam) AS RowNum
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = @osztalyId AND Osztaly.C_ALTANEVID = @tanevId AND Osztaly.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Agazat ON Agazat.ID = OsztalyTanuloi.AgazatId AND Agazat.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES AgazatIdegenNyelv ON AgazatIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.AgazatId AND AgazatIdegenNyelv.C_TANEVID = @tanevId AND AgazatIdegenNyelv.C_NYELVID = @idegenNyelvId AND AgazatIdegenNyelv.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Szakkep ON Szakkep.ID = OsztalyTanuloi.SzakkepesitesId AND Szakkep.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES SzakkepOsztaly ON SzakkepOsztaly.ID = Osztaly.C_SZAKKEPESITES AND SzakkepOsztaly.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES SzakkepIdegenNyelv ON SzakkepIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.SzakkepesitesId AND SzakkepIdegenNyelv.C_TANEVID = @tanevId AND SzakkepIdegenNyelv.C_NYELVID = @idegenNyelvId AND SzakkepIdegenNyelv.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ReszSzakkep ON ReszSzakkep.ID = OsztalyTanuloi.ReszSzakkepeitesId AND ReszSzakkep.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ReszSzakkepOsztaly ON ReszSzakkepOsztaly.ID = Osztaly.C_RESZSZAKKEPESITES AND ReszSzakkepOsztaly.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES ReszSzakkepIdegenNyelv ON ReszSzakkepIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.ReszSzakkepeitesId AND ReszSzakkepIdegenNyelv.C_TANEVID = @tanevId AND ReszSzakkepIdegenNyelv.C_NYELVID = @idegenNyelvId AND ReszSzakkepIdegenNyelv.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES SzakmaCsop ON SzakmaCsop.ID = OsztalyTanuloi.SzakmaCsoportId AND SzakmaCsop.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES SzakmaCsopIdegenNyelv ON SzakmaCsopIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.SzakmaCsoportId AND SzakmaCsopIdegenNyelv.C_TANEVID = @tanevId AND SzakmaCsopIdegenNyelv.C_NYELVID = @idegenNyelvId AND SzakmaCsopIdegenNyelv.TOROLT = 'F'
WHERE @kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum >= @IdoszakVege)
DECLARE @minTorzslapszam nvarchar(500) = (
SELECT TOP (1) TorzslapSzam
FROM #Student
ORDER BY RowNum ASC
)
DECLARE @maxTorzslapszam nvarchar(500) = (
SELECT TOP (1) TorzslapSzam
FROM #Student
ORDER BY RowNum DESC
)
--Intézmény, tanév
IF @isMuveszetOktatasi = 0 BEGIN
SELECT DISTINCT
OsztalyCsoport.C_NEV AS OsztalyNev
,Osztaly.C_OSZTALYNAPLOLEIRASA AS OsztalyMegjegyzes
,Osztaly.C_OSZTALYFONOKID AS PartnerID
,IIF(@nyomtatvanyNyelvEnum = 0, ofo.C_NYOMTATASINEV, ofo.C_UTONEV + ' ' + ofo.C_VEZETEKNEV) AS Osztalyfonok
,i.C_IGAZGATONEVE AS IntezmenyVezeto
,i.C_NEV AS IntezmenyNeve
,i.C_VAROS AS IntezmenyVaros
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCime
,i.C_OMKOD AS IntezmenyOMKod
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOMEGNYITASA), FORMAT(Osztaly.C_OSZTALYNAPLOMEGNYITASA, 'dd. MM. yyyy')) AS NaploMegnyitasanakDatuma
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOZARASA), FORMAT(Osztaly.C_OSZTALYNAPLOZARASA, 'dd. MM. yyyy')) AS NaploZarasanakDatuma
,tanev.C_NEV AS Tanev
,(SELECT COUNT(TanuloId) FROM #Student) AS TanuloSzam /*TODO:Tobb Osztaly Nem kell, mert egy adott osztályt kérdez le, ami paraméterként jön át *//*OM-1609*/
,@minTorzslapszam AS MinNaploSorszam
,@maxTorzslapszam AS MaxNaploSorszam
,OsztalyCsoport.ID AS OsztalyId
/*nemzetiségi törzslaphoz kell*/
,ofo.C_ELOTAG AS OsztalyfonokNevElotag
,ofo.C_VEZETEKNEV AS OsztalyfonoknevVezeteknev
,ofo.C_UTONEV AS OsztalyfonokNevUtonev
,Osztaly.C_OSZTALYNAPLOMEGNYITASA AS NaploMegnyitasanakDatumaPlain
,Osztaly.C_OSZTALYNAPLOZARASA AS NaploZarasanakDatumaPlain
--cím?
/***/
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
INNER JOIN T_OSZTALY_OSSZES Osztaly ON OsztalyCsoport.ID = Osztaly.ID AND Osztaly.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = Osztaly.C_OSZTALYFONOKID
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID = OsztalyCsoport.C_INTEZMENYID AND i.C_TANEVID = @tanevId
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = i.C_TANEVID and tanev.TOROLT = 'F'
WHERE
OsztalyCsoport.ID = @osztalyId
END
ELSE
BEGIN
SELECT DISTINCT
OsztalyCsoport.C_NEV AS OsztalyNev
,csoport.C_CSOPORTNAPLOLEIRAS AS OsztalyMegjegyzes
,csoport.C_CSOPORTVEZETOID AS PartnerID
,IIF(@nyomtatvanyNyelvEnum = 0, ofo.C_NYOMTATASINEV, ofo.C_UTONEV + ' ' + ofo.C_VEZETEKNEV) AS Osztalyfonok
,i.C_IGAZGATONEVE AS IntezmenyVezeto
,i.C_NEV AS IntezmenyNeve
,i.C_VAROS AS IntezmenyVaros
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCime
,i.C_OMKOD AS IntezmenyOMKod
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(csoport.C_CSOPORTNAPLOMEGNYITASA), FORMAT(csoport.C_CSOPORTNAPLOMEGNYITASA, 'dd. MM. yyyy')) AS NaploMegnyitasanakDatuma
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(csoport.C_CSOPORTNAPLOZARASA), FORMAT(csoport.C_CSOPORTNAPLOZARASA, 'dd. MM. yyyy')) AS NaploZarasanakDatuma
,tanev.C_NEV AS Tanev
,(SELECT COUNT(TanuloId) FROM #Student) AS TanuloSzam
,@minTorzslapszam AS MinNaploSorszam
,@maxTorzslapszam AS MaxNaploSorszam
,OsztalyCsoport.ID AS OsztalyId
,csoport.C_CSOPORTNAPLOMEGNYITASA AS NaploMegnyitasanakDatumaPlain
,csoport.C_CSOPORTNAPLOZARASA AS NaploZarasanakDatumaPlain
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
INNER JOIN T_CSOPORT_OSSZES csoport ON OsztalyCsoport.ID = csoport.ID AND csoport.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = csoport.C_CSOPORTVEZETOID
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID = OsztalyCsoport.C_INTEZMENYID AND i.C_TANEVID = @tanevId
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = i.C_TANEVID and tanev.TOROLT = 'F'
WHERE
OsztalyCsoport.ID = @osztalyId
END
--Osztály, évfolyam
SELECT
OsztalyCsoport.C_NEV
,ISNULL(EvfolyamTipusa.C_NAME_1, (SELECT C_NAME_1 FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE = 'EvfolyamTipus' AND ID = 1296 AND C_TANEVID = @tanevId)) AS C_EVFOLYAMTIPUSA_DNAME -- Ha nincs évfolyam beállítva, akkor Na-t kell beírni
,EvfolyamTipusaIdegenNyelv.C_NAME EvfolyamTipusaIdegenNyelv
,OsztalyCsoport.ID AS OsztalyId
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipusa ON EvfolyamTipusa.Id = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusa.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES EvfolyamTipusaIdegenNyelv ON EvfolyamTipusaIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusaIdegenNyelv.C_TANEVID = @tanevId AND EvfolyamTipusaIdegenNyelv.C_NYELVID = @idegenNyelvId AND EvfolyamTipusaIdegenNyelv.TOROLT = 'F'
WHERE
OsztalyCsoport.ID = @osztalyId
CREATE TABLE #TanuloAdatok (
TanuloId int
,Azonosito nvarchar(40)
,Nev nvarchar(120)
,TanuloNevElotag nvarchar(120)
,TanuloNevVezeteknev nvarchar(120)
,TanuloNevUtonev nvarchar(120)
,SzuletesiDatum nvarchar(20)
,SzuletesiDatumPlain DATE
,SzuletesiHely nvarchar(50)
,Allampolgarsag nvarchar(250)
,AllampolgarsagIdegenNyelven nvarchar(250)
,AnyjaNeve nvarchar(64)
,AnyjaNeveIdegenNyelven nvarchar(64)
,SzuletesiOrszag nvarchar(250)
,SzuletesiOrszagIdegenNyelven nvarchar(250)
,TorzslapSzam nvarchar(500)
,GondviseloNeve nvarchar(max)
,GondviseloNevIdegenNyelven nvarchar(max)
,NaploSorszam int
,Nev2 nvarchar(255)
,SajatosNevelesu char(1)
,TanuloCsoportId int
,BelepesDatum datetime
,KilepesDatum datetime
,Agazat nvarchar(250)
,AgazatIdegenNyelven nvarchar(250)
,Szakkepesites nvarchar(250)
,SzakkepesitesIdegenNyelven nvarchar(250)
,ReszSzakkepesites nvarchar(250)
,ReszSzakkepesitesIdegenNyelven nvarchar(250)
,SzakmaCsoport nvarchar(250)
,SzakmaCsoportIdegenNyelven nvarchar(250)
,EvfolyamTipus INT
,OsztalyId INT
,EvfolyamTipusaIdegenNyelven nvarchar(250)
)
--Tanuló adatok
INSERT INTO #TanuloAdatok (
TanuloId
,Azonosito
,Nev
,TanuloNevElotag
,TanuloNevVezeteknev
,TanuloNevUtonev
,SzuletesiDatum
,SzuletesiDatumPlain
,SzuletesiHely
,Allampolgarsag
,AllampolgarsagIdegenNyelven
,AnyjaNeve
,AnyjaNeveIdegenNyelven
,SzuletesiOrszag
,SzuletesiOrszagIdegenNyelven
,TorzslapSzam
,GondviseloNeve
,GondviseloNevIdegenNyelven
,NaploSorszam
,Nev2
,SajatosNevelesu
,TanuloCsoportId
,BelepesDatum
,KilepesDatum
,Agazat
,AgazatIdegenNyelven
,Szakkepesites
,SzakkepesitesIdegenNyelven
,ReszSzakkepesites
,ReszSzakkepesitesIdegenNyelven
,SzakmaCsoport
,SzakmaCsoportIdegenNyelven
,EvfolyamTipus
,OsztalyId
,EvfolyamTipusaIdegenNyelven
) SELECT-- DISTINCT
felhasznalo.ID AS TanuloId
,felhasznalo.C_OKTATASIAZONOSITO AS Azonosito
,IIF(@nyomtatvanyNyelvEnum = 0, felhasznalo.C_NYOMTATASINEV, felhasznalo.C_UTONEV + ' ' + felhasznalo.C_VEZETEKNEV) AS Nev
,felhasznalo.C_ELOTAG AS TanuloNevElotag
,felhasznalo.C_VEZETEKNEV AS TanuloNevVezeteknev
,felhasznalo.C_UTONEV AS TanuloNevUtonev
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(felhasznalo.C_SZULETESIDATUM), FORMAT(felhasznalo.C_SZULETESIDATUM, 'dd. MM. yyyy')) AS SzuletesiDatum
,felhasznalo.C_SZULETESIDATUM AS SzuletesiDatumPlain
,felhasznalo.C_SZULETESIHELY AS SzuletesiHely
,IIF(@nyomtatvanyNyelvEnum = 0, LOWER(allampolgarsag.C_NAME), dbo.fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, felhasznalo.C_ALLAMPOLGARSAGA, @tanevId)) AS Allampolgarsag
,LOWER(allampolgarsagIdegenNyelv.C_NAME) AS AllampolgarsagIdegenNyelven
,IIF(@nyomtatvanyNyelvEnum = 0, C_ANYJANEVE, LTRIM(SUBSTRING(C_ANYJANEVE, C_ANYJANEVEELVALASZTO + 1 , LEN(C_ANYJANEVE) - C_ANYJANEVEELVALASZTO)) + ' ' + LTRIM(SUBSTRING(C_ANYJANEVE, 0, C_ANYJANEVEELVALASZTO + 1))) AS AnyjaNeve
,LTRIM(SUBSTRING(C_ANYJANEVE, C_ANYJANEVEELVALASZTO + 1 , LEN(C_ANYJANEVE) - C_ANYJANEVEELVALASZTO)) + ' ' + LTRIM(SUBSTRING(C_ANYJANEVE, 0, C_ANYJANEVEELVALASZTO + 1)) AnyjaNeveIdegenNyelven
,IIF(@nyomtatvanyNyelvEnum = 0, szorszag.C_NAME, dbo.fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, felhasznalo.C_SZULETESIORSZAG, @tanevId)) AS SzuletesiOrszag
,szorszagIdegenNyelv.C_NAME AS SzuletesiOrszagIdegenNyelven
,OsztalyTanuloi.TorzslapSzam AS TorzslapSzam
,gondviselo.Gondviselok AS GondviseloNeve
,gondviseloIdegenNyelven.Gondviselok AS GondviseloNevIdegenNyelven
,OsztalyTanuloi.NaploSorszam AS NaploSorszam
,felhasznalo.C_NYOMTATASINEV AS Nev2
,Tanulo.C_SAJATOSNEVELESU AS SajatosNevelesu
,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId
,OsztalyTanuloi.BelepesDatum AS BelepesDatum
,OsztalyTanuloi.KilepesDatum AS KilepesDatum
,OsztalyTanuloi.Agazat AS Agazat
,OsztalyTanuloi.AgazatIdegenNyelven
,OsztalyTanuloi.Szakkepesites AS Szakkepesites
,OsztalyTanuloi.SzakkepesitesIdegenNyelven
,OsztalyTanuloi.ReszSzakkepesites AS ReszSzakkepesites
,OsztalyTanuloi.ReszSzakkepesitesIdegenNyelven
,OsztalyTanuloi.SzakmaCsoport AS SzakmaCsoport
,OsztalyTanuloi.SzakmaCsoportIdegenNyelven
,CASE OsztalyCsoport.C_EVFOLYAMTIPUSA
WHEN 7366 THEN ISNULL(tta.C_TANULOEVFOLYAMTIPUSID, (SELECT TOP 1 ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE = 'EvfolyamTipus' AND ID = 1296 AND C_TANEVID = @tanevId AND TOROLT = 'F')) -- Összevont osztálynál a tanulóhoz beírt évfolyamot kell megjeleníteni, ha nincs beállítva, akkor Na-t kell beírni
ELSE ISNULL(OsztalyCsoport.C_EVFOLYAMTIPUSA, (SELECT TOP 1 ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE = 'EvfolyamTipus' AND ID = 1296 AND C_TANEVID = @tanevId AND TOROLT = 'F')) -- Ha nincs évfolyam beállítva, akkor Na-t kell beírni
END AS EvfolyamTipusa
,OsztalyTanuloi.OsztalyId AS OsztalyId
,EvfolyamTipusIdegenNyelv.C_NAME AS EvfolyamTipusaIdegenNyelven
/*szakképesítés egyebek....*/
FROM #Student OsztalyTanuloi
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = OsztalyTanuloi.TanuloId
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON OsztalyTanuloi.TanuloId = felhasznalo.ID
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = OsztalyTanuloi.TanuloCsoportId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsag ON allampolgarsag.ID = felhasznalo.C_ALLAMPOLGARSAGA AND allampolgarsag.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES allampolgarsagIdegenNyelv ON allampolgarsagIdegenNyelv.C_DICTIONARYITEMBASEID = felhasznalo.C_ALLAMPOLGARSAGA AND allampolgarsagIdegenNyelv.C_TANEVID = @tanevId AND allampolgarsagIdegenNyelv.C_NYELVID = @idegenNyelvId AND allampolgarsagIdegenNyelv.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szorszag ON szorszag.ID = felhasznalo.C_SZULETESIORSZAG AND szorszag.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES szorszagIdegenNyelv ON szorszagIdegenNyelv.C_DICTIONARYITEMBASEID = felhasznalo.C_SZULETESIORSZAG AND szorszagIdegenNyelv.C_TANEVID = @tanevId AND szorszagIdegenNyelv.C_NYELVID = @idegenNyelvId AND szorszagIdegenNyelv.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = @osztalyId AND OsztalyCsoport.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipus ON EvfolyamTipus.ID = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipus.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES EvfolyamTipusIdegenNyelv ON EvfolyamTipusIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusIdegenNyelv.C_TANEVID = @tanevId AND EvfolyamTipusIdegenNyelv.C_NYELVID = @idegenNyelvId AND EvfolyamTipusIdegenNyelv.TOROLT = 'F'
LEFT JOIN (
SELECT DISTINCT
g.TanuloId AS TanuloId
,(SELECT GondviseloNev + IIF(@nyomtatvanyNyelvEnum = 0, N' (' + LOWER(d.C_NAME) + N')', N'') + NCHAR(10)
FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') bg
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = bg.RokonsagifokId AND d.C_TANEVID = @tanevId
WHERE
bg.TanuloId = g.TanuloId
FOR XML PATH('')) Gondviselok
FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') g
) gondviselo ON felhasznalo.ID = gondviselo.TanuloId
LEFT JOIN (
SELECT DISTINCT
g.TanuloId TanuloId
,(SELECT GondviseloNev + IIF(@nyomtatvanyNyelvEnum = 0, N' (' + ISNULL(LOWER(dny.C_NAME), LOWER(d.C_NAME)) + N')', N'') + NCHAR(10)
FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') bg
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = bg.RokonsagifokId AND d.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES dny on dny.C_DICTIONARYITEMBASEID = bg.RokonsagifokId AND dny.C_TANEVID = @tanevId AND dny.C_NYELVID = @idegenNyelvId AND dny.TOROLT = 'F'
WHERE
bg.TanuloId = g.TanuloId
FOR XML PATH('')) Gondviselok
FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') g
) gondviseloIdegenNyelven on felhasznalo.ID = gondviseloIdegenNyelven.TanuloId
WHERE
felhasznalo.C_TANEVID = @tanevId
AND felhasznalo.TOROLT = 'F'
ORDER BY Nev
SELECT
TanuloId
,Azonosito
,Nev
,TanuloNevElotag
,TanuloNevUtonev
,TanuloNevVezeteknev
,SzuletesiDatum
,SzuletesiHely
,Allampolgarsag
,Anyjaneve
,AnyjaNeveIdegenNyelven
,SzuletesiOrszag
,TorzslapSzam
,GondviseloNeve
,GondviseloNevIdegenNyelven
,NaploSorszam
,Nev2
,SajatosNevelesu
,TanuloCsoportId
,BelepesDatum
,KilepesDatum
,Szakkepesites
,ReszSzakkepesites
,dict.C_NAME AS C_EVFOLYAMTIPUSA_DNAME
,EvfolyamTipusaIdegenNyelven
,OsztalyId
,SzuletesiDatumPlain
,AllampolgarsagIdegenNyelven
,SzuletesiOrszagIdegenNyelven
,AgazatIdegenNyelven
,SzakkepesitesIdegenNyelven
,ReszSzakkepesitesIdegenNyelven
,SzakmaCsoportIdegenNyelven
FROM #TanuloAdatok
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dict ON dict.ID = #TanuloAdatok.EvfolyamTipus AND dict.C_TANEVID = @tanevId
ORDER BY LEN(TorzslapSzam), TorzslapSzam
--Határozat
EXEC dbo.uspGetDokumentumTanuloZaradekai
@tanevId = @tanevId
,@osztalyId = @osztalyId
,@kellVegzaradek = 1
,@kellAtsorolasiZaradek = @kellAtsorolasiZaradek
,@idegenNyelvId = @idegenNyelvId
--Egyéb bejegyzések
SELECT
bejegyzes.TanuloId AS TanuloId
,s.TanuloCsoportId AS TanuloCsoportId
,Tartalom AS Bejegyzes
,d.C_NAME AS Tipus_DNAME
,dny.C_NAME AS TipusIdegenNyelven
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(bejegyzes.Datum), FORMAT(bejegyzes.Datum, 'dd. MM. yyyy')) AS Datum
,bejegyzes.Datum AS DatumPlain
,BejegyzesIdegenNyelven
FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId, @idegenNyelvId) bejegyzes
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa AND C_TANEVID = @tanevId AND d.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES dny ON dny.C_DICTIONARYITEMBASEID = Tipusa AND dny.C_NYELVID = @idegenNyelvId AND dny.TOROLT = 'F' AND dny.C_TANEVID = @tanevId
INNER JOIN #Student s ON s.TanuloId = bejegyzes.TanuloId
WHERE Tipusa IN (1545, 1548, 1553) --KRETA-6062
AND BelepesDatum <= Datum
AND (KilepesDatum IS NULL OR KilepesDatum >= Datum)
ORDER BY Datum
-- MULASZTÁSOK
CREATE TABLE #Mulasztasok (
TanuloId int
,TanuloCsoportId int
,Igazolt int
,Igazolatlan int
,ElmeletIgazolt int
,ElmeletIgazolatlan int
,GyakorlatIgazolt int
,GyakorlatIgazolatlan int
,ElmeletOsszes int
,GyakorlatOsszes int
,Osszes int
)
INSERT INTO #Mulasztasok (
TanuloId
,TanuloCsoportId
,Igazolt
,Igazolatlan
,ElmeletIgazolt
,ElmeletIgazolatlan
,GyakorlatIgazolt
,GyakorlatIgazolatlan
,ElmeletOsszes
,GyakorlatOsszes
,Osszes
) EXEC sp_GetDokumentumMulasztasok
@osztalyId = @osztalyId
,@tanevId = @tanevId
,@elmeletiOraPercben = @elmeletiOraPercben
,@gyakorlatiOraPercben = @gyakorlatiOraPercben
,@ertekelesTipus = @ertekelesTipus
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
,@isMuveszetOktatasi = @isMuveszetOktatasi
SELECT
TanuloTable.TanuloId
,TanuloTable.TanuloCsoportId
,Igazolt
,Igazolatlan
,ElmeletIgazolt
,ElmeletIgazolatlan
,GyakorlatIgazolt
,GyakorlatIgazolatlan
,ElmeletOsszes
,GyakorlatOsszes
,Osszes
FROM #Mulasztasok mulasztasok
INNER JOIN #Student TanuloTable ON mulasztasok.TanuloId = TanuloTable.TanuloId AND TanuloTable.TanuloCsoportId = mulasztasok.TanuloCsoportId
-- ÉRTÉKELÉSEK
CREATE TABLE #Ertekelesek (
TanuloId int
,TanuloCsoportId int
,Targy nvarchar(max)
,Jegyzet nvarchar(max)
,Ertekeles nvarchar(max)
,ErtekelesValue int
,ErtekelesJegyzettel nvarchar(max)
,Oraszam float
,RENDEZ0 int
,RENDEZ1 int
,RENDEZ2 nvarchar(max)
,RENDEZ3 int
,RENDEZ4 int
,RENDEZ5 nvarchar(max)
/*nemzetiségi törzslaphoz kell*/
,ErtekelesTemaIdegenNyelven nvarchar(max)
,ErtekelesSzovegIdegenNyelven nvarchar(max)
,ErtekelesValueIdegenNyelven nvarchar(max)
,ErtekelesOsztalyzatIdegenNyelven nvarchar(max)
,ErtekelesSzazalek nvarchar(max)
,Jeloles nvarchar(max)
,TantargyNevIdegenNyelven nvarchar(max)
/**/
,TantargyId int
)
INSERT INTO #Ertekelesek
EXEC dbo.uspGetDokumentumErtekelesek
@osztalyId = @osztalyId,
@tanevId = @tanevId,
@ertekelesTipus =@ertekelesTipus,
@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum,
@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos,
@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos,
@isAltantargyBeszamitasa = @isAltantargyBeszamitasa,
@isMuveszetOktatasi = @isMuveszetOktatasi,
@idegenNyelvId = @idegenNyelvId
SELECT
TanuloId
,TanuloCsoportId
,Targy
,Jegyzet
,Ertekeles
,ErtekelesValue
,ErtekelesJegyzettel
,Oraszam
,RENDEZ1 RENDEZ
,RENDEZ0
,Rendez1
,Rendez2
,Rendez3
,Rendez4
,Rendez5
/*nemzetiségi törzslaphoz kell*/
,ErtekelesTemaIdegenNyelven
,ErtekelesSzovegIdegenNyelven
,ErtekelesValueIdegenNyelven
,ErtekelesOsztalyzatIdegenNyelven
,ErtekelesSzazalek
,Jeloles
,TantargyNevIdegenNyelven
/**/
FROM #Ertekelesek
ORDER BY RENDEZ0, Rendez1, Rendez2, Rendez3, Rendez4, Rendez5
--Tanuló lista
SELECT
Nev
,NaploSorszam
,TorzslapSzam
,dbo.fnGetDokumentumDatumFormatum (KilepesDatum) KilepesDatum
,TanuloId
,OsztalyId
FROM #TanuloAdatok
ORDER BY Nev
--Közösségi szolgálat
SELECT DISTINCT
OsztalyTanuloi.TanuloId
,OsztalyTanuloi.TanuloCsoportId
,Datum AS Datum
,ISNULL(' - ' + Megjegyzes, '') AS Megjegyzes
,Oraszam
,TeljesitesHelye
,FeljegyzoNeve
,Tipus
,KozossegiSzolgalatId
,IntervallumKezdete
,IntervallumVege
,TipusIdegenNyelven
,MegjegyzesIdegenNyelven
,TeljesitesHelyeIdegenNyelven
,FeljegyzoNevElotag
,FeljegyzoNevVezeteknev
,FeljegyzoNevUtonev
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent(@tanevId, @osztalyId, @idegenNyelvId) KozossegiSzolgalat
INNER JOIN #Student OsztalyTanuloi ON OsztalyTanuloi.TanuloId = KozossegiSzolgalat.TanuloId
WHERE @isKozossegiSzolgalat = 1 /*TODO: javítani...*/
ORDER BY IntervallumKezdete
--SNI
SELECT
s.TanuloId AS TanuloId
,s.TanuloCsoportId AS TanuloCsoportId
,ISNULL(Tanulo.C_SNIKIALLITOINTEZMENY, '') AS SNIKiallitoIntezmeny
,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_SNIOKMANYERVENYESSEGKEZDETE) AS SNIKezdete
,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_SNIKONTROLLIDOPONT) AS SNIKontrolIdopont
,ISNULL(Tanulo.C_ERTELMIFOGYATEKOSOKMANYSZAM + '(Értelmi fogyatékos okmányszám) ', '')
+ISNULL(Tanulo.C_LATASSERULTOKMANYSZAM + '(Látássérült okmányszám) ', '')
+ISNULL(Tanulo.C_HALLASSERULTOKMANYSZAM + '(Hallássérült okmányszám) ', '')
+ISNULL(Tanulo.C_BESZEDFOGYATEKOSOKMANYSZAM + '(Beszédfogyatékos okmányszám) ', '')
+ISNULL(Tanulo.C_MOZGASSERULTOKMANYSZAM + '(Mozgáskorlátozott okmányszám) ', '')
+ISNULL(Tanulo.C_DISZGRAFIAOKMANYSZAM + '(Diszgráfia okmányszám) ', '')
+ISNULL(Tanulo.C_DISZKALKULIAOKMANYSZAM + '(Diszkalkulia okmányszám) ', '')
+ISNULL(Tanulo.C_DISZLEXIAOKMANYSZAM + '(Diszlexia okmányszám) ', '')
+ISNULL(TANULO.C_VISELKEDESORGANIKUSOKMANYSZA + '(Viselkedés fejlődésének rendellenessége okmányszám) ', '')
+ISNULL(TANULO.C_VISELKEDESNEMORGANIKUSOKMANY + '(Viselkedés fejlődésének rendellenessége okmányszám) ', '')
+ISNULL(TANULO.C_MEGISMEROORGANIKUSOKMANYSZAM + '(Megismerő funkciók rendellenessége okmányszám) ', '')
+ISNULL(TANULO.C_MEGISMERONEMORGANIKUSOKMANYS + '(Megismerő funkciók rendellenessége okmányszám) ', '') AS SNIOkmanyszamok
FROM #Student s
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = s.TanuloId
WHERE Tanulo.C_SAJATOSNEVELESU = 'T'
--BTM
SELECT
s.TanuloId AS TanuloId
,s.TanuloCsoportId AS TanuloCsoportId
,ISNULL(Tanulo.C_BTMKIALLITOINTEZMENY,'') AS BTMKiallitoIntezmeny
,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_BTMOKMANYERVENYESSEGKEZDETE) AS BTMKezdete
,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_BTMKONTROLLIDOPONT) AS BTMKontrolIdopont
,ISNULL(Tanulo.C_BTMHATAROZATOKMANYSZAM + '(BTM határozat okmányszáma) ', '')
+IIF(Tanulo.C_BEILLESZKEDESIPROBLEMAVALKUZ ='T', 'Beilleszkedési problémával küzd, ', '')
+IIF(Tanulo.C_MAGATARTASIPROBLEMAVALKUZD ='T', 'Magatartási problémával küzd, ', '')
+IIF(Tanulo.C_TANULASIPROBLEMAVALKUZD ='T', 'Tanulási problémával küzd - ', '')
+IIF(Tanulo.C_TANULASIPROBLEMADISZGRAFIA ='T', 'Diszgráfia, ', '')
+IIF(Tanulo.C_TANULASIPROBLEMAVALKUZDDISZK ='T', 'Diszkalkulia, ', '')
+IIF(Tanulo.C_TANULASIPROBLEMAVALKUZDDISZL ='T', 'Diszlexia ', '') AS BTMOkmanyszamok
FROM #Student s
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = s.TanuloId
WHERE Tanulo.C_BTMPROBLEMAS = 'T'
--Tanuló felmentései
SELECT
TanuloId
,TanuloCsoportId
,TantargyNevMentessegNelkul
,MentessegOka
,dbo.fnGetDokumentumDatumFormatum(Kezdete) AS Kezdete
FROM fnGetDokumentumTanuloMentessegei(@tanevId, @osztalyId, @nyomtatvanyNyelvEnum)
--Tanuló kzösségi szolgálat feljegyzései
SELECT
s.TanuloId AS TanuloId
,s.TanuloCsoportId AS TanuloCsoportId
,te.C_TARTALOM AS Bejegyzes
,d.C_NAME AS Tipus_DNAME
,dbo.fnGetDokumentumDatumFormatum(te.C_ROGZITESDATUMA) AS Datum
FROM T_TANULO_TANULOESEMENY tte
INNER JOIN #Student s ON s.TanuloId = tte.C_TANULOID
INNER JOIN T_TANULOESEMENY_OSSZES te on te.ID = tte.C_TANULOESEMENYID AND te.C_TANEVID = @tanevId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = te.C_TIPUS AND d.C_TANEVID = @tanevId AND d.TOROLT = 'F'
WHERE
te.TOROLT = 'F'
AND te.C_TIPUS = 1546
SELECT
Tanulok.TanuloId AS TanuloId
,Tanulok.TanuloCsoportId AS TanuloCsoportId
,C_TELJESITETT AS isTeljesitett
,Osztalyzat.C_VALUE AS Ertekeles
,'[' + C_MEGJEGYZES + ']' AS Megjegyzes
,dbo.fnGetDokumentumDatumFormatum(OsszefuggoSzakGyak.C_TELJESITESDATUM) AS Datum
FROM #Student Tanulok
INNER JOIN T_OSSZEFUGGOSZAKGYAK_OSSZES OsszefuggoSzakGyak ON OsszefuggoSzakGyak.C_TANULOID = Tanulok.TanuloId AND OsszefuggoSzakGyak.TOROLT = 'F' AND OsszefuggoSzakGyak.C_TANEVID = @tanevid
LEFT JOIN T_TANULOERTEKELES_OSSZES Ertekeles ON Ertekeles.C_OSSZEFUGGOSZAKGYAKID = OsszefuggoSzakGyak.ID AND Ertekeles.TOROLT = 'F' AND Ertekeles.C_TANEVID = @tanevid
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Osztalyzat ON Osztalyzat.ID = Ertekeles.C_ERTEKELESOSZTALYZATID AND Osztalyzat.C_TANEVID = Ertekeles.C_TANEVID AND Osztalyzat.C_INTEZMENYID = Ertekeles.C_INTEZMENYID
WHERE
Tanulok.BelepesDatum <= OsszefuggoSzakGyak.C_TELJESITESDATUM
AND (Tanulok.KilepesDatum >= OsszefuggoSzakGyak.C_TELJESITESDATUM OR Tanulok.KilepesDatum IS NULL)
IF(@pShowTanuloiAtlag = 1) BEGIN
SELECT
atlag.TanuloId AS TanuloId
,atlag.TanuloCsoportId AS TanuloCsoportId
,FORMAT(AVG(ErtekelesValue), 'N', 'hu-HU') AS ErtekelesAtlag
FROM #Ertekelesek atlag
INNER JOIN #Student Tanulok ON Tanulok.TANULOID = atlag.TanuloId AND Tanulok.TanuloCsoportId = atlag.TanuloCsoportId
GROUP BY atlag.TanuloId, atlag.TanuloCsoportId
END
END
GO

View file

@ -0,0 +1,249 @@
DROP PROCEDURE IF EXISTS dbo.sp_GetUzenofuzetErtekelolap
DROP PROCEDURE IF EXISTS dbo.uspGetUzenofuzetErtekelolap
GO
CREATE PROCEDURE [dbo].[uspGetUzenofuzetErtekelolap]
@osztalyId INT
,@tanevId INT
,@intezmenyId INT
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE #szovegesTemp (
TanuloId int
,TanuloCsoportId int
,Honap nvarchar(100)
,Tantargy nvarchar(510)
,Ertekeles nvarchar(MAX)
,Tipus nvarchar(500)
,RogzitesDatum datetime
,RendezHonap int
)
--Intézmény, tanév
SELECT
T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve
,T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime
,T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON
,T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM
,T_INTEZMENYADATOK_OSSZES.C_OMKOD IntezmenyOMKod
,T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE Intezmenyvezeto
,(SELECT C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE T_OSZTALY_OSSZES.ID = @osztalyId AND T_OSZTALY_OSSZES.C_ALTANEVID = @tanevId AND T_OSZTALY_OSSZES.TOROLT = 'F') PartnerID
,T_TANEV_OSSZES.C_NEV TANEV
,@osztalyId AS OsztalyId
FROM T_INTEZMENYADATOK_OSSZES
INNER JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID AND T_TANEV_OSSZES.TOROLT = 'F'
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
AND T_TANEV_OSSZES.ID = @tanevId
--Osztály, évfolyam
SELECT
ocs.C_NEV
,ocs.C_EVFOLYAMTIPUSA
,f.C_NYOMTATASINEV Osztalyfonok
,ocs.ID AS OsztalyId
,f.ID AS OsztalyfonokId
,ocs.C_EVFOLYAMTIPUSA EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
,o.C_TANTERVID TantervId
,ocs.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
,ocs.C_ISTECHNIKAI OJTechnikaiOsztaly
,o.C_NEMZETISEGI OJNemzetisegi
,o.C_KETTANNYELVU OJKettannyelvu
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI OJIsGyogypedagogiaiLogopediai
,o.C_SPORT OJSportOsztaly
,o.C_AJPROGRAM OJAranyJanosProgram
FROM T_OSZTALYCSOPORT_OSSZES AS ocs
INNER JOIN T_OSZTALY_OSSZES AS o ON ocs.id = o.ID
LEFT JOIN T_FELHASZNALO_OSSZES AS f ON f.id = o.c_osztalyfonokid
WHERE ocs.TOROLT='F'
AND ocs.ID = @osztalyId
AND ocs.C_TANEVID = @tanevId
--Tanuló adatai
SELECT
TanuloId Id
,TanuloCsoportId TanuloCsoportId
,OsztalyTanuloi.BelepesDatum BelepesDatum
,OsztalyTanuloi.KilepesDatum KilepesDatum
INTO #studentsWithTanuloCsoport
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
SELECT
T_FELHASZNALO_OSSZES.ID TanuloId
,TanuloCsoportId
,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TANULONEV
,T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO OKTATASIAZONOSITO
,@osztalyId AS OsztalyId
FROM T_FELHASZNALO_OSSZES
INNER JOIN #studentsWithTanuloCsoport Tanulok ON Tanulok.Id = T_FELHASZNALO_OSSZES.Id
ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
SELECT
Datum
,RogzitesDatum
,TipusId
,ErtekelesSzoveg
,ErtekelesSzovegFormazott
,ErtekelesSzovegRovidNev
,ErtekelesOsztalyzatId
,ErtekelesOsztalyzatValue
,ErtekelesOsztalyzatNev
,ErtekelesSzazalek
,MagatartasOsztalyzatId
,MagatartasOsztalyzatNev
,MagatartasSzoveg
,MagatartasSzovegRovidNev
,MagatartasErtekId
,MagatartasErtek
,SzorgalomOsztalyzatId
,SzorgalomOsztalyzatNev
,SzorgalomSzoveg
,SzorgalomSzovegRovidNev
,SzorgalomErtekId
,SzorgalomErtek
,TanuloId
,TanuloCsoportId
,OsztalyCsoportId
,TantargyId
,TantargyNevZarojellel
,TantargyNev
,TantargyNevNyomtatvanyban
,TargyKategoriaId
,FotargyE
,FotargyId
,Altantargy
,ErtekelesTema
,Jeloles
,JelolesAndErtekelesTema
,isMagatartasSzorgalom
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
INTO #ErtekelesekTemp
FROM fnGetDokumentumErtekelesekOsztalyonkent (@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
CREATE TABLE #Tantargyak(
ID INT
,C_FOTARGYID INT
,C_NEV NVARCHAR(255) COLLATE DATABASE_DEFAULT
,C_NEVNYOMTATVANYBAN NVARCHAR(255) COLLATE DATABASE_DEFAULT
,C_TARGYKATEGORIA INT
,c_tanuloid int
,c_tanulocsoportid int
,RENDEZ0 int
,RENDEZ1 int
,RENDEZ2 nvarchar(255) COLLATE DATABASE_DEFAULT
,RENDEZ3 int
,RENDEZ4 int
,RENDEZ5 nvarchar(255) COLLATE DATABASE_DEFAULT
,C_INTEZMENYID INT
,C_TANEVID INT
);
EXEC uspGetDokumentumErtekelesekIdoszakonkent
@tanevId = @tanevId
,@osztalyCsoportId = @osztalyId
,@ertekelesTipusa = NULL
,@csakTanorai = 1
,@csakKivalasztottOsztalyCsoport = 0
,@atsoroltTanuloErtekelesek = 0
,@fuggolegesTantargyak = 0
,@isMegjegyzesMegjelenjen = 0
,@intezmenyId = @intezmenyId
/*Szöveges minősítések*/
INSERT INTO #szovegesTemp
SELECT
a.tanuloId
,a.TanuloCsoportId
,a.Honap
,a.Tantargy
,a.Ertekeles
,a.Tipus
,a.RogzitesDatum
,a.RendezHonap
FROM (
SELECT
s.Id tanuloId
,s.TanuloCsoportId
,szoveges.Honap
,szoveges.Tantargy
,szoveges.Ertekeles
,szoveges.Tipus
,szoveges.RendezHonap
,szoveges.RogzitesDatum
FROM #studentsWithTanuloCsoport s
INNER JOIN (
SELECT
TanuloId tanuloId
,TanuloCsoportId
,'[' + CONVERT(nvarchar (max), DATEPART(MONTH, Datum)) + '. hónap]' AS Honap
,IIF(TantargyNev <> TantargyNevNyomtatvanyban AND TantargyNevNyomtatvanyban IS NOT NULL, TantargyNevNyomtatvanyban + ' (' + TantargyNev + ')', TantargyNev) AS Tantargy
,IIF(Jeloles IS NOT NULL AND TipusId = 1518, 'sz' + Jeloles + ' ', '') + ErtekelesSzovegFormazott + ISNULL(' *' + ErtekelesTema, '') Ertekeles
,ErtekelesTipusDictionary.C_NAME AS Tipus
,CASE
WHEN DATEPART(MONTH, Datum) = 1 THEN 5
WHEN DATEPART(MONTH, Datum) = 2 THEN 6
WHEN DATEPART(MONTH, Datum) = 3 THEN 7
WHEN DATEPART(MONTH, Datum) = 4 THEN 8
WHEN DATEPART(MONTH, Datum) = 5 THEN 9
WHEN DATEPART(MONTH, Datum) = 6 THEN 10
WHEN DATEPART(MONTH, Datum) = 7 THEN 11
WHEN DATEPART(MONTH, Datum) = 8 THEN 12
WHEN DATEPART(MONTH, Datum) = 9 THEN 1
WHEN DATEPART(MONTH, Datum) = 10 THEN 2
WHEN DATEPART(MONTH, Datum) = 11 THEN 3
WHEN DATEPART(MONTH, Datum) = 12 THEN 4
END AS RendezHonap
,RogzitesDatum
FROM #ErtekelesekTemp ErtekelesTemp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId
AND ErtekelesTipusDictionary.C_TANEVID = @tanevId
WHERE ErtekelesSzoveg IS NOT NULL
) szoveges ON szoveges.TANULOID = s.Id
AND s.TanuloCsoportId = szoveges.TanuloCsoportId
) a
SELECT DISTINCT
kulso.TanuloId
,kulso.TanuloCsoportId
,kulso.Honap
,kulso.Tantargy
,STUFF(((
SELECT
'<br>|' + belso.Ertekeles
FROM #szovegesTemp belso
WHERE kulso.TanuloId = belso.TanuloId
AND kulso.TanuloCsoportId = belso.TanuloCsoportId
AND kulso.Honap = belso.Honap
AND kulso.Tantargy = belso.Tantargy
AND kulso.Tipus = belso.Tipus
ORDER BY
belso.RendezHonap ASC
,belso.Tantargy ASC
,belso.RogzitesDatum ASC
FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'))
,1
,5
,'') AS Ertekeles
,kulso.Tipus
FROM #szovegesTemp kulso
DROP TABLE #studentsWithTanuloCsoport
DROP TABLE #Tantargyak
END
GO