109 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			4.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
 | 
						|
-- =============================================
 | 
						|
-- Author:		Kelemen Attila
 | 
						|
-- Create date: 2016. 03. 06.
 | 
						|
-- Description:	Felhasználóhoz tartozó faliújságbejegyzések és tanévrendje események lekérdezése
 | 
						|
-- Modify:		Bata-Kovács Gábor
 | 
						|
-- =============================================
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek]
 | 
						|
	@userID int,
 | 
						|
	@date DateTime
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
	-- SET NOCOUNT ON added to prevent extra result sets from
 | 
						|
	-- interfering with SELECT statements.
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
SELECT T_TANULOESEMENY.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 = @userID 
 | 
						|
	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 = @userID
 | 
						|
				AND T_TANULOCSOPORT.C_BELEPESDATUM < @date
 | 
						|
				AND (T_TANULOCSOPORT.C_KILEPESDATUM > @date 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 = @userID)
 | 
						|
AND T_TANULOESEMENY.C_KEZDETE <= @date
 | 
						|
AND (T_TANULOESEMENY.C_VEGE IS NULL OR T_TANULOESEMENY.C_VEGE >= @date)
 | 
						|
AND T_TANULOESEMENY.TOROLT='F'
 | 
						|
AND (T_TANULOESEMENY.C_FALIUJSAGMEGJELENES = 'T' OR T_TANULOESEMENY.C_TIPUS = 5483)
 | 
						|
 | 
						|
UNION
 | 
						|
 | 
						|
	select T_FALIUJSAGBEJEGYZES.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 = @userID)
 | 
						|
AND T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE <= @date
 | 
						|
AND (T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE IS NULL OR T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE >= @date)
 | 
						|
AND T_FALIUJSAGBEJEGYZES.TOROLT='F'
 | 
						|
 | 
						|
UNION
 | 
						|
 | 
						|
SELECT T_FALIUJSAGBEJEGYZES.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 = @userID
 | 
						|
				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 <= @date
 | 
						|
AND (T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE IS NULL OR T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE >= @date)
 | 
						|
AND T_FALIUJSAGBEJEGYZES.TOROLT='F'
 | 
						|
 | 
						|
	ORDER BY Erv_kezd DESC
 | 
						|
END
 | 
						|
 |