-- ============================================= -- 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.) -- ============================================= DROP PROCEDURE IF EXISTS sp_GetFelhasznaloJogok GO CREATE PROCEDURE sp_GetFelhasznaloJogok @FELHASZNALOID INT, @SZEREPKORTIPUS INT AS BEGIN SET NOCOUNT ON; DECLARE @TEMPJOGOK TABLE (JOG nvarchar(100)) DECLARE @szerepkorjog nvarchar(100) -- SZEREPKÖR JOGOK SELECT @szerepkorjog = CASE @SZEREPKORTIPUS WHEN 1758 THEN N'Adminisztrator' WHEN 1760 THEN N'Naplo' WHEN 1761 THEN N'Ellenorzo' WHEN 7371 THEN N'PenzugyiAdmin' WHEN 7372 THEN N'Penztaros' WHEN 7373 THEN N'Alairo' WHEN 7374 THEN N'eUgyintezo' WHEN 7703 THEN N'EtkezesiAdmin' WHEN 7704 THEN N'EtkezesiEllenorzo' WHEN 7705 THEN N'TeremberletJelenletEllenorzo' WHEN 7698 THEN N'GazdasagiUgyintezo' WHEN 7702 THEN N'FokuszMonitoring' WHEN 7781 THEN N'Alkalmazott' WHEN 7789 THEN N'IskolaEgeszsegugyiKoordinator' WHEN 7790 THEN N'Vedono' WHEN 7791 THEN N'Iskolaorvos' WHEN 7792 THEN N'IskolaEgeszsegugyiAsszisztens' WHEN 7793 THEN N'IskolaEgeszsegugyiLekerdezo' WHEN 8753 THEN N'BelepokartyaAdmin' WHEN 8755 THEN N'LELTAR_CONCERNED' WHEN 8824 THEN N'Konyvtaros' WHEN 8828 THEN N'FELTAR_EsetKezelo' WHEN 8829 THEN N'FELTAR_EszkozMenedzser' WHEN 8961 THEN N'KerdoivKitolto_KerdoivKezelo' WHEN 9001 THEN N'Dualis_Admin' WHEN 9061 THEN N'FELTAR_SzerzodesMenedzser' WHEN 9062 THEN N'FELTAR_EsetJovahagyo' WHEN 9063 THEN N'FELTAR_EsetKozremukodo' WHEN 9064 THEN N'FELTAR_Munkavegzo' END INSERT INTO @TEMPJOGOK SELECT @szerepkorjog -- 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 BETWEEN 6572 AND 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 TOP 1 'Evfolyamfelelos' FROM T_OSZTALY OSZT WHERE OSZT.C_OFOHELYETTESID = @FELHASZNALOID AND OSZT.TOROLT ='F' -- CSOPORTVEZETŐ UNION SELECT TOP 1 'CsoportVezeto' FROM T_CSOPORT CSOP WHERE CSOP.C_CSOPORTVEZETOID = @FELHASZNALOID AND CSOP.TOROLT = 'F' -- SZUPEROSZTÁLYFŐNÖK (IGAZGATÓ, ÉVFOLYAMFELELŐS) UNION SELECT TOP 1 'SzuperOsztalyfonok' FROM T_MUNKAUGYIADATOK MUNKAUGY WHERE (MUNKAUGY.C_ALKALMAZOTTID = @FELHASZNALOID AND MUNKAUGY.TOROLT='F' AND MUNKAUGY.C_VEZETOIORASZAMOK BETWEEN 6572 AND 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 TOP 1 'Tanar' FROM T_FOGLALKOZAS FOGL WHERE FOGL.C_TANARID = @FELHASZNALOID AND FOGL.TOROLT = 'F' UNION SELECT TOP 1 'Tanar' FROM T_HELYETTESITESIIDOSZAK HEID WHERE HEID.C_HELYETTESTANAROKID = @FELHASZNALOID AND HEID.TOROLT = 'F' UNION SELECT TOP 1 'Tanar' FROM T_TANITASIORA TNO WHERE (TNO.C_HELYETTESITOTANARID = @FELHASZNALOID OR TNO.C_TANARID = @FELHASZNALOID) AND TNO.TOROLT = 'F' UNION SELECT TOP 1 '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