-- ============================================= -- Author: Sólyom Péter -- Create date: 2016.04.05. -- Description: Lekérdezi a felhasználóhoz tartozó jogokat (osztályfőnök, csoportvezető, stb.) -- ============================================= SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('dbo.sp_GetFelhasznaloJogok') IS NOT NULL BEGIN DROP PROCEDURE dbo.sp_GetFelhasznaloJogok END GO CREATE PROCEDURE sp_GetFelhasznaloJogok @FELHASZNALOID INT, @SZEREPKORTIPUS INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @TEMPJOGOK TABLE ( JOG nvarchar(100)) -- SZEREPKÖR JOGOK IF @SZEREPKORTIPUS = 1757 BEGIN INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Fenntarto') END ELSE IF @SZEREPKORTIPUS = 1758 BEGIN INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Adminisztrator') END ELSE IF @SZEREPKORTIPUS = 1759 BEGIN INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Penzugy') END ELSE IF @SZEREPKORTIPUS = 1760 BEGIN INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Naplo') END ELSE IF @SZEREPKORTIPUS = 1761 BEGIN INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Ellenorzo') END ELSE IF @SZEREPKORTIPUS = 7371 BEGIN INSERT INTO @TEMPJOGOK (JOG) VALUES (N'PenzugyiAdmin') END ELSE IF @SZEREPKORTIPUS = 7372 BEGIN INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Penztaros') END ELSE IF @SZEREPKORTIPUS = 7373 BEGIN INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Alairo') END ELSE IF @SZEREPKORTIPUS = 7374 BEGIN INSERT INTO @TEMPJOGOK (JOG) VALUES (N'eUgyintezo') END -- RENDSZERGAZDA VAGY SZUPERADMIN INSERT INTO @TEMPJOGOK SELECT DISTINCT C_JOG JOG FROM T_JOGOSULTSAG JOIN T_JOGOSULTSAG_FELHASZNALO FELHASZNALOJOG ON FELHASZNALOJOG.C_JOGOSULTSAGID = T_JOGOSULTSAG.ID WHERE T_JOGOSULTSAG.TOROLT = 'F' AND FELHASZNALOJOG.C_FELHASZNALOID = @FELHASZNALOID AND T_JOGOSULTSAG.C_SZEREPKORTIPUS = @SZEREPKORTIPUS UNION -- OSZTÁLYFŐNÖK SELECT DISTINCT 'Osztalyfonok' FROM T_OSZTALY OSZT LEFT JOIN T_MUNKAUGYIADATOK MUNKAUGY ON MUNKAUGY.C_ALKALMAZOTTID = @FELHASZNALOID WHERE (OSZT.C_OSZTALYFONOKID = @FELHASZNALOID OR OSZT.C_OFOHELYETTESID = @FELHASZNALOID AND OSZT.TOROLT ='F') OR (MUNKAUGY.TOROLT='F' AND MUNKAUGY.C_VEZETOIORASZAMOK IN (6572, 6573, 6574)) -- 6572 - Intézményvezető, 6573 - Tagintézmény-vezető, 6574 - Intézményegység-vezető OR EXISTS (SELECT 1 FROM T_SZEREPKOR INNER JOIN T_FELHASZNALO_SZEREPKOR FELHASZNALOSZEREPKOR ON FELHASZNALOSZEREPKOR.C_SZEREPKORID = T_SZEREPKOR.ID WHERE T_SZEREPKOR.TOROLT = 'F' AND FELHASZNALOSZEREPKOR.C_FELHASZNALOID = @FELHASZNALOID AND T_SZEREPKOR.C_SZEREPKORTIPUS = 1758) -- ÉVFOLYAMFELELŐS UNION SELECT DISTINCT 'Evfolyamfelelos' FROM T_OSZTALY OSZT WHERE OSZT.C_OFOHELYETTESID = @FELHASZNALOID AND OSZT.TOROLT ='F' -- CSOPORTVEZETŐ UNION SELECT DISTINCT 'CsoportVezeto' FROM T_CSOPORT CSOP WHERE CSOP.C_CSOPORTVEZETOID = @FELHASZNALOID AND CSOP.TOROLT = 'F' -- SZUPEROSZTÁLYFŐNÖK (IGAZGATÓ, ÉVFOLYAMFELELŐS) UNION SELECT DISTINCT 'SzuperOsztalyfonok' FROM T_MUNKAUGYIADATOK MUNKAUGY WHERE (MUNKAUGY.C_ALKALMAZOTTID = @FELHASZNALOID AND MUNKAUGY.TOROLT='F' AND MUNKAUGY.C_VEZETOIORASZAMOK IN (6572, 6573, 6574)) -- 6572 - Intézményvezető, 6573 - Tagintézmény-vezető, 6574 - Intézményegység-vezető OR EXISTS (SELECT 1 FROM T_SZEREPKOR INNER JOIN T_FELHASZNALO_SZEREPKOR FELHASZNALOSZEREPKOR ON FELHASZNALOSZEREPKOR.C_SZEREPKORID = T_SZEREPKOR.ID WHERE T_SZEREPKOR.TOROLT = 'F' AND FELHASZNALOSZEREPKOR.C_FELHASZNALOID = @FELHASZNALOID AND T_SZEREPKOR.C_SZEREPKORTIPUS = 1758) UNION -- TANÁR SELECT DISTINCT 'Tanar' FROM T_TANARITANTARGY TT WHERE TT.C_ALKALMAZOTTID = @FELHASZNALOID AND TT.TOROLT = 'F' UNION SELECT DISTINCT 'Tanar' FROM T_FOGLALKOZAS FOGL WHERE FOGL.C_TANARID = @FELHASZNALOID AND FOGL.TOROLT = 'F' UNION SELECT DISTINCT 'Tanar' FROM T_HELYETTESITESIIDOSZAK HEID WHERE HEID.C_HELYETTESTANAROKID = @FELHASZNALOID AND HEID.TOROLT = 'F' UNION SELECT DISTINCT 'Tanar' FROM T_TANITASIORA TNO WHERE TNO.C_HELYETTESITOTANARID = @FELHASZNALOID AND TNO.TOROLT = 'F' UNION SELECT DISTINCT 'Tanar' FROM T_TANITASIORA TNO WHERE TNO.C_TANARID = @FELHASZNALOID AND TNO.TOROLT = 'F' UNION SELECT 'Tanulo' FROM T_TANULO tt WHERE ID= @FELHASZNALOID AND tt.TOROLT = 'F' SELECT t.JOG FROM @TEMPJOGOK T JOIN T_JOGOSULTSAG JOGOS ON JOGOS.C_JOG = T.JOG WHERE JOGOS.C_SZEREPKORTIPUS = @SZEREPKORTIPUS END GO