kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170327110702_Init/Stored procedures/sp_GetFelhasznaloJogok.sql
2024-03-13 00:33:46 +01:00

96 lines
2.8 KiB
Transact-SQL

-- =============================================
-- 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
-- RENDSZERGAZDA VAGY SZUPEROSZTÁLYFŐNÖK
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
WHERE OSZT.C_OSZTALYFONOKID = @FELHASZNALOID OR OSZT.C_OFOHELYETTESID = @FELHASZNALOID AND OSZT.TOROLT ='F'
-- É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_MUNKAKORTIPUSA IN (1762,1763) -- IGAZGATÓ VAGY IGAZGATÓ HELYETTES
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
JOIN T_FOGLALKOZASOK_TANAROK FT ON FT.C_FOGLALKOZASOKID = FOGL.ID
WHERE FT.C_TANAROKID = @FELHASZNALOID AND FOGL.TOROLT = 'F'
UNION
SELECT 'Tanulo'
FROM T_TANULO tt
WHERE ID= @FELHASZNALOID
SELECT t.JOG
FROM @TEMPJOGOK T
JOIN T_JOGOSULTSAG JOGOS ON JOGOS.C_JOG = T.JOG
WHERE JOGOS.C_SZEREPKORTIPUS = @SZEREPKORTIPUS
END
GO