80 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('[dbo].[sp_GetFaliujsagBejegyzesek]') IS NOT NULL 
 | 
						|
BEGIN
 | 
						|
	DROP PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek] 
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
-- =============================================
 | 
						|
-- Description:	<Felhasználóhoz tartozó faliújságbejegyzések és tanévrendje események lekérdezése>
 | 
						|
-- =============================================
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek]
 | 
						|
	 @pUserId								INT
 | 
						|
	,@pDate									DATE
 | 
						|
	,@pEsemenyTipusFaliujsagBejegyzes		INT
 | 
						|
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
 | 
						|
	-- SET NOCOUNT ON added to prevent extra result sets from
 | 
						|
	-- interfering with SELECT statements.
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
	SELECT 
 | 
						|
		 T_TANULOESEMENY.ID							ID
 | 
						|
		,T_TANULOESEMENY.C_KEZDETE					Erv_kezd
 | 
						|
		,T_TANULOESEMENY.C_TARGY					Cim
 | 
						|
		,T_TANULOESEMENY.C_TARTALOM					Szoveg
 | 
						|
		,T_FELHASZNALO.C_NYOMTATASINEV				Bejegyzo
 | 
						|
		,T_FELHASZNALO.C_PROFILKEP					ProfilKep
 | 
						|
		,Statusz.StatuszId							Munkakor
 | 
						|
	FROM
 | 
						|
		T_TANULOESEMENY
 | 
						|
	INNER JOIN 
 | 
						|
		T_FELHASZNALO ON 
 | 
						|
			T_TANULOESEMENY.C_FELJEGYZOID = T_FELHASZNALO.ID
 | 
						|
	LEFT JOIN
 | 
						|
		(SELECT
 | 
						|
			 C_ALKALMAZOTTID								userId
 | 
						|
			,MAX(T_MUNKAUGYIADATOK.C_MUNKAKORTIPUSA)		StatuszId 
 | 
						|
		FROM 
 | 
						|
			T_MUNKAUGYIADATOK
 | 
						|
		WHERE 
 | 
						|
			T_MUNKAUGYIADATOK.TOROLT = 'F' 
 | 
						|
		GROUP BY 
 | 
						|
			C_ALKALMAZOTTID) Statusz ON 
 | 
						|
		Statusz.userId = T_FELHASZNALO.ID
 | 
						|
	LEFT JOIN 
 | 
						|
		T_TANULO_TANULOESEMENY ON 
 | 
						|
				T_TANULO_TANULOESEMENY.C_TANULOID = @pUserId 
 | 
						|
			AND T_TANULO_TANULOESEMENY.C_TANULOESEMENYID = T_TANULOESEMENY.ID
 | 
						|
	LEFT JOIN 
 | 
						|
		T_OSZTALYCSOPORT_TANULOESEMENY ON 
 | 
						|
			T_OSZTALYCSOPORT_TANULOESEMENY.C_OSZTALYCSOPORTID IN
 | 
						|
				(SELECT 
 | 
						|
					C_OSZTALYCSOPORTID 
 | 
						|
				FROM 
 | 
						|
					T_TANULOCSOPORT 
 | 
						|
				WHERE 
 | 
						|
						T_TANULOCSOPORT.C_TANULOID = @pUserId
 | 
						|
					AND T_TANULOCSOPORT.C_BELEPESDATUM <= @pDate
 | 
						|
					AND (T_TANULOCSOPORT.C_KILEPESDATUM >= @pDate OR T_TANULOCSOPORT.C_KILEPESDATUM IS NULL)) 
 | 
						|
			AND T_OSZTALYCSOPORT_TANULOESEMENY.C_TANULOESEMENYID = T_TANULOESEMENY.ID
 | 
						|
	WHERE 
 | 
						|
			(T_TANULOESEMENY.C_MINDENKINEK = 'T' OR T_OSZTALYCSOPORT_TANULOESEMENY.C_OSZTALYCSOPORTID IS NOT NULL OR T_TANULO_TANULOESEMENY.C_TANULOID = @pUserId)
 | 
						|
		AND T_TANULOESEMENY.C_KEZDETE <= @pDate
 | 
						|
		AND (T_TANULOESEMENY.C_VEGE IS NULL OR T_TANULOESEMENY.C_VEGE >= @pDate)
 | 
						|
		AND T_TANULOESEMENY.TOROLT = 'F'
 | 
						|
		AND (T_TANULOESEMENY.C_FALIUJSAGMEGJELENES = 'T' AND T_TANULO_TANULOESEMENY.C_TANULOID = @pUserId OR T_TANULOESEMENY.C_TIPUS = @pEsemenyTipusFaliujsagBejegyzes)
 | 
						|
	ORDER BY T_TANULOESEMENY.C_KEZDETE DESC
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
 |