Files
kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20180122231550_KRETA_4842/fnGetDokumentumErtekelesekOsztalyonkent.sql
2024-03-13 00:33:46 +01:00

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