437 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			437 lines
		
	
	
		
			20 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, 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'
 | 
						|
  
 | 
						|
 | 
						|
  DECLARE 
 | 
						|
     @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT ocs WHERE ID = @osztalyId)
 | 
						|
    ,@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 
 | 
						|
          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
 | 
						|
        LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mag ON mag.ID = er.C_MAGATARTASERTEKID AND mag.C_TANEVID = er.C_TANEVID
 | 
						|
      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
 | 
						|
    --    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 
 | 
						|
          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
 | 
						|
        LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szg ON szg.ID = er.C_SZORGALOMERTEKID AND szg.C_TANEVID = er.C_TANEVID
 | 
						|
      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
 | 
						|
     ---   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 
 | 
						|
          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'
 | 
						|
        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 = @feladatKategoriaId
 | 
						|
        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 (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
 | 
						|
 | 
						|
 |