160 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			4.8 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
 | 
						|
 | 
						|
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' OR T_TANULOESEMENY.C_TIPUS = 5483)
 | 
						|
 | 
						|
	UNION
 | 
						|
 | 
						|
	SELECT 
 | 
						|
		 T_FALIUJSAGBEJEGYZES.ID					ID
 | 
						|
		,T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE	Erv_kezd
 | 
						|
		,T_FALIUJSAGBEJEGYZES.C_CIM					Cim
 | 
						|
		,T_FALIUJSAGBEJEGYZES.C_BEJEGYZES			Szoveg
 | 
						|
		,T_FELHASZNALO.C_NYOMTATASINEV				Bejegyzo
 | 
						|
		,T_FELHASZNALO.C_PROFILKEP					ProfilKep
 | 
						|
		,Statusz.StatuszId							Munkakor
 | 
						|
	FROM 
 | 
						|
		T_FALIUJSAGBEJEGYZES
 | 
						|
	INNER JOIN 
 | 
						|
		T_FELHASZNALO ON 
 | 
						|
			T_FALIUJSAGBEJEGYZES.C_BEJEGYZOID = 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_CIMZETT_FALIUJSAGBEJEGYZES ON 
 | 
						|
			T_FALIUJSAGBEJEGYZES.ID = T_CIMZETT_FALIUJSAGBEJEGYZES.C_FALIUJSAGBEJEGYZESID
 | 
						|
	WHERE 
 | 
						|
			(T_FALIUJSAGBEJEGYZES.C_GLOBALIS = 'T' OR T_CIMZETT_FALIUJSAGBEJEGYZES.C_CIMZETTID = @pUserId)
 | 
						|
		AND T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE <= @pDate
 | 
						|
		AND (T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE IS NULL OR T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE >= @pDate)
 | 
						|
		AND T_FALIUJSAGBEJEGYZES.TOROLT = 'F'
 | 
						|
 | 
						|
	UNION
 | 
						|
 | 
						|
	SELECT 
 | 
						|
		 T_FALIUJSAGBEJEGYZES.ID					ID
 | 
						|
		,T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE	Erv_kezd
 | 
						|
		,T_FALIUJSAGBEJEGYZES.C_CIM					Cim
 | 
						|
		,T_FALIUJSAGBEJEGYZES.C_BEJEGYZES			Szoveg
 | 
						|
		,T_FELHASZNALO.C_NYOMTATASINEV				Bejegyzo
 | 
						|
		,T_FELHASZNALO.C_PROFILKEP					ProfilKep
 | 
						|
		,Statusz.StatuszId							Munkakor
 | 
						|
	FROM 
 | 
						|
		T_FALIUJSAGBEJEGYZES
 | 
						|
	INNER JOIN 
 | 
						|
		T_FELHASZNALO ON 
 | 
						|
			T_FALIUJSAGBEJEGYZES.C_BEJEGYZOID = 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
 | 
						|
	WHERE 
 | 
						|
		EXISTS (
 | 
						|
			SELECT 1 
 | 
						|
			FROM 
 | 
						|
				T_TANULOCSOPORT
 | 
						|
			INNER JOIN T_OSZTALYCSOPORT_FALIUJSAGBEJE ON 
 | 
						|
				T_TANULOCSOPORT.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_FALIUJSAGBEJE.C_OSZTALYCSOPORTID
 | 
						|
			WHERE 
 | 
						|
					T_TANULOCSOPORT.TOROLT = 'F'
 | 
						|
				AND T_TANULOCSOPORT.C_TANULOID = @pUserId
 | 
						|
				AND T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
 | 
						|
				AND (T_TANULOCSOPORT.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())
 | 
						|
				AND T_OSZTALYCSOPORT_FALIUJSAGBEJE.C_FALIUJSAGBEJEGYZESID = T_FALIUJSAGBEJEGYZES.ID
 | 
						|
		)
 | 
						|
		AND T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE <= @pDate
 | 
						|
		AND (T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE IS NULL OR T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE >= @pDate)
 | 
						|
		AND T_FALIUJSAGBEJEGYZES.TOROLT = 'F'
 | 
						|
 | 
						|
	ORDER BY 
 | 
						|
		Erv_kezd DESC
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
 |