kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/sp_GetUserRoles.sql
2024-03-13 00:33:46 +01:00

48 lines
2.4 KiB
Transact-SQL

-- =============================================
-- Author: Sólyom Péter
-- Create date: 2016.04.21.
-- Description: Lehetséges szerepkörök lekérdezése felhasználóhoz.
-- =============================================
DROP PROCEDURE IF EXISTS sp_GetUserRoles
GO
CREATE PROCEDURE sp_GetUserRoles
@FELHASZNALOID int
AS
BEGIN
SET NOCOUNT ON;
-- lekérdezi a felhasználói szerepköröket: Adminisztrator, Fenntarto
SELECT SZEREPKOR.C_SZEREPKORTIPUS SZEREPKOR
FROM T_FELHASZNALO_SZEREPKOR FSZ
JOIN T_SZEREPKOR SZEREPKOR on SZEREPKOR.ID = FSZ.C_SZEREPKORID
/* LEFT JOIN T_MUNKAUGYIADATOK MUNKAUGY ON MUNKAUGY.C_ALKALMAZOTTID = FSZ.C_FELHASZNALOID
AND MUNKAUGY.C_ALKALMAZASKEZDETE <= GETDATE() AND (MUNKAUGY.C_ALKALMAZASMEGSZUNESE IS NULL OR MUNKAUGY.C_ALKALMAZASMEGSZUNESE >= GETDATE()) AND MUNKAUGY.TOROLT='F'*/
WHERE FSZ.C_FELHASZNALOID = @FELHASZNALOID
UNION
SELECT 1758 -- IGAZGATÓ VAGY IGAZGATÓ HELYETTES AUTOMATIKUS ADMIN JOGOT KAP
FROM T_MUNKAUGYIADATOK MUNKAUGY
WHERE MUNKAUGY.C_ALKALMAZOTTID = @FELHASZNALOID
AND MUNKAUGY.C_ALKALMAZASKEZDETE <= GETDATE() AND (MUNKAUGY.C_ALKALMAZASMEGSZUNESE IS NULL OR MUNKAUGY.C_ALKALMAZASMEGSZUNESE >= GETDATE())
AND MUNKAUGY.TOROLT='F'
AND MUNKAUGY.C_MUNKAKORTIPUSA IN (1762,1763) -- IGAZGATÓ VAGY IGAZGATÓ HELYETTES
UNION
-- lekérdezi a felhasználót, hogy diák-e (ellenőrző könyvbe beléphet)
SELECT 1761 FROM T_TANULO tt WHERE ID=@FELHASZNALOID AND tt.TOROLT='F'
/* UNION -- Csak akkor léphet be az elektronikus naplóba, ha jogot kapott rá
-- LEKÉRDEZI HOGY A NAPLÓBA BELÉPHET (ALKALMAZOTTNAK VAN TANÁRI TÁRGYA VAGY TANTÁRGYFELOSZTÁSA VAGY TANÓRÁN KÍVÜLI FOGLALKOZÁSA)
SELECT DISTINCT 1760
FROM T_MUNKAUGYIADATOK MUNKAUGY
WHERE MUNKAUGY.C_ALKALMAZOTTID = @FELHASZNALOID
AND (MUNKAUGY.C_ALKALMAZASMEGSZUNESE IS NULL OR MUNKAUGY.C_ALKALMAZASKEZDETE <= GETDATE())
AND (MUNKAUGY.C_ALKALMAZASMEGSZUNESE IS NULL OR MUNKAUGY.C_ALKALMAZASMEGSZUNESE >= GETDATE())
AND MUNKAUGY.TOROLT='F'
AND NOT EXISTS ( SELECT 1
FROM T_JOGOSULTSAG_FELHASZNALO JOGFELH
JOIN T_JOGOSULTSAG JOG ON JOG.ID = JOGFELH.C_JOGOSULTSAGID
WHERE JOGFELH.C_FELHASZNALOID = @FELHASZNALOID
AND JOG.C_JOG = 'Szuperadmin' ) -- Szuperadmin joggal nem lehet Elektronikus naplóba belépni
*/
END
GO