﻿-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- 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
	-- Add the parameters for the stored procedure here
	@FELHASZNALOID int
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- lekérdezi a felhasználói szerepköröket: Adminisztrator, Fenntarto, Penzugy
	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
