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,188 @@
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)
,ErtekelesSzovegRovidNev NVARCHAR(3)
,ErtekelesOsztalyzatId INT
,ErtekelesOsztalyzatValue INT
,ErtekelesOsztalyzatNev NVARCHAR(500)
,ErtekelesSzazalek NVARCHAR(4)
,MagatartasOsztalyzatId INT
,MagatartasOsztalyzatValue INT
,MagatartasOsztalyzatNev NVARCHAR(500)
,MagatartasSzoveg NVARCHAR(MAX)
,MagatartasSzovegRovidNev NVARCHAR(6)
,MagatartasErtekId INT
,MagatartasErtek NVARCHAR(500)
,MagatartasErtekOsztalyzatkent INT
,SzorgalomOsztalyzatId INT
,SzorgalomOsztalyzatValue INT
,SzorgalomOsztalyzatNev NVARCHAR(500)
,SzorgalomSzoveg 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(510)
,ErtekeloId INT
,ErtekelesModjaId INT
,IsMagatartasSzorgalom CHAR(1)
,Jeloles NVARCHAR(MAX)
,JelolesAndErtekelesTema NVARCHAR(MAX)
,RogzitesDatum DATE
,RENDEZ1 INT
,RENDEZ2 NVARCHAR(510)
,RENDEZ3 INT
,RENDEZ4 INT
,RENDEZ5 NVARCHAR(510)
)
AS
BEGIN
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_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_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_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
,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>',
'') 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
,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.TOROLT = 'F'
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tanuloErtekeles.C_TANTARGYID AND ((ISNULL(tantargy.C_TARGYKATEGORIA,0) <> 1248) OR @includeOsztalyfonokiKategoria = 1)
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 = @DefaultFeladatKategoriaId
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)
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