174 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			174 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokJegyeiReszletezes
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetTanulokJegyeiReszletezes]
 | 
						|
	@OsztalyId		INT,
 | 
						|
	@TanevId		INT,
 | 
						|
	@isNemet		BIT = 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 ErtekelesSzoveg 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 MagatartasSzoveg IS NOT NULL)									--
 | 
						|
		THEN 'Magatartás'															--
 | 
						|
		WHEN (CAST(SzorgalomOsztalyzatNev AS NVARCHAR(MAX)) IS NOT NULL				--
 | 
						|
				OR SzorgalomErtek IS NOT NULL										--
 | 
						|
				OR SzorgalomSzoveg 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
 | 
						|
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
 | 
						|
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
 | 
						|
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, Datum	
 | 
						|
 | 
						|
    /* Osztály adatok */
 | 
						|
  SELECT
 | 
						|
    o.ID AS OsztalyId
 | 
						|
    ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
 | 
						|
    ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
 | 
						|
    ,o.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 |