407 lines
18 KiB
Transact-SQL
407 lines
18 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[uspGetDokumentumErtekelesek]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[uspGetDokumentumErtekelesek]
|
|
@osztalyId int
|
|
,@tanevId int
|
|
,@ertekelesTipus int
|
|
,@isBizonyitvany int = 0
|
|
,@nyomtatvanyNyelvEnum int = 0
|
|
,@isMuveszetOktatasi bit = 0
|
|
,@tanitasiHetekSzamaVegzos int = 32
|
|
,@tanitasiHetekSzamaNemVegzos int = 36
|
|
,@isAltantargyBeszamitasa bit = 0
|
|
,@idegenNyelvId int = 0
|
|
,@szorgalomErtekelesTipusTypeID int = 51
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @sql nvarchar(MAX)
|
|
|
|
--PRINT 'Osztályhoz tartozó tanulók'
|
|
CREATE TABLE #Tanulo (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,BelepesDatum date
|
|
,KilepesDatum date
|
|
,PRIMARY KEY (TanuloId, BelepesDatum, TanuloCsoportId)
|
|
)
|
|
|
|
INSERT INTO #Tanulo
|
|
SELECT
|
|
C_TANULOID AS TanuloId
|
|
,ID AS TanuloCsoportId
|
|
,C_BELEPESDATUM AS BelepesDatum
|
|
,ISNULL(C_KILEPESDATUM, '22000101') AS KilepesDatum
|
|
FROM T_TANULOCSOPORT_OSSZES tanuloCsoport
|
|
WHERE C_OSZTALYCSOPORTID = @osztalyId
|
|
AND C_TANEVID = @tanevId
|
|
AND TOROLT = 'F'
|
|
|
|
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)
|
|
|
|
DECLARE @feladatKategoriaId int
|
|
SET @feladatKategoriaId = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES ocs WHERE ID = @osztalyId AND TOROLT = 'F')
|
|
SET @sql = N'
|
|
DECLARE
|
|
|
|
@nyelvesitettMagatartasNev nvarchar(max) = CASE @nyomtatvanyNyelvEnum WHEN 0 THEN ''Magatartás'' 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
|
|
|
|
SELECT
|
|
x.TANULOID
|
|
,x.TanuloCsoportId
|
|
,x.TARGY
|
|
,x.Jegyzet
|
|
,REPLACE(Ertekeles, ''('', '' ('') AS Ertekeles
|
|
,x.ErtekelesValue
|
|
,REPLACE(ErtekelesJegyzettel, ''('', '' ('') AS ErtekelesJegyzettel
|
|
,x.Oraszam
|
|
,x.RENDEZ0
|
|
,x.RENDEZ1
|
|
,x.RENDEZ2
|
|
,x.RENDEZ3
|
|
,x.RENDEZ4
|
|
,x.RENDEZ5
|
|
/*nemzetiségi törzslaphoz kell*/
|
|
,ErtekelesTema
|
|
,ErtekelesSzovegIdegenNyelven
|
|
,ErtekelesValueIdegenNyelven
|
|
,ErtekelesOsztalyzatIdegenNyelven
|
|
,ErtekelesSzazalek
|
|
,Jeloles
|
|
,TantargyNevIdegenNyelven
|
|
,TantargyNevMagyarul
|
|
/**/
|
|
,x.TantargyId
|
|
FROM ('
|
|
|
|
IF @isMuveszetOktatasi = 0 BEGIN
|
|
SET @sql += N'
|
|
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
|
|
,0 AS RENDEZ0
|
|
,-2 AS RENDEZ1
|
|
,NULL AS RENDEZ2
|
|
,NULL AS RENDEZ3
|
|
,NULL AS RENDEZ4
|
|
,NULL AS RENDEZ5
|
|
/*nemzetiségi törzslaphoz kell*/
|
|
,erny.C_ERTEKELESTEMA AS ErtekelesTema
|
|
,erny.C_ERTEKELESSZOVEG AS ErtekelesSzovegIdegenNyelven
|
|
,magny.C_NAME AS ErtekelesValueIdegenNyelven
|
|
,maony.C_NAME AS ErtekelesOsztalyzatIdegenNyelven
|
|
,er.C_ERTEKELESSZAZALEK AS ErtekelesSzazalek
|
|
,NULL AS Jeloles
|
|
,IIF(@idegenNyelvId = 507, ''Betragen'', ''Magatartás'') AS TantargyNevIdegenNyelven
|
|
,''Magatartás'' AS TantargyNevMagyarul
|
|
/**/
|
|
,-2 as TantargyId
|
|
FROM T_TANULOERTEKELES_OSSZES er
|
|
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
|
|
AND er.C_DATUM BETWEEN dk.BelepesDatum AND dk.KilepesDatum
|
|
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
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = er.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mao ON mao.ID = er.C_MAGATARTASOSZTALYZATID AND mao.C_TANEVID = er.C_TANEVID AND mao.TOROLT = ''F''
|
|
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES maony ON maony.C_DICTIONARYITEMBASEID = er.C_MAGATARTASOSZTALYZATID AND maony.C_TANEVID = @tanevId AND maony.C_NYELVID = @idegenNyelvId AND maony.TOROLT = ''F''
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mag ON mag.ID = er.C_MAGATARTASERTEKID AND mag.C_TANEVID = er.C_TANEVID AND mag.TOROLT = ''F''
|
|
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES magny ON magny.C_DICTIONARYITEMBASEID = er.C_MAGATARTASERTEKID AND magny.C_TANEVID = @tanevId AND magny.C_NYELVID = @idegenNyelvId AND magny.TOROLT = ''F''
|
|
LEFT JOIN T_TANULOERTEKELESNYELV_OSSZES erny ON erny.C_TANULOERTEKELESID = er.ID AND erny.C_NYELVID = @idegenNyelvId AND erny.TOROLT = ''F''
|
|
WHERE (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
|
|
|
|
UNION
|
|
|
|
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
|
|
,szo.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
|
|
,szo.C_NAME
|
|
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_SZORGALOMOSZTALYZATID, @tanevId)
|
|
)
|
|
)
|
|
) AS ErtekelesJegyzettel
|
|
,NULL AS Oraszam
|
|
,0 AS RENDEZ0
|
|
,-1 AS RENDEZ1
|
|
,NULL AS RENDEZ2
|
|
,NULL AS RENDEZ3
|
|
,NULL AS RENDEZ4
|
|
,NULL AS RENDEZ5
|
|
/*nemzetiségi törzslaphoz kell*/
|
|
,erny.C_ERTEKELESTEMA AS ErtekelesTema
|
|
,erny.C_ERTEKELESSZOVEG AS ErtekelesSzovegIdegenNyelven
|
|
,szgny.C_NAME
|
|
,szony.C_NAME
|
|
,er.C_ERTEKELESSZAZALEK AS ErtekelesSzazalek
|
|
,NULL AS Jeloles
|
|
,IIF(@idegenNyelvId = 507, ''Fleiss'', ''Szorgalom'') AS TantargyNevIdegenNyelven
|
|
,''Szorgalom'' AS TantargyNevMagyarul
|
|
/**/
|
|
,-1 as TantargyId
|
|
FROM T_TANULOERTEKELES_OSSZES er
|
|
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
|
|
AND er.C_DATUM BETWEEN dk.BelepesDatum AND dk.KilepesDatum
|
|
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
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = er.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szo ON szo.ID = er.C_SZORGALOMOSZTALYZATID AND szo.C_TANEVID = er.C_TANEVID AND szo.TOROLT = ''F''
|
|
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES szony ON szony.C_DICTIONARYITEMBASEID = er.C_SZORGALOMOSZTALYZATID AND szony.C_TANEVID = @tanevId and szony.C_NYELVID = @idegenNyelvId AND szony.TOROLT = ''F''
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szg ON szg.ID = er.C_SZORGALOMERTEKID AND szg.C_TANEVID = er.C_TANEVID AND szg.TOROLT = ''F''
|
|
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES szgny ON szgny.C_DICTIONARYITEMBASEID = er.C_SZORGALOMERTEKID AND szgny.C_TANEVID = er.C_TANEVID AND szgny.C_NYELVID = @idegenNyelvId AND szgny.TOROLT = ''F''
|
|
LEFT JOIN T_TANULOERTEKELESNYELV_OSSZES erny ON erny.C_TANULOERTEKELESID = er.ID AND erny.C_NYELVID = @idegenNyelvId AND erny.TOROLT = ''F''
|
|
WHERE (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
|
|
|
|
UNION
|
|
'
|
|
END
|
|
SET @sql += N'
|
|
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
|
|
,CASE
|
|
WHEN tgy.C_TARGYKATEGORIA = 7688 AND er.C_ERTEKELESOSZTALYZATID IS NOT NULL THEN
|
|
IIF(@nyomtatvanyNyelvEnum = 0
|
|
,szorgkatjegy.C_NAME
|
|
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, szorgkatjegy.ID, @tanevId)
|
|
)
|
|
+ ''('' + CONVERT(nvarchar(max), jegy.C_VALUE) + '')''
|
|
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)
|
|
)
|
|
)
|
|
END AS Ertekeles
|
|
,jegy.C_VALUE AS ErtekelesValue
|
|
,CASE
|
|
WHEN tgy.C_TARGYKATEGORIA = 7688 AND er.C_ERTEKELESOSZTALYZATID IS NOT NULL THEN
|
|
IIF(@nyomtatvanyNyelvEnum = 0
|
|
,szorgkatjegy.C_NAME
|
|
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, szorgkatjegy.ID, @tanevId)
|
|
)
|
|
+ ''('' + CONVERT(nvarchar(max), jegy.C_VALUE) + '')''
|
|
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
|
|
,tgy.C_SORSZAM as RENDEZ0
|
|
,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
|
|
/*nemzetiségi törzslaphoz kell*/
|
|
,erny.C_ERTEKELESTEMA AS ErtekelesTema
|
|
,erny.C_ERTEKELESSZOVEG AS ErtekelesSzovegIdegenNyelven
|
|
,NULL AS ErtekelesValueIdegenNyelven
|
|
,jegyny.C_NAME AS ErtekelesOsztalyzatIdegenNyelven
|
|
,er.C_ERTEKELESSZAZALEK AS ErtekelesSzazalek
|
|
,'''' AS Jeloles
|
|
,tnyelv.C_NEV AS TantargyNevIdegenNyelven
|
|
,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 TantargynevMagyarul
|
|
/**/
|
|
,er.C_TANTARGYID as TantargyId
|
|
FROM T_TANULOERTEKELES_OSSZES er
|
|
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
|
|
AND er.C_DATUM BETWEEN dk.BelepesDatum AND dk.KilepesDatum
|
|
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''
|
|
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''
|
|
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES jegyny ON jegyny.C_DICTIONARYITEMBASEID = er.C_ERTEKELESOSZTALYZATID
|
|
AND jegyny.C_TANEVID = er.C_TANEVID
|
|
AND jegyny.TOROLT = ''F''
|
|
AND jegyny.C_NYELVID = @idegenNyelvId
|
|
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = er.C_TANTARGYID AND tgy.TOROLT = ''F''
|
|
LEFT JOIN T_TANTARGYNYELV_OSSZES tnyelv ON tnyelv.C_TANTARGYID = tgy.ID AND tnyelv.TOROLT = ''F'' AND tnyelv.C_NYELVID = @idegenNyelvId
|
|
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 fokat.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 = @feladatKategoriaId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgkatjegy ON szorgkatjegy.C_VALUE = (jegy.C_VALUE - 1)
|
|
AND szorgkatjegy.TOROLT = ''F''
|
|
AND szorgkatjegy.C_TANEVID = jegy.C_TANEVID
|
|
AND szorgkatjegy.C_DICTIONARYTYPEID = @szorgalomErtekelesTipusTypeID'
|
|
IF @isMuveszetOktatasi = 0 BEGIN
|
|
SET @sql += N'
|
|
LEFT JOIN (
|
|
SELECT cs.ID, cs.C_OSZTALYBONTASID
|
|
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 AND (cs.C_OSZTALYBONTASID IS NULL OR cs.C_OSZTALYBONTASID = @osztalyId)'
|
|
END
|
|
ELSE BEGIN
|
|
IF @feladatKategoriaId = 7555 BEGIN
|
|
SET @sql += N'
|
|
INNER JOIN T_CSOPORT_OSSZES muvcsoport ON muvcsoport.ID = er.C_OSZTALYCSOPORTID AND muvcsoport.TOROLT = ''F'' AND muvcsoport.C_ALTANEVID = er.C_TANEVID
|
|
INNER JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = muvcsoport.C_TIPUSA AND muvcsoport.C_ALTANEVID = cst.C_ALTANEVID AND cst.TOROLT = ''F''
|
|
'
|
|
END
|
|
END
|
|
SET @sql += N'
|
|
LEFT JOIN T_TANULOERTEKELESNYELV_OSSZES erny ON erny.C_TANULOERTEKELESID = er.ID AND erny.C_NYELVID = @idegenNyelvId AND erny.TOROLT = ''F''
|
|
WHERE er.C_TIPUSID = @ertekelesTipus
|
|
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 ('
|
|
IF @isMuveszetOktatasi = 0 BEGIN
|
|
SET @sql += 'cs.ID IS NOT NULL OR '
|
|
END
|
|
SET @sql += N'er.C_OSZTALYCSOPORTID = @osztalyId)
|
|
) x'
|
|
|
|
EXEC sp_executesql @sql
|
|
,N'@osztalyId int
|
|
,@tanevId int
|
|
,@ertekelesTipus int
|
|
,@isBizonyitvany int
|
|
,@nyomtatvanyNyelvEnum int
|
|
,@tanitasiHetekSzamaVegzos int
|
|
,@tanitasiHetekSzamaNemVegzos int
|
|
,@isAltantargyBeszamitasa bit
|
|
,@idegenNyelvId int
|
|
,@szorgalomErtekelesTipusTypeID int
|
|
,@feladatKategoriaId int'
|
|
,@osztalyId = @osztalyId
|
|
,@tanevId = @tanevId
|
|
,@ertekelesTipus = @ertekelesTipus
|
|
,@isBizonyitvany = @isBizonyitvany
|
|
,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
|
|
,@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos
|
|
,@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos
|
|
,@isAltantargyBeszamitasa = @isAltantargyBeszamitasa
|
|
,@idegenNyelvId = @idegenNyelvId
|
|
,@szorgalomErtekelesTipusTypeID = @szorgalomErtekelesTipusTypeID
|
|
,@feladatKategoriaId = @feladatKategoriaId
|
|
|
|
END
|
|
GO
|