378 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			378 lines
		
	
	
		
			16 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
 | 
						|
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)
 | 
						|
  	    	
 | 
						|
  SET @sql = N'
 | 
						|
  DECLARE 
 | 
						|
     @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES ocs WHERE ID = @osztalyId AND TOROLT = ''F'')
 | 
						|
    ,@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
 | 
						|
	  /**/
 | 
						|
      ,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
 | 
						|
        ,NULL AS TantargyNevIdegenNyelven
 | 
						|
        /**/
 | 
						|
        ,-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 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
 | 
						|
              ,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
 | 
						|
        ,NULL AS TanatargyNevIdegenNyelven
 | 
						|
        /**/
 | 
						|
        ,-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 ALL
 | 
						|
      '
 | 
						|
    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
 | 
						|
        ,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
 | 
						|
        ,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
 | 
						|
	      /**/
 | 
						|
        ,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'
 | 
						|
      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
 | 
						|
      SET @sql += N'
 | 
						|
        INNER JOIN T_CSOPORT_OSSZES muvcsoport ON muvcsoport.ID = er.C_OSZTALYCSOPORTID 
 | 
						|
          AND (muvcsoport.C_TIPUSA BETWEEN 1067 AND 1071 OR muvcsoport.C_TIPUSA BETWEEN 6756 AND 6761)
 | 
						|
          AND muvcsoport.TOROLT = ''F'' AND muvcsoport.C_ALTANEVID = er.C_TANEVID'
 | 
						|
      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'
 | 
						|
  ,@osztalyId = @osztalyId
 | 
						|
  ,@tanevId = @tanevId
 | 
						|
  ,@ertekelesTipus = @ertekelesTipus
 | 
						|
  ,@isBizonyitvany = @isBizonyitvany
 | 
						|
  ,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
 | 
						|
  ,@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos
 | 
						|
  ,@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos
 | 
						|
  ,@isAltantargyBeszamitasa = @isAltantargyBeszamitasa
 | 
						|
  ,@idegenNyelvId = @idegenNyelvId
 | 
						|
END
 | 
						|
GO
 | 
						|
 |