104 lines
5.4 KiB
Transact-SQL
104 lines
5.4 KiB
Transact-SQL
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, @osztalyId INT)
|
|
RETURNS TABLE
|
|
RETURN (
|
|
SELECT
|
|
tanuloErtekeles.C_DATUM Datum
|
|
,tanuloErtekeles.C_TIPUSID TipusId
|
|
,tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
|
|
,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_MAGATARTASERTEKID MagatartasErtekId
|
|
,magatartasErtek.C_NAME MagatartasErtek
|
|
,tanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId
|
|
,szorgalomOsztalyzat.C_VALUE SzorgalomOsztalyzatValue
|
|
,szorgalomOsztalyzat.C_NAME SzorgalomOsztalyzatNev
|
|
,tanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg
|
|
,tanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId
|
|
,szorgalomErtek.C_NAME SzorgalomErtek
|
|
,tanuloErtekeles.C_TANULOID TanuloId
|
|
,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_NEV TantargyNev
|
|
,tantargy.C_NEVNYOMTATVANYBAN TantargyNevNyomtatvanyban
|
|
,tantargy.C_TARGYKATEGORIA TargyKategoriaId
|
|
,tantargy.C_FOTARGYE FotargyE
|
|
,tantargy.C_FOTARGYID FotargyId
|
|
,tantargy.C_ALTANTARGYKENTNYOMTATVANYBAN Altantargy
|
|
,tanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema
|
|
,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
|
|
,tanuloErtekeles.C_ISMAGATARTASSZORGALOM isMagatartasSzorgalom
|
|
FROM T_TANULOERTEKELES_OSSZES tanuloErtekeles
|
|
INNER JOIN
|
|
fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') tanulo ON
|
|
tanulo.TanuloId = tanuloErtekeles.C_TANULOID
|
|
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'
|
|
LEFT JOIN
|
|
T_CSOPORT_OSSZES csoport ON
|
|
csoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
|
|
AND (csoport.ID IS NULL OR csoport.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))
|
|
WHERE
|
|
tanuloErtekeles.Torolt = 'F'
|
|
AND tanuloErtekeles.C_DATUM >= BelepesDatum
|
|
AND (tanuloErtekeles.C_DATUM <= KilepesDatum OR KilepesDatum IS NULL)
|
|
)
|
|
|
|
|
|
GO
|
|
|
|
|