184 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			184 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokJegyeiReszletezes
 | 
						|
DROP PROCEDURE IF EXISTS dbo.uspGetTanulokJegyeiReszletezes
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[uspGetTanulokJegyeiReszletezes]
 | 
						|
	 @OsztalyId		int
 | 
						|
	,@TanevId		int
 | 
						|
	,@isNemet		int = 0
 | 
						|
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
  SELECT DISTINCT 
 | 
						|
	   @osztalyId					OsztalyId
 | 
						|
	  ,ocs.C_NEV					OsztalyNev
 | 
						|
	  ,o.C_OSZTALYNAPLOLEIRASA	OsztalyMegjegyzes
 | 
						|
	  ,o.C_OSZTALYFONOKID			PartnerID
 | 
						|
	  ,ofo.C_NYOMTATASINEV		Osztalyfonok
 | 
						|
	  ,i.C_IGAZGATONEVE			IntezmenyVezeto
 | 
						|
	  ,i.C_NEV					IntezmenyNeve
 | 
						|
	  ,i.C_IRANYITOSZAM			IntezmenyIranyitoszam
 | 
						|
	  ,i.C_VAROS					IntezmenyVaros
 | 
						|
	  ,dbo.fnGetDokumentumIntezmenyCime(@tanevId)	IntezmenyCime
 | 
						|
	  ,i.C_OMKOD					IntezmenyOMKod
 | 
						|
  FROM T_OSZTALYCSOPORT_OSSZES ocs 
 | 
						|
  	INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
 | 
						|
  	LEFT  JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = o.C_OSZTALYFONOKID 
 | 
						|
  	INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F'
 | 
						|
  WHERE ocs.ID = @osztalyId
 | 
						|
 | 
						|
  SELECT 
 | 
						|
	   dbo.fnGetDokumentumDatumFormatum(Datum)										Datum
 | 
						|
	  ,CASE																			
 | 
						|
      WHEN (CAST(ErtekelesOsztalyzatValue AS NVARCHAR(MAX))  IS NOT NULL			
 | 
						|
			  OR ErtekelesSzovegFormazott IS NOT NULL								
 | 
						|
			  OR ErtekelesSzazalek IS NOT NULL)									
 | 
						|
		  THEN TantargyNevZarojellel													
 | 
						|
		  WHEN (CAST(MagatartasOsztalyzatNev AS NVARCHAR(MAX)) IS NOT NULL			
 | 
						|
				OR MagatartasErtek IS NOT NULL										
 | 
						|
				OR MagatartasSzovegFormazott IS NOT NULL)							
 | 
						|
		  THEN 'Magatartás'															
 | 
						|
		  WHEN (CAST(SzorgalomOsztalyzatNev AS NVARCHAR(MAX)) IS NOT NULL				
 | 
						|
				OR SzorgalomErtek IS NOT NULL										
 | 
						|
				OR SzorgalomSzovegFormazott IS NOT NULL)							
 | 
						|
		  THEN 'Szorgalom'															
 | 
						|
	   END AS 																		Tantargy
 | 
						|
	  ,ErtekelesTipusDictionary.C_NAME												ErtTip
 | 
						|
	  ,ErtekelesModjaDictionary.C_NAME												ErtMod											
 | 
						|
	  ,ErtekelesTable.ErtekelesTema																	Tema
 | 
						|
	  ,ErtekeloNeve.C_NYOMTATASINEV													ErtekeloNev	
 | 
						|
	  ,COALESCE(
 | 
						|
			   CAST(ErtekelesTable.ErtekelesOsztalyzatValue AS NVARCHAR(MAX))
 | 
						|
			    ,ErtekelesTable.ErtekelesSzoveg
 | 
						|
			    ,ErtekelesTable.ErtekelesSzazalek
 | 
						|
			    ,ErtekelesTable.MagatartasOsztalyzatNev
 | 
						|
			    ,ErtekelesTable.MagatartasErtek
 | 
						|
			    ,ErtekelesTable.MagatartasSzoveg
 | 
						|
			    ,ErtekelesTable.SzorgalomOsztalyzatNev
 | 
						|
			    ,ErtekelesTable.SzorgalomErtek
 | 
						|
			    ,ErtekelesTable.SzorgalomSzoveg
 | 
						|
    )																		Osztalyzat
 | 
						|
	  ,TanuloNeve.C_NYOMTATASINEV														TanuloNev
 | 
						|
	  ,TanuloNeve.C_NYOMTATASINEV + CAST(Tanulok.TanuloId AS NVARCHAR(MAX))	GroupParameter
 | 
						|
    ,Tanulok.TanuloId  AS TanuloId
 | 
						|
    ,TanuloNeve.C_OKTATASIAZONOSITO AS TanuloOktAzon
 | 
						|
    ,ErtekelesTable.ErtekeloId  AS ErtekeloId
 | 
						|
    ,ErtekeloNeve.C_OKTATASIAZONOSITO AS ErtekeloOktAzon
 | 
						|
    ,@OsztalyId AS OsztalyId
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(ErtekelesTable.RogzitesDatum) AS RogzitesDatum
 | 
						|
    ,ErtekelesTable.RENDEZ1 AS RENDEZ1
 | 
						|
    ,ErtekelesTable.RENDEZ2 AS RENDEZ2
 | 
						|
    ,ErtekelesTable.RENDEZ3 AS RENDEZ3
 | 
						|
    ,ErtekelesTable.RENDEZ4 AS RENDEZ4
 | 
						|
    ,ErtekelesTable.RENDEZ5 AS RENDEZ5
 | 
						|
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'F') AS Tanulok
 | 
						|
	  LEFT JOIN fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT) ErtekelesTable ON ErtekelesTable.TanuloId = Tanulok.TanuloId AND ErtekelesTable.IsMagatartasSzorgalom = 'F'
 | 
						|
	  LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
 | 
						|
	  LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesModjaDictionary.C_TANEVID = @TanevId
 | 
						|
	  LEFT JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId
 | 
						|
	  INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = Tanulok.TanuloId
 | 
						|
 | 
						|
  UNION
 | 
						|
 | 
						|
  SELECT 
 | 
						|
	   dbo.fnGetDokumentumDatumFormatum(Datum)										Datum
 | 
						|
	  ,'Magatartás'																	Tantargy
 | 
						|
	  ,ErtekelesTipusDictionary.C_NAME												ErtTip
 | 
						|
	  ,ErtekelesModjaDictionary.C_NAME												ErtMod											
 | 
						|
	  ,ErtekelesTema																	Tema
 | 
						|
	  ,ErtekeloNeve.C_NYOMTATASINEV													ErtekeloNev	
 | 
						|
	  ,COALESCE(
 | 
						|
			  ErtekelesTable.MagatartasOsztalyzatNev
 | 
						|
			  ,ErtekelesTable.MagatartasErtek
 | 
						|
			  ,ErtekelesTable.MagatartasSzoveg
 | 
						|
    )																		Osztalyzat
 | 
						|
	  ,TanuloNeve.C_NYOMTATASINEV														TanuloNev
 | 
						|
	  ,TanuloNeve.C_NYOMTATASINEV + CAST(Tanulok.TanuloId AS NVARCHAR(MAX))	GroupParameter
 | 
						|
    ,Tanulok.TanuloId  AS TanuloId
 | 
						|
    ,TanuloNeve.C_OKTATASIAZONOSITO AS TanuloOktAzon
 | 
						|
    ,ErtekelesTable.ErtekeloId  AS ErtekeloId
 | 
						|
    ,ErtekeloNeve.C_OKTATASIAZONOSITO AS ErtekeloOktAzon
 | 
						|
    ,@OsztalyId AS OsztalyId
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(ErtekelesTable.RogzitesDatum) AS RogzitesDatum
 | 
						|
    ,0 AS RENDEZ1
 | 
						|
    ,'' AS RENDEZ2
 | 
						|
    ,0 AS RENDEZ3
 | 
						|
    ,0 AS RENDEZ4
 | 
						|
    ,'' AS RENDEZ5
 | 
						|
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'F') AS Tanulok
 | 
						|
	  LEFT JOIN fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT) ErtekelesTable ON ErtekelesTable.TanuloId = Tanulok.TanuloId AND ErtekelesTable.IsMagatartasSzorgalom = 'T'
 | 
						|
	  LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
 | 
						|
	  LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesModjaDictionary.C_TANEVID = @TanevId
 | 
						|
	  LEFT JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId
 | 
						|
	  INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = Tanulok.TanuloId
 | 
						|
  WHERE 
 | 
						|
    MagatartasOsztalyzatNev IS NOT NULL OR MagatartasErtek IS NOT NULL OR MagatartasSzoveg IS NOT NULL
 | 
						|
 | 
						|
  UNION
 | 
						|
 | 
						|
  SELECT 
 | 
						|
	   dbo.fnGetDokumentumDatumFormatum(Datum)										Datum
 | 
						|
	  ,'Szorgalom'																	Tantargy
 | 
						|
	  ,ErtekelesTipusDictionary.C_NAME												ErtTip
 | 
						|
	  ,ErtekelesModjaDictionary.C_NAME												ErtMod											
 | 
						|
	  ,ErtekelesTema																	Tema
 | 
						|
	  ,ErtekeloNeve.C_NYOMTATASINEV													ErtekeloNev	
 | 
						|
	  ,COALESCE(			
 | 
						|
			  ErtekelesTable.SzorgalomOsztalyzatNev
 | 
						|
			  ,ErtekelesTable.SzorgalomErtek
 | 
						|
			  ,ErtekelesTable.SzorgalomSzoveg
 | 
						|
		)																		Osztalyzat
 | 
						|
	  ,TanuloNeve.C_NYOMTATASINEV														TanuloNev
 | 
						|
	  ,TanuloNeve.C_NYOMTATASINEV + CAST(Tanulok.TanuloId AS NVARCHAR(MAX))	GroupParameter
 | 
						|
    ,Tanulok.TanuloId  AS TanuloId
 | 
						|
    ,TanuloNeve.C_OKTATASIAZONOSITO AS TanuloOktAzon
 | 
						|
    ,ErtekelesTable.ErtekeloId  AS ErtekeloId
 | 
						|
    ,ErtekeloNeve.C_OKTATASIAZONOSITO AS ErtekeloOktAzon
 | 
						|
    ,@OsztalyId AS OsztalyId
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(ErtekelesTable.RogzitesDatum) AS RogzitesDatum
 | 
						|
	  ,1 AS RENDEZ1
 | 
						|
    ,'' AS RENDEZ2
 | 
						|
	  ,0 AS RENDEZ3
 | 
						|
	  ,0 AS RENDEZ4
 | 
						|
	  ,'' AS RENDEZ5
 | 
						|
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'F') AS Tanulok
 | 
						|
    LEFT JOIN fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT) ErtekelesTable ON ErtekelesTable.TanuloId = Tanulok.TanuloId AND ErtekelesTable.IsMagatartasSzorgalom = 'T'
 | 
						|
	  LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
 | 
						|
	  LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesModjaDictionary.C_TANEVID = @TanevId
 | 
						|
	  LEFT JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId
 | 
						|
	  INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = Tanulok.TanuloId
 | 
						|
  WHERE 
 | 
						|
    SzorgalomOsztalyzatNev IS NOT NULL	OR SzorgalomErtek IS NOT NULL OR SzorgalomSzoveg IS NOT NULL
 | 
						|
  ORDER BY TanuloNeve.C_NYOMTATASINEV, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5, Datum	
 | 
						|
 | 
						|
    /* Osztály adatok */
 | 
						|
  SELECT
 | 
						|
     o.ID AS OsztalyId
 | 
						|
    ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
 | 
						|
    ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
 | 
						|
    ,ocs.C_KEPZESIFORMA AS KepzesiForma
 | 
						|
    ,o.C_OSZTALYFONOKID AS OsztalyfonokId
 | 
						|
    ,o.C_TANTERVID AS TantervId
 | 
						|
    ,o.C_SZAKMACSOPORT AS SzakmaCsoport
 | 
						|
    ,o.C_AGAZAT AS Agazat
 | 
						|
    ,o.C_SZAKKEPESITES AS Szakkepesites
 | 
						|
    ,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
 | 
						|
	  ,ocs.C_KERESZTFELEVES	OJCSJKeresztfeleves
 | 
						|
	  ,ocs.C_VEGZOSEVFOLYAM	CSJVegzosEvfolyamu
 | 
						|
	  ,o.C_TECHNIKAIOSZTALY	OJTechnikaiOsztaly
 | 
						|
	  ,o.C_NEMZETISEGI		OJNemzetisegi
 | 
						|
	  ,o.C_KETTANNYELVU		OJKettannyelvu
 | 
						|
	  ,o.C_NYELVIELOKESZITO	OJNyelviElokeszito
 | 
						|
	  ,o.C_LOGOPEDIAI			OJLogopediai
 | 
						|
	  ,o.C_SPORT				OJSportOsztaly
 | 
						|
	  ,o.C_AJPROGRAM			OJAranyJanosProgram
 | 
						|
	  ,o.C_GYOGYPEDAGOGIAI	OJGyogypedagogiai
 | 
						|
  FROM T_OSZTALY_OSSZES AS o
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
 | 
						|
  WHERE o.ID = @OsztalyId
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
GO |