447 lines
21 KiB
Transact-SQL
447 lines
21 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[sp_GetDokumentumErtekelesek]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[sp_GetDokumentumErtekelesek]
|
|
@osztalyId int,
|
|
@tanevId int,
|
|
@ertekelesTipus int,
|
|
@isBizonyitvany int = 0,
|
|
@nyomtatvanyNyelvEnum int = 0,
|
|
@isMuveszetOktatasi bit = 0,
|
|
@tanitasiHetekSzamaVegzos int = 32,
|
|
@tanitasiHetekSzamaNemVegzos int = 36,
|
|
@isAltantargyBeszamitasa bit = 0
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
--PRINT 'Osztályhoz tartozó tanulók'
|
|
CREATE TABLE #Tanulo (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,BelepesDatum date
|
|
,KilepesDatum date
|
|
,PRIMARY KEY (TanuloId, TanuloCsoportId, BelepesDatum)
|
|
)
|
|
|
|
INSERT INTO #Tanulo
|
|
SELECT
|
|
C_TANULOID AS TanuloId
|
|
,ID AS TanuloCsoportId
|
|
,C_BELEPESDATUM AS BelepesDatum
|
|
,ISNULL(C_KILEPESDATUM, '21000101') AS KilepesDatum
|
|
FROM T_TANULOCSOPORT_OSSZES tanuloCsoport
|
|
WHERE C_OSZTALYCSOPORTID = @osztalyId
|
|
AND C_TANEVID = @tanevId
|
|
AND TOROLT = 'F'
|
|
|
|
|
|
DECLARE
|
|
@DefaultFeladatKategoriaId int = 7553
|
|
,@NyelvesitettMagatartasNev nvarchar(max) = CASE @nyomtatvanyNyelvEnum WHEN 0 THEN 'MAGATARTAS' 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
|
|
|
|
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)
|
|
|
|
IF @isMuveszetOktatasi = 0 BEGIN
|
|
SELECT
|
|
x.TANULOID
|
|
,x.TanuloCsoportId
|
|
,x.TARGY
|
|
,x.Jegyzet
|
|
,REPLACE(Ertekeles, '(', ' (') AS Ertekeles
|
|
,x.ErtekelesValue
|
|
,REPLACE(ErtekelesJegyzettel, '(', ' (') AS ErtekelesJegyzettel
|
|
,x.Oraszam
|
|
,x.RENDEZ1
|
|
,x.RENDEZ2
|
|
,x.RENDEZ3
|
|
,x.RENDEZ4
|
|
,x.RENDEZ5
|
|
FROM (
|
|
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
|
|
,-2 AS RENDEZ1
|
|
,NULL AS RENDEZ2
|
|
,NULL AS RENDEZ3
|
|
,NULL AS RENDEZ4
|
|
,NULL AS RENDEZ5
|
|
FROM T_TANULOERTEKELES_OSSZES er
|
|
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = er.C_TANULOID
|
|
AND tcs.C_OSZTALYCSOPORTID = @osztalyId
|
|
AND tcs.C_BELEPESDATUM <= er.C_DATUM
|
|
AND (tcs.C_KILEPESDATUM > er.C_DATUM OR tcs.C_KILEPESDATUM IS NULL)
|
|
AND tcs.TOROLT = 'F'
|
|
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
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mao ON mao.ID = er.C_MAGATARTASOSZTALYZATID AND mao.C_TANEVID = er.C_TANEVID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mag ON mag.ID = er.C_MAGATARTASERTEKID AND mag.C_TANEVID = er.C_TANEVID
|
|
WHERE KilepesDatum > er.C_DATUM
|
|
AND (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
|
|
-- AND er.C_OSZTALYCSOPORTID IN (SELECT ID FROM @kapcsolodoOcsID)
|
|
|
|
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, szg.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, szg.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_SZORGALOMOSZTALYZATID, @tanevId)))) AS ErtekelesJegyzettel
|
|
,NULL AS Oraszam
|
|
,-1 AS RENDEZ1
|
|
,NULL AS RENDEZ2
|
|
,NULL AS RENDEZ3
|
|
,NULL AS RENDEZ4
|
|
,NULL AS RENDEZ5
|
|
FROM T_TANULOERTEKELES_OSSZES er
|
|
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = er.C_TANULOID
|
|
AND tcs.C_OSZTALYCSOPORTID = @osztalyId
|
|
AND tcs.C_BELEPESDATUM <= er.C_DATUM
|
|
AND (tcs.C_KILEPESDATUM > er.C_DATUM OR tcs.C_KILEPESDATUM IS NULL)
|
|
AND tcs.TOROLT = 'F'
|
|
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
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szo ON szo.ID = er.C_SZORGALOMOSZTALYZATID AND szo.C_TANEVID = er.C_TANEVID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szg ON szg.ID = er.C_SZORGALOMERTEKID AND szg.C_TANEVID = er.C_TANEVID
|
|
WHERE dk.KilepesDatum > er.C_DATUM
|
|
AND (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
|
|
--- AND TipusId = @ertekelesTipus --????
|
|
UNION ALL
|
|
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 'Jó(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
|
|
,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
|
|
FROM T_TANULOERTEKELES_OSSZES er
|
|
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = er.C_TANULOID
|
|
AND tcs.C_OSZTALYCSOPORTID = @osztalyId
|
|
AND tcs.C_BELEPESDATUM <= er.C_DATUM
|
|
AND (tcs.C_KILEPESDATUM > er.C_DATUM OR tcs.C_KILEPESDATUM IS NULL)
|
|
AND tcs.TOROLT = 'F'
|
|
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'
|
|
AND ocs.C_TANEVID = @tanevId
|
|
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'
|
|
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = er.C_TANTARGYID AND tgy.TOROLT = 'F'
|
|
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 kat.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 = 7553
|
|
LEFT JOIN (
|
|
SELECT cs.ID
|
|
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
|
|
WHERE er.C_TIPUSID = @ertekelesTipus
|
|
AND dk.KilepesDatum > er.C_DATUM
|
|
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 (cs.ID IS NOT NULL OR er.C_OSZTALYCSOPORTID = @osztalyId)
|
|
) x
|
|
|
|
END
|
|
ELSE BEGIN -- A művészeti csoportos lekérdezés maradt a régi, elvileg nem használják már, mert ott az ami, de azért ez nagy bizonyossággal nem jelenthető ki.
|
|
CREATE TABLE #ErtekelesekTemp (
|
|
ErtekelesId int primary key 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)
|
|
,RENDEZ1 int
|
|
,RENDEZ2 nvarchar(max)
|
|
,RENDEZ3 int
|
|
,RENDEZ4 int
|
|
,RENDEZ5 nvarchar(max)
|
|
)
|
|
|
|
INSERT INTO #ErtekelesekTemp
|
|
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
|
|
,NULL
|
|
,NULL
|
|
,TargyKategoriaId
|
|
,FotargyE
|
|
,Altantargy
|
|
,FotargyId
|
|
,ErtekelesTema
|
|
,ErtekeloId
|
|
,ErtekelesModjaId
|
|
,IsMagatartasSzorgalom
|
|
,Jeloles
|
|
,JelolesAndErtekelesTema
|
|
,RENDEZ1
|
|
,RENDEZ2
|
|
,RENDEZ3
|
|
,RENDEZ4
|
|
,RENDEZ5
|
|
FROM fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent (@tanevId, @osztalyId, DEFAULT, 0, DEFAULT, 2)
|
|
|
|
CREATE TABLE #temp (
|
|
TANULOID int
|
|
,TANULOCSOPORTID int
|
|
,TARGY nvarchar(max)
|
|
,Jegyzet nvarchar(max)
|
|
,Ertekeles nvarchar(max)
|
|
,ErtekelesValue int
|
|
,ErtekelesJegyzettel nvarchar(max)
|
|
,Oraszam FLOAT
|
|
,RENDEZ1 int
|
|
,RENDEZ2 nvarchar(max)
|
|
,RENDEZ3 int
|
|
,RENDEZ4 int
|
|
,RENDEZ5 nvarchar(max)
|
|
)
|
|
|
|
INSERT INTO #temp
|
|
SELECT
|
|
ErtekelesTemp.TanuloId AS TANULOID
|
|
,TanuloTable.TanuloCsoportId AS TanuloCsoportId
|
|
,@NyelvesitettMagatartasNev AS TARGY
|
|
,NULL
|
|
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, MagatartasErtek, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, MagatartasErtekId, @tanevId))), ISNULL(MagatartasSzovegFormazott, IIF(@nyomtatvanyNyelvEnum = 0, MagatartasOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, MagatartasOsztalyzatId, @tanevId))))
|
|
,NULL
|
|
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, MagatartasErtek, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, MagatartasErtekId, @tanevId))), ISNULL(MagatartasSzovegFormazott, IIF(@nyomtatvanyNyelvEnum = 0, MagatartasOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, MagatartasOsztalyzatId, @tanevId)))) AS ErtekelesJegyzettel
|
|
,NULL AS Oraszam
|
|
,-2
|
|
,RENDEZ2
|
|
,RENDEZ3
|
|
,RENDEZ4
|
|
,RENDEZ5
|
|
FROM #ErtekelesekTemp ErtekelesTemp
|
|
INNER JOIN #Tanulo TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
|
WHERE (KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
|
AND (MagatartasErtek IS NOT NULL OR MagatartasSzovegFormazott IS NOT NULL OR MagatartasOsztalyzatNev IS NOT NULL)
|
|
AND TipusId = @ertekelesTipus --????
|
|
|
|
INSERT INTO #TEMP
|
|
SELECT
|
|
ErtekelesTemp.TanuloId AS TANULOID
|
|
,TanuloTable.TanuloCsoportId AS TanuloCsoportId
|
|
,@NyelvesitettSzorgalomNev AS TARGY
|
|
,NULL
|
|
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, SzorgalomErtek, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, SzorgalomErtekId, @tanevId))), ISNULL(SzorgalomSzovegFormazott, IIF(@nyomtatvanyNyelvEnum = 0, SzorgalomOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, SzorgalomOsztalyzatId, @tanevId))))
|
|
,NULL
|
|
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, SzorgalomErtek, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, SzorgalomErtekId, @tanevId))), ISNULL(SzorgalomSzovegFormazott, IIF(@nyomtatvanyNyelvEnum = 0, SzorgalomOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, SzorgalomOsztalyzatId, @tanevId)))) AS ErtekelesJegyzettel
|
|
,NULL AS Oraszam
|
|
,-1
|
|
,RENDEZ2
|
|
,RENDEZ3
|
|
,RENDEZ4
|
|
,RENDEZ5
|
|
FROM #ErtekelesekTemp ErtekelesTemp
|
|
INNER JOIN #Tanulo TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
|
WHERE (KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
|
AND (SzorgalomErtek IS NOT NULL OR SzorgalomSzovegFormazott IS NOT NULL OR SzorgalomOsztalyzatNev IS NOT NULL)
|
|
AND TipusId = @ertekelesTipus --????
|
|
INSERT INTO #TEMP
|
|
SELECT
|
|
ErtekelesTemp.TanuloId AS TANULOID
|
|
,TanuloTable.TanuloCsoportId AS TanuloCsoportId
|
|
,CASE
|
|
WHEN @nyomtatvanyNyelvEnum = 0 THEN
|
|
ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev)
|
|
WHEN @nyomtatvanyNyelvEnum = 1 THEN
|
|
ISNULL(TantargyNemetNev, ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev))
|
|
WHEN @nyomtatvanyNyelvEnum = 2 THEN
|
|
ISNULL(TantargyAngolNev, ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev))
|
|
END AS TARGY
|
|
,ErtekelesTemp.ErtekelesTema
|
|
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, ErtekelesTemp.ErtekelesOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, ErtekelesTemp.ErtekelesOsztalyzatId, @tanevId))), ISNULL(ErtekelesTemp.ErtekelesSzovegFormazott, CONVERT(nvarchar(max),ErtekelesTemp.ErtekelesSzazalek)))
|
|
,ErtekelesTemp.ErtekelesOsztalyzatValue
|
|
,CASE
|
|
WHEN TargyKategoriaId = 7688 AND ErtekelesOsztalyzatId IS NOT NULL THEN
|
|
CASE
|
|
WHEN ErtekelesTemp.ErtekelesOsztalyzatId = 1502 THEN 'Hanyag(2)'
|
|
WHEN ErtekelesTemp.ErtekelesOsztalyzatId = 1503 THEN 'Változó(3)'
|
|
WHEN ErtekelesTemp.ErtekelesOsztalyzatId = 1504 THEN 'Jó(4)'
|
|
WHEN ErtekelesTemp.ErtekelesOsztalyzatId = 1505 THEN 'Példás(5)'
|
|
END
|
|
ELSE ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, ErtekelesTemp.ErtekelesOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, ErtekelesTemp.ErtekelesOsztalyzatId, @tanevId))), ISNULL(ErtekelesTemp.ErtekelesSzovegFormazott, CONVERT(nvarchar(max),ErtekelesTemp.ErtekelesSzazalek))) + IIF(ErtekelesTemp.ErtekelesTema IS NULL, '', +' * ' + ErtekelesTemp.ErtekelesTema)
|
|
END AS ErtekelesJegyzettel
|
|
,Oraszam AS Oraszam
|
|
,RENDEZ1
|
|
,RENDEZ2
|
|
,RENDEZ3
|
|
,RENDEZ4
|
|
,RENDEZ5
|
|
FROM #ErtekelesekTemp ErtekelesTemp
|
|
INNER JOIN #Tanulo TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
|
LEFT JOIN #Oraszamok OraszamTable ON OraszamTable.Tantargy = ErtekelesTemp.TantargyId AND OraszamTable.TanuloId = ErtekelesTemp.TanuloId
|
|
WHERE ErtekelesTemp.TipusId = @ertekelesTipus
|
|
AND (ErtekelesTemp.FotargyE = 'T' OR ErtekelesTemp.Altantargy = 'T')
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
|
AND ErtekelesTemp.TargyKategoriaId <> 1248
|
|
AND ErtekelesTemp.isMagatartasSzorgalom = 'F'
|
|
|
|
SELECT
|
|
TANULOID
|
|
,TanuloCsoportId
|
|
,TARGY
|
|
,Jegyzet
|
|
,REPLACE(Ertekeles, '(', ' (') AS Ertekeles
|
|
,ErtekelesValue
|
|
,REPLACE(ErtekelesJegyzettel, '(', ' (') AS ErtekelesJegyzettel
|
|
,Oraszam
|
|
,RENDEZ1
|
|
,RENDEZ2
|
|
,RENDEZ3
|
|
,RENDEZ4
|
|
,RENDEZ5
|
|
FROM #temp
|
|
ORDER BY RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
|
|
|
|
END
|
|
|
|
|
|
END
|
|
GO
|