54 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFaliujsagBejegyzesek] 
 | 
						|
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 DISTINCT
 | 
						|
		 te.ID				ID
 | 
						|
		,te.C_KEZDETE		Erv_kezd
 | 
						|
		,te.C_TARGY			Cim
 | 
						|
		,te.C_TARTALOM		Szoveg
 | 
						|
		,f.C_NYOMTATASINEV	Bejegyzo
 | 
						|
		,f.C_PROFILKEP		ProfilKep
 | 
						|
		,munka.ID			Munkakor
 | 
						|
	FROM T_TANULOESEMENY te
 | 
						|
	INNER JOIN T_FELHASZNALO f ON te.C_FELJEGYZOID = f.ID AND f.TOROLT = 'F'
 | 
						|
	CROSS APPLY(SELECT TOP 1 ISNULL(d.ID, m.C_MUNKAKORTIPUSA) ID
 | 
						|
		FROM T_MUNKAUGYIADATOK m 
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE d ON m.C_VEZETOIORASZAMOK = d.ID AND d.C_NAME != 'Nincs'
 | 
						|
		WHERE m.TOROLT = 'F' AND m.C_ALKALMAZOTTID = f.ID
 | 
						|
		ORDER BY m.LASTCHANGED DESC) munka
 | 
						|
	LEFT JOIN T_TANULO_TANULOESEMENY tte ON te.ID = tte.C_TANULOESEMENYID AND tte.C_TANULOID = @pUserId
 | 
						|
	OUTER APPLY (SELECT TOP 1 tcs.ID
 | 
						|
		FROM T_TANULOCSOPORT tcs
 | 
						|
		WHERE tcs.TOROLT = 'F' AND tcs.C_TANULOID = @pUserId AND tcs.C_BELEPESDATUM <= @pDate AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= @pDate)
 | 
						|
		ORDER BY tcs.C_KILEPESDATUM DESC
 | 
						|
	) csoport
 | 
						|
	LEFT JOIN T_OSZTALYCSOPORT_TANULOESEMENY ote ON te.ID = tte.C_TANULOESEMENYID AND csoport.ID = ote.C_OSZTALYCSOPORTID
 | 
						|
	WHERE te.TOROLT = 'F' AND te.C_KEZDETE <= @pDate AND (te.C_VEGE IS NULL OR te.C_VEGE >= @pDate)
 | 
						|
		  AND (te.C_MINDENKINEK = 'T' OR ote.C_OSZTALYCSOPORTID IS NOT NULL OR tte.C_TANULOID IS NOT NULL)
 | 
						|
		  AND (te.C_FALIUJSAGMEGJELENES = 'T' AND tte.C_TANULOID IS NOT NULL OR te.C_TIPUS = @pEsemenyTipusFaliujsagBejegyzes)
 | 
						|
	ORDER BY te.C_KEZDETE DESC
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
GO
 |