This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,135 @@
-- =============================================
-- 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