init
This commit is contained in:
@@ -0,0 +1,228 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumErtekelesekOsztalyonkent') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumErtekelesekOsztalyonkent
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumErtekelesekOsztalyonkent (@tanevId INT, @osztalyCsoportId INT, @ertekelesTipusa INT = NULL, @csakTanorai BIT = 1, @csakKivlasztottOsztalyCsoport BIT = 0, @atsoroltTanuloErtekelesek INT = 0)
|
||||
RETURNS @retTanuloErtekeles TABLE
|
||||
(
|
||||
ErtekelesId INT NOT NULL,
|
||||
Datum DATE,
|
||||
TipusId INT,
|
||||
ErtekelesSzoveg NVARCHAR(MAX),
|
||||
ErtekelesSzovegRovidNev NVARCHAR(3),
|
||||
ErtekelesOsztalyzatId INT,
|
||||
ErtekelesOsztalyzatValue INT,
|
||||
ErtekelesOsztalyzatNev NVARCHAR(MAX),
|
||||
ErtekelesSzazalek NVARCHAR(MAX),
|
||||
MagatartasOsztalyzatId INT,
|
||||
MagatartasOsztalyzatValue INT,
|
||||
MagatartasOsztalyzatNev NVARCHAR(MAX),
|
||||
MagatartasSzoveg NVARCHAR(MAX),
|
||||
MagatartasSzovegRovidNev NVARCHAR(3),
|
||||
MagatartasErtekId INT,
|
||||
MagatartasErtek NVARCHAR(MAX),
|
||||
MagatartasErtekOsztalyzatkent INT,
|
||||
SzorgalomOsztalyzatId INT,
|
||||
SzorgalomOsztalyzatValue INT,
|
||||
SzorgalomOsztalyzatNev NVARCHAR(MAX),
|
||||
SzorgalomSzoveg NVARCHAR(MAX),
|
||||
SzorgalomSzovegRovidNev NVARCHAR(3),
|
||||
SzorgalomErtekId INT,
|
||||
SzorgalomErtek NVARCHAR(MAX),
|
||||
SzorgalomErtekOsztalyzatkent INT,
|
||||
TanuloId INT,
|
||||
TanuloCsoportId INT,
|
||||
OsztalyCsoportId INT,
|
||||
TantargyId INT,
|
||||
TantargyNevZarojellel NVARCHAR(MAX),
|
||||
TantargyNevNyomtatvanyban NVARCHAR(MAX),
|
||||
TantargyNev NVARCHAR(MAX),
|
||||
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)
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
INSERT INTO @retTanuloErtekeles
|
||||
SELECT DISTINCT
|
||||
[tanuloErtekeles].[ID] [ErtekelesId],
|
||||
[tanuloErtekeles].[C_DATUM] [Datum],
|
||||
[tanuloErtekeles].[C_TIPUSID] [TipusId],
|
||||
[tanuloErtekeles].[C_ERTEKELESSZOVEG] [ErtekelesSzoveg],
|
||||
[tanuloErtekeles].[C_ERTEKELESSZOVEGROVIDNEV] [ErtekelesSzovegRovidNev],
|
||||
[tanuloErtekeles].[C_ERTEKELESOSZTALYZATID] [ErtekelesOsztalyzatId],
|
||||
[ertekelesOsztalyzat].[C_VALUE] [ErtekelesOsztalyzatValue],
|
||||
[ertekelesOsztalyzat].[C_NAME] [ErtekelesOsztalyzatNev],
|
||||
IIF([tanuloErtekeles].[C_ERTEKELESSZAZALEK] IS NOT NULL --
|
||||
, CONVERT(NVARCHAR(3), [tanuloErtekeles].[C_ERTEKELESSZAZALEK])+'%' --
|
||||
, NULL) [ErtekelesSzazalek],
|
||||
[tanuloErtekeles].[C_MAGATARTASOSZTALYZATID] [MagatartasOsztalyzatId],
|
||||
[magatartasOsztalyzat].[C_VALUE] [MagatartasOsztalyzatValue],
|
||||
[magatartasOsztalyzat].[C_NAME] [MagatartasOsztalyzatNev],
|
||||
[tanuloErtekeles].[C_MAGATARTASSZOVEG] [MagatartasSzoveg],
|
||||
[tanuloErtekeles].[C_MAGATARTASSZOVEGROVIDNEV] [MagatartasSzovegRovidNev],
|
||||
[tanuloErtekeles].[C_MAGATARTASERTEKID] [MagatartasErtekId],
|
||||
[magatartasErtek].[C_NAME] [MagatartasErtek],
|
||||
[magatartasErtek].[C_VALUE] + 1 [MagatartasErtekOsztalyzatkent],
|
||||
[tanuloErtekeles].[C_SZORGALOMOSZTALYZATID] [SzorgalomOsztalyzatId],
|
||||
[szorgalomOsztalyzat].[C_VALUE] [SzorgalomOsztalyzatValue],
|
||||
[szorgalomOsztalyzat].[C_NAME] [SzorgalomOsztalyzatNev],
|
||||
[tanuloErtekeles].[C_SZORGALOMSZOVEG] [SzorgalomSzoveg],
|
||||
[tanuloErtekeles].[C_SZORGALOMSZOVEGROVIDNEV] [SzorgalomSzovegRovidNev],
|
||||
[tanuloErtekeles].[C_SZORGALOMERTEKID] [SzorgalomErtekId],
|
||||
[szorgalomErtek].[C_NAME] [SzorgalomErtek],
|
||||
[szorgalomErtek].[C_VALUE] + 1 [SzorgalomErtekOsztalyzatkent],
|
||||
[tanuloErtekeles].[C_TANULOID] [TanuloId],
|
||||
TanuloCsoportId,
|
||||
[tanuloErtekeles].[C_OSZTALYCSOPORTID] [OsztalyCsoportId],
|
||||
[tanuloErtekeles].[C_TANTARGYID] [TantargyId],
|
||||
IIF([tantargy].[C_NEV] <> [tantargy].[C_NEVNYOMTATVANYBAN]
|
||||
AND [tantargy].[C_NEVNYOMTATVANYBAN] IS NOT NULL --
|
||||
, [C_NEVNYOMTATVANYBAN]+' ('+[tantargy].[C_NEV]+')' --
|
||||
, [tantargy].[C_NEV]) [TantargyNevZarojellel],
|
||||
[tantargy].[C_NEVNYOMTATVANYBAN] [TantargyNevNyomtatvanyban],
|
||||
[tantargy].[C_NEV] [TantargyNev],
|
||||
[tantargy].[C_TARGYKATEGORIA] [TargyKategoriaId],
|
||||
[tantargy].[C_FOTARGYE] [FotargyE],
|
||||
[tantargy].[C_ALTANTARGYKENTNYOMTATVANYBAN] [Altantargy],
|
||||
[tantargy].[C_FOTARGYID] [FotargyId],
|
||||
[tanuloErtekeles].[C_ERTEKELESTEMA] [ErtekelesTema],
|
||||
[tanuloErtekeles].[C_ERTEKELOID] [ErtekeloId],
|
||||
[tanuloErtekeles].[C_ERTEKELESMODID] [ErtekelesModjaId],
|
||||
[tanuloErtekeles].[C_ISMAGATARTASSZORGALOM] [IsMagatartasSzorgalom],
|
||||
IIF( --
|
||||
[tanuloErtekeles].[C_ERTEKELESTEMA] IS NOT NULL
|
||||
AND [tanuloErtekeles].[C_TIPUSID] IN(1519, 1520), '<i>('+CAST(CHAR(ROW_NUMBER() OVER(PARTITION BY [tanuloErtekeles].[C_TANULOID],
|
||||
[tanuloErtekeles].[C_TIPUSID],
|
||||
IIF([tanuloErtekeles].[C_ERTEKELESTEMA] IS NOT NULL, 1, 0) ORDER BY [tanuloErtekeles].[C_DATUM])+96) AS NVARCHAR(10))+')</i>', '') [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], '') [JelolesAndErtekelesTema]
|
||||
FROM
|
||||
[T_TANULOERTEKELES_OSSZES] [tanuloErtekeles]
|
||||
INNER JOIN
|
||||
[fnGetDokumentumOsztalyokCsoportokTanuloi](@tanevId, @osztalyCsoportId, 'T') [tanulo] ON [tanulo].[TanuloId] = [tanuloErtekeles].[C_TANULOID]
|
||||
INNER JOIN
|
||||
[T_TANULOCSOPORT_OSSZES] [TanuloCsoport] ON [TanuloCsoport].[C_TANULOID] = [tanuloErtekeles].[C_TANULOID]
|
||||
AND [TanuloCsoport].[C_OSZTALYCSOPORTID] = [tanuloErtekeles].[C_OSZTALYCSOPORTID]
|
||||
AND [tanuloErtekeles].[C_DATUM] BETWEEN [TanuloCsoport].[C_BELEPESDATUM] AND ISNULL([TanuloCsoport].[C_KILEPESDATUM], GETDATE())
|
||||
AND [TanuloCsoport].[TOROLT] = 'F'
|
||||
LEFT JOIN
|
||||
[T_TANTARGY_OSSZES] [tantargy] ON [tantargy].[Id] = [tanuloErtekeles].[C_TANTARGYID]
|
||||
AND ([tantargy].[C_TARGYKATEGORIA] <> 1248
|
||||
OR [tantargy].[C_TARGYKATEGORIA] IS NULL)
|
||||
LEFT JOIN
|
||||
[T_DICTIONARYITEMBASE_OSSZES] [ertekelesOsztalyzat] ON [ertekelesOsztalyzat].[ID] = [tanuloErtekeles].[C_ERTEKELESOSZTALYZATID]
|
||||
AND [ertekelesOsztalyzat].[C_TANEVID] = @tanevId
|
||||
AND [ertekelesOsztalyzat].[C_TYPE] LIKE 'OsztalyzatTipus'
|
||||
LEFT JOIN
|
||||
[T_DICTIONARYITEMBASE_OSSZES] [magatartasOsztalyzat] ON [magatartasOsztalyzat].[ID] = [tanuloErtekeles].[C_MAGATARTASOSZTALYZATID]
|
||||
AND [magatartasOsztalyzat].[C_TANEVID] = @tanevId
|
||||
AND [magatartasOsztalyzat].[C_TYPE] LIKE 'OsztalyzatTipus'
|
||||
LEFT JOIN
|
||||
[T_DICTIONARYITEMBASE_OSSZES] [szorgalomOsztalyzat] ON [szorgalomOsztalyzat].[ID] = [tanuloErtekeles].[C_SZORGALOMOSZTALYZATID]
|
||||
AND [szorgalomOsztalyzat].[C_TANEVID] = @tanevId
|
||||
AND [szorgalomOsztalyzat].[C_TYPE] LIKE 'OsztalyzatTipus'
|
||||
LEFT JOIN
|
||||
[T_DICTIONARYITEMBASE_OSSZES] [magatartasErtek] ON [magatartasErtek].[ID] = [tanuloErtekeles].[C_MAGATARTASERTEKID]
|
||||
AND [magatartasErtek].[C_TANEVID] = @tanevId
|
||||
AND [magatartasErtek].[C_TYPE] LIKE 'MagatartasErtekelesTipus'
|
||||
LEFT JOIN
|
||||
[T_DICTIONARYITEMBASE_OSSZES] [szorgalomErtek] ON [szorgalomErtek].[ID] = [tanuloErtekeles].[C_SZORGALOMERTEKID]
|
||||
AND [szorgalomErtek].[C_TANEVID] = @tanevId
|
||||
AND [szorgalomErtek].[C_TYPE] LIKE 'SzorgalomErtekelesTipus'
|
||||
INNER JOIN
|
||||
[T_OSZTALYCSOPORT_OSSZES] [osztalyCsoport] ON [osztalyCsoport].[ID] = [tanuloErtekeles].[C_OSZTALYCSOPORTID]
|
||||
AND [osztalyCsoport].[TOROLT] = 'F'
|
||||
LEFT JOIN
|
||||
[T_CSOPORT_OSSZES] [csoport] ON [csoport].[ID] = [tanuloErtekeles].[C_OSZTALYCSOPORTID]
|
||||
LEFT JOIN
|
||||
[T_OSZTALY_OSSZES] [osztaly] ON [osztaly].[ID] = [tanuloErtekeles].[C_OSZTALYCSOPORTID]
|
||||
WHERE [tanuloErtekeles].[Torolt] = 'F'
|
||||
AND (@atsoroltTanuloErtekelesek > 0
|
||||
OR ([tanuloErtekeles].[C_OSZTALYCSOPORTID] IN
|
||||
(
|
||||
SELECT
|
||||
[ID]
|
||||
FROM
|
||||
[fnGetDokumentumKapcsolodoOsztalycsoportok](@osztalyCsoportId, @tanevId)
|
||||
)))
|
||||
AND (@ertekelesTipusa IS NULL
|
||||
OR [C_TIPUSID] = @ertekelesTipusa)
|
||||
AND (@csakKivlasztottOsztalyCsoport = 0
|
||||
OR [tanuloErtekeles].[C_OSZTALYCSOPORTID] = @osztalyCsoportId)
|
||||
AND (@csakTanorai = 0
|
||||
OR [osztaly].[ID] IS NOT NULL
|
||||
OR ([csoport].[ID] IS NOT NULL
|
||||
AND [csoport].[C_TIPUSA] IN
|
||||
(
|
||||
SELECT
|
||||
[ID]
|
||||
FROM
|
||||
[fnGetTanoraiCeluCsoportTipusok](@tanevId)
|
||||
)))
|
||||
option (recompile);
|
||||
IF @atsoroltTanuloErtekelesek = 1
|
||||
BEGIN
|
||||
DECLARE @osztalyTantargyak TABLE
|
||||
(
|
||||
[TantargyId] INT
|
||||
);
|
||||
INSERT INTO @osztalyTantargyak
|
||||
SELECT DISTINCT
|
||||
[TantargyId]
|
||||
FROM
|
||||
@retTanuloErtekeles
|
||||
WHERE [OsztalyCsoportId] IN
|
||||
(
|
||||
SELECT
|
||||
[ID]
|
||||
FROM
|
||||
[fnGetDokumentumKapcsolodoOsztalycsoportok](@osztalyCsoportId, @tanevId)
|
||||
)
|
||||
UNION
|
||||
SELECT DISTINCT
|
||||
[C_TANTARGYID]
|
||||
FROM
|
||||
[T_FOGLALKOZAS_OSSZES]
|
||||
INNER JOIN
|
||||
[fnGetDokumentumKapcsolodoOsztalycsoportok](@osztalyCsoportId, @tanevId) AS [OSZTALYCSOPORT] ON [OSZTALYCSOPORT].[ID] = [T_FOGLALKOZAS_OSSZES].[C_OSZTALYCSOPORTID]
|
||||
WHERE [T_FOGLALKOZAS_OSSZES].[TOROLT] = 'F';
|
||||
DELETE FROM @retTanuloErtekeles
|
||||
WHERE
|
||||
[ErtekelesId] NOT IN
|
||||
(
|
||||
SELECT
|
||||
[ErtekelesId]
|
||||
FROM
|
||||
@retTanuloErtekeles
|
||||
WHERE [TantargyId] IS NULL
|
||||
OR [TantargyId] IN
|
||||
(
|
||||
SELECT
|
||||
[TantargyId]
|
||||
FROM
|
||||
@osztalyTantargyak
|
||||
)
|
||||
);
|
||||
END
|
||||
RETURN
|
||||
END;
|
||||
|
||||
GO
|
@@ -0,0 +1,386 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetDokumentumErtekelesekIdoszakonkent') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE sp_GetDokumentumErtekelesekIdoszakonkent
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetDokumentumErtekelesekIdoszakonkent
|
||||
@tanevId INT,
|
||||
@osztalyCsoportId INT,
|
||||
@ertekelesTipusa INT,
|
||||
@csakTanorai BIT,
|
||||
@csakKivlasztottOsztalyCsoport BIT,
|
||||
@atsoroltTanuloErtekelesek INT,
|
||||
@fuggolegesTantargyak BIT,
|
||||
@isMegjegyzesMegjelenjen BIT = 1
|
||||
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
|
||||
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
|
||||
|
||||
SELECT
|
||||
Tipus
|
||||
,Honap
|
||||
,TanuloId
|
||||
,TanuloCsoportId
|
||||
,Ertekeles
|
||||
INTO #magatartasSzorgalomTMP
|
||||
FROM
|
||||
(SELECT
|
||||
'Magatartás' Tipus
|
||||
,IIF(DATEPART(mm, Datum) = @FelevVegeHonap, IIF(DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) <= @FelevVegeNap, 13, 14), DATEPART(mm, Datum)) 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
|
||||
FROM #ErtekelesekTemp
|
||||
WHERE
|
||||
(MagatartasErtek IS NOT NULL OR MagatartasOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId IN (1518, 1522, 1523, 1524, 1525)
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'Szorgalom'
|
||||
,IIF(DATEPART(mm, Datum) = @FelevVegeHonap, IIF(DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) <= @FelevVegeNap, 13, 14), DATEPART(mm, Datum)) 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
|
||||
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
|
||||
,ISNULL(SzorgalomErtek, SzorgalomOsztalyzatNev) + Jeloles
|
||||
FROM #ErtekelesekTemp
|
||||
WHERE
|
||||
(SzorgalomErtek IS NOT NULL OR SzorgalomOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId = 1519
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'Magatartás'
|
||||
,15 Honap
|
||||
,TanuloId
|
||||
,TanuloCsoportId
|
||||
,ISNULL(MagatartasErtek, MagatartasOsztalyzatNev) + Jeloles
|
||||
FROM #ErtekelesekTemp
|
||||
WHERE
|
||||
(MagatartasErtek IS NOT NULL OR MagatartasOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId = 1519
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'Szorgalom'
|
||||
,16 Honap
|
||||
,TanuloId
|
||||
,TanuloCsoportId
|
||||
,ISNULL(SzorgalomErtek, SzorgalomOsztalyzatNev) + Jeloles
|
||||
FROM #ErtekelesekTemp
|
||||
WHERE
|
||||
(SzorgalomErtek IS NOT NULL OR SzorgalomOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId = 1520
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'Magatartás'
|
||||
,16 Honap
|
||||
,TanuloId
|
||||
,TanuloCsoportId
|
||||
,ISNULL(MagatartasErtek, MagatartasOsztalyzatNev) + Jeloles
|
||||
FROM #ErtekelesekTemp
|
||||
WHERE
|
||||
(MagatartasErtek IS NOT NULL OR MagatartasOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId = 1520
|
||||
)magszorg
|
||||
|
||||
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
|
||||
FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 2,'') Ertekeles
|
||||
,IIF(Tipus = 'Magatartás', 0, 1) Rendez
|
||||
,
|
||||
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
|
||||
INTO #magatartasSzorgalom
|
||||
FROM #magatartasSzorgalomTMP msz
|
||||
|
||||
CREATE CLUSTERED INDEX ci111sss on #magatartasSzorgalomTMP (tanulocsoportid)
|
||||
|
||||
SELECT
|
||||
Honap
|
||||
,TanuloId
|
||||
,TanuloCsoportId
|
||||
,TantargyId
|
||||
,Ertekeles
|
||||
,Rendez
|
||||
INTO #jegyekTMP
|
||||
FROM
|
||||
(SELECT
|
||||
IIF(DATEPART(mm, Datum) = @FelevVegeHonap, IIF(DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) <= @FelevVegeNap, 13, 14), DATEPART(mm, Datum)) Honap
|
||||
,TanuloId
|
||||
,TanuloCsoportId
|
||||
,TantargyId
|
||||
,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)'
|
||||
END AS Ertekeles
|
||||
,TargyKategoriaId Rendez
|
||||
FROM #ErtekelesekTemp
|
||||
WHERE
|
||||
isMagatartasSzorgalom = 'F'
|
||||
AND (ErtekelesOsztalyzatValue IS NOT NULL OR ErtekelesSzazalek IS NOT NULL)
|
||||
AND TipusId IN (1518, 1522, 1523, 1524, 1525, 1521, 1526, 1527, 1528, 6916, 6917, 6918)
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
15 Honap
|
||||
,TanuloId
|
||||
,TanuloCsoportId
|
||||
,TantargyId
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX),ErtekelesOsztalyzatValue), ErtekelesSzazalek) + IIF(@isMegjegyzesMegjelenjen = 1, Jeloles, '')
|
||||
,TargyKategoriaId Rendez
|
||||
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
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX),ErtekelesOsztalyzatValue), ErtekelesSzazalek) + IIF(@isMegjegyzesMegjelenjen = 1, Jeloles, '')
|
||||
,TargyKategoriaId Rendez
|
||||
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)
|
||||
|
||||
SELECT
|
||||
ID
|
||||
,Honap
|
||||
,TanuloCsoportId
|
||||
INTO #TanuloIdHonap
|
||||
FROM #studentsWithTanuloCsoport
|
||||
CROSS JOIN (VALUES (2),(3),(4),(5),(6),(9),(10),(11),(12),(13),(14),(15),(16)) Honap (Honap)
|
||||
|
||||
SELECT DISTINCT
|
||||
TanuloIdHonap.Honap
|
||||
,TanuloIdHonap.Id TanuloId
|
||||
,TanuloIdHonap.TanuloCsoportId
|
||||
,TantargyId
|
||||
,STUFF((
|
||||
SELECT ', ' + CAST(Ertekeles AS nvarchar(max))
|
||||
FROM #jegyekTMP bjegyekTMP
|
||||
WHERE
|
||||
jegyekTMP.TanuloId = bjegyekTMP.TanuloId
|
||||
AND jegyekTMP.TanuloCsoportId = bjegyekTMP.TanuloCsoportId
|
||||
AND jegyekTMP.TantargyId = bjegyekTMP.TantargyId
|
||||
AND jegyekTMP.Honap = bjegyekTMP.Honap
|
||||
FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 2,'') Ertekeles
|
||||
,Rendez
|
||||
,
|
||||
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
|
||||
INTO #jegyek
|
||||
FROM #TanuloIdHonap TanuloIdHonap
|
||||
LEFT JOIN #jegyekTMP jegyekTMP ON TanuloIdHonap.ID = jegyekTMP.TanuloId
|
||||
AND TanuloIdHonap.Honap = jegyekTMP.Honap
|
||||
AND TanuloIdHonap.TanuloCsoportId = jegyekTMP.TanuloCsoportId
|
||||
|
||||
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, t.c_nev TantargyNev, C_TARGYKATEGORIA FROM #jegyek j INNER JOIN T_TANTARGY_OSSZES t ON t.Id = j.TantargyId ) t
|
||||
ORDER BY C_TARGYKATEGORIA
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
IIF(Tipus = ''Magatartás'', 0, 1)
|
||||
,Honap
|
||||
,s.ID
|
||||
,s.TanuloCsoportId
|
||||
,Ertekeles
|
||||
,RendezHonap
|
||||
FROM #magatartasSzorgalom m
|
||||
INNER JOIN #studentsWithTanuloCsoport s on m.Tanuloid = s.ID AND s.TanuloCsoportId = m.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 * FROM(
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
, Tipus
|
||||
, Rendez
|
||||
,[9],[10],[11],[12],[2],[3],[4],[5],[6],[13],[14],[15],[16]
|
||||
FROM (SELECT TanuloId, TanuloCsoportId, Ertekeles, Honap, Tipus, IIF(Tipus = 'Magatartás', 0, 1) TantargyId, Rendez
|
||||
FROM #magatartasSzorgalom)a
|
||||
PIVOT (MAX(Ertekeles) FOR Honap IN ([9],[10],[11],[12],[2],[3],[4],[5],[6],[13],[14],[15],[16])) piv
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
TanuloId TanuloId
|
||||
,TanuloCsoportId
|
||||
,C_NEV TantargyNev
|
||||
,Rendez
|
||||
,[9],[10],[11],[12],[2],[3],[4],[5],[6],[13],[14],[15],[16]
|
||||
FROM (SELECT TanuloId, TanuloCsoportId, Ertekeles, Honap, TantargyId, Rendez FROM #jegyek) j
|
||||
INNER JOIN (SELECT Id, C_NEV FROM T_TANTARGY_OSSZES) t ON t.Id = TantargyId
|
||||
PIVOT (MAX(Ertekeles) FOR Honap IN ([9],[10],[11],[12],[2],[3],[4],[5],[6],[13],[14],[15],[16])) piv
|
||||
)vegleges
|
||||
ORDER BY TanuloId, Rendez, Tipus
|
||||
END
|
||||
END
|
||||
|
||||
GO
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user