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

View File

@@ -0,0 +1,118 @@
-- Az óra éves sorszáma tantárgy, osztálycsoport és tanár alapján
-- TELEK ÁKOS
-- 2017.03.03.
IF OBJECT_ID('dbo.fnGetEvesOraszam') IS NOT NULL BEGIN
DROP FUNCTION dbo.fnGetEvesOraszam
END
GO
CREATE FUNCTION dbo.fnGetEvesOraszam (
@tantargyId int
,@osztalycsoportId int
,@tanarId int
,@datum datetime
,@intezmenyId int
,@tanevId int
)
RETURNS int
AS
BEGIN
DECLARE
@tanarSzamit bit
,@osztalybontasEgybe bit
,@osztalybontasCsoport bit
,@cnt int
SET @tanarSzamit = dbo.fnGetRendszerbeallitasEnumBool(3075, @intezmenyId, @tanevId)
SET @osztalybontasEgybe = dbo.fnGetRendszerbeallitasEnumBool(3078, @intezmenyId, @tanevId)
SET @osztalybontasCsoport = 0
IF EXISTS (SELECT 1 FROM T_CSOPORT WHERE (ID = @osztalyCsoportId AND C_OSZTALYBONTASID IS NOT NULL) OR C_OSZTALYBONTASID = @osztalyCsoportId) BEGIN
SET @osztalybontasCsoport = 1
END
IF @osztalybontasEgybe = 0 OR @osztalybontasCsoport = 0 BEGIN
IF @tanarSzamit = 1 BEGIN
SELECT @cnt = COUNT(1)
FROM T_TANITASIORA_OSSZES t
WHERE t.C_MEGTARTOTT = 'T'
AND t.C_SORSZAMOZANDO = 'T'
AND t.C_TANTARGYID = @tantargyId
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
AND t.C_TANARID = @tanarId
AND t.C_ORAKEZDETE <= @datum
AND t.TOROLT ='F'
END
ELSE BEGIN
SELECT @cnt = COUNT(1)
FROM T_TANITASIORA_OSSZES t
WHERE t.C_MEGTARTOTT = 'T'
AND t.C_SORSZAMOZANDO = 'T'
AND t.C_TANTARGYID = @tantargyId
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
AND t.C_ORAKEZDETE <= @datum
AND t.TOROLT ='F'
END
END
ELSE BEGIN
IF @tanarSzamit = 1 BEGIN
SELECT @cnt = COUNT(1)
FROM T_TANITASIORA_OSSZES t
WHERE t.C_TANTARGYID = @tantargyId
AND t.C_OSZTALYCSOPORTID IN (
SELECT cs.ID
FROM T_CSOPORT cs
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId)
AND cs.TOROLT = 'F'
UNION
SELECT cs.C_OSZTALYBONTASID
FROM T_CSOPORT cs
WHERE cs.ID = @osztalyCsoportId
AND cs.TOROLT = 'F'
UNION
SELECT cs.ID
FROM T_CSOPORT cs
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
AND cs.TOROLT = 'F'
UNION
SELECT @osztalyCsoportId
)
AND t.C_TANARID = @tanarId
AND t.C_ORAKEZDETE <= @datum
AND t.C_SORSZAMOZANDO = 'T'
AND t.C_MEGTARTOTT = 'T'
AND t.TOROLT ='F'
END
ELSE BEGIN
SELECT @cnt = COUNT(1)
FROM T_TANITASIORA_OSSZES t
WHERE t.C_TANTARGYID = @tantargyId
AND t.C_OSZTALYCSOPORTID IN (
SELECT cs.ID
FROM T_CSOPORT cs
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId)
AND cs.TOROLT = 'F'
UNION
SELECT cs.C_OSZTALYBONTASID
FROM T_CSOPORT cs
WHERE cs.ID = @osztalyCsoportId
AND cs.TOROLT = 'F'
UNION
SELECT cs.ID
FROM T_CSOPORT cs
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
AND cs.TOROLT = 'F'
UNION
SELECT @osztalyCsoportId
)
AND t.C_ORAKEZDETE <= @datum
AND t.C_SORSZAMOZANDO = 'T'
AND t.C_MEGTARTOTT = 'T'
AND t.TOROLT = 'F'
END
END
RETURN @cnt
END
GO

View File

@@ -0,0 +1,39 @@
-- Visszaadja a T_TANITASIORA.ID-hoz tartozó éves sorszámot
-- TELEK ÁKOS
-- 2017.03.03.
IF OBJECT_ID('dbo.fnGetEvesOraszamByTanitasiOraId') IS NOT NULL BEGIN
DROP FUNCTION dbo.fnGetEvesOraszamByTanitasiOraId
END
GO
CREATE FUNCTION dbo.fnGetEvesOraszamByTanitasiOraId (
@tanitasiOraId int
)
RETURNS int
AS
BEGIN
DECLARE
@tantargyId int
,@osztalycsoportId int
,@tanarId int
,@datum datetime
,@intezmenyId int
,@tanevId int
SELECT
@tantargyId = tn.C_TANTARGYID
,@osztalycsoportId = tn.C_OSZTALYCSOPORTID
,@tanarId = tn.C_TANARID
,@datum = tn.C_ORAKEZDETE
,@intezmenyId = tn.C_INTEZMENYID
,@tanevId = tn.C_TANEVID
FROM T_TANITASIORA tn
WHERE ID = @tanitasiOraId
AND tn.C_MEGTARTOTT = 'T'
AND tn.TOROLT = 'F'
RETURN dbo.fnGetEvesOraszam(@tantargyId, @osztalycsoportId, @tanarId, @datum, @intezmenyId, @tanevId)
END
GO