init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,149 @@
|
|||
-- ================================
|
||||
-- CREATED: 2017-02-17
|
||||
-- CREATOR: Telek Ákos
|
||||
-- ================================
|
||||
--
|
||||
-- A négy paraméter az alábbi:
|
||||
-- • Tanár ID-ja
|
||||
-- • Kellenek-e osztályok (ez szinte mindig igaz érték, azt állítja, hogy a lekérdezés a kapcsolódó osztályokat is include-olja)
|
||||
-- • Kellenek-e csoportok (ez azt állítja, hogy a lekérdezés a kapcsolódó csoportokat is include-olja)
|
||||
-- • Kellenek-e azok, amelyekben "csak" tanít, azaz nem ofő, vagy ilyesmi, hanem csak tanítja (ez pl osztályfőnöki funkcióknál, mulasztások kezelése hasonló esetekben hamis, azaz 0, de például feljegyzéseknél igaz).
|
||||
-- Ahol át kell vezetni (zárójelben a három változó paraméter státusza):
|
||||
-- • Tanári feladatok / Feljegyzések (1,1,1), Faliújság (1,1,1) illetve Tanított tanulók (1,1,1)
|
||||
-- • Osztályfőnöki feladatok / Igazolások (1,1,0), Mulasztások kezelése (1,1,0), Naplóellenőrzés (1,0,0), Osztály tanulói (1,0,0)
|
||||
-- • Dokumentumoknál, ha tanár nyitja meg, akkor szintén
|
||||
--
|
||||
-- Használata:
|
||||
--
|
||||
-- DECLARE @kapcsolodoOsztalyok TABLE (ID int)
|
||||
-- INSERT INTO @kapcsolodoOsztalyok (ID)
|
||||
-- EXEC sp_GetTanarKapcsolodoOsztalyai (150621, 1, 1, 1)
|
||||
--
|
||||
-- SELECT *
|
||||
-- FROM T_TABLE t
|
||||
-- INNER JOIN @kapcsolodoOsztalyok k ON t.C_OSZTALYCSOPORTID = k.ID
|
||||
--
|
||||
/*TODO:Tobb Osztaly*//*OM-1668*/
|
||||
|
||||
IF OBJECT_ID(N'dbo.sp_GetTanarKapcsolodoOsztalyai') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetTanarKapcsolodoOsztalyai
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.sp_GetTanarKapcsolodoOsztalyai
|
||||
@tanarId int
|
||||
,@osztalyKell bit = 1
|
||||
,@csoportKell bit = 1
|
||||
,@tartottOraKell bit = 1
|
||||
,@feladatKategoriaId int = null
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @sql nvarchar(max)
|
||||
|
||||
IF 1758 IN (SELECT C_SZEREPKORTIPUS FROM T_FELHASZNALO_SZEREPKOR INNER JOIN T_SZEREPKOR ON T_SZEREPKOR.ID = T_FELHASZNALO_SZEREPKOR.C_SZEREPKORID WHERE T_FELHASZNALO_SZEREPKOR.C_FELHASZNALOID = @tanarId) BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT o.ID
|
||||
FROM T_OSZTALY o
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND @feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND @feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF (SELECT C_MUNKAKORTIPUSA FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID = @tanarId) IN (1762, 1763, 3027, 3028) BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT o.ID
|
||||
FROM T_OSZTALY o
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND @feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND @feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF (SELECT C_VEZETOIORASZAMOK FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID = @tanarId) IN (6572, 6573, 6574) -- 6572 - Intézményvezető, 6573 - Tagintézmény-vezető, 6574 - Intézményegység-vezető
|
||||
BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT o.ID
|
||||
FROM T_OSZTALY o
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND @feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND @feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT ocs.ID
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID
|
||||
WHERE (o.C_OSZTALYFONOKID = @tanarId OR o.C_OFOHELYETTESID = @tanarId)
|
||||
AND @feladatKategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID = @feladatKategoriaId /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
AND ocs.TOROLT = ''F'''
|
||||
END
|
||||
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT ocs.ID
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_CSOPORT cs ON cs.ID = ocs.ID
|
||||
WHERE cs.C_CSOPORTVEZETOID = @tanarId
|
||||
AND @feladatKategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID = @feladatKategoriaId /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
AND ocs.TOROLT = ''F'''
|
||||
END
|
||||
|
||||
IF @tartottOraKell = 1 BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + 'UNION' + CHAR(13) + CHAR(10), '') + '
|
||||
SELECT f.C_OSZTALYCSOPORTID
|
||||
FROM T_FOGLALKOZAS f
|
||||
INNER JOIN T_OSZTALY o ON o.id = f.C_OSZTALYCSOPORTID
|
||||
WHERE f.C_TANARID = @tanarId
|
||||
AND f.TOROLT = ''F''
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + 'UNION' + CHAR(13) + CHAR(10), '') + '
|
||||
SELECT f.C_OSZTALYCSOPORTID
|
||||
FROM T_FOGLALKOZAS f
|
||||
INNER JOIN T_CSOPORT cs ON cs.id = f.C_OSZTALYCSOPORTID
|
||||
WHERE f.C_TANARID = @tanarId
|
||||
AND f.TOROLT = ''F''
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
END
|
||||
END
|
||||
END
|
||||
EXEC sp_executesql @sql, N'@tanarId int, @feladatKategoriaId int', @tanarId, @feladatKategoriaId
|
||||
|
||||
END
|
||||
GO
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue