init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,47 @@
|
|||
-- Visszaadja a T_TANITASIORA.ID-hoz tartozó éves sorszámot
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
|
||||
-- Új hívás, összerendelés implementálás
|
||||
-- Zalán Máriusz
|
||||
-- 2020.02.03
|
||||
|
||||
DROP FUNCTION IF EXISTS fnGetEvesOraszamByTanitasiOraId
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetEvesOraszamByTanitasiOraId (
|
||||
@tanitasiOraId int
|
||||
)
|
||||
RETURNS int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@datum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
,@oraSzam 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'
|
||||
|
||||
|
||||
SELECT @oraSzam = EvesSorszam
|
||||
FROM dbo.fnGetEvesOraszamLista(@tantargyId, @osztalycsoportId, @tanarId, @datum, @intezmenyId, @tanevId)
|
||||
WHERE ID = @tanitasiOraId
|
||||
RETURN @oraSzam
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,180 @@
|
|||
-- Az óra éves sorszáma tantárgy, osztálycsoport és tanár alapján a megelőző órák listájával
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
-- Óra összerendelés halmaz implementálás
|
||||
-- Zalán Máriusz
|
||||
-- 2019.01.27.
|
||||
|
||||
DROP FUNCTION IF EXISTS fnGetEvesOraszamLista
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetEvesOraszamLista (
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@datum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
)
|
||||
RETURNS @retTable TABLE (
|
||||
Id int primary key
|
||||
,EvesSorszam int
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@tanarSzamit bit
|
||||
,@osztalybontasEgybe bit
|
||||
,@osztalybontasCsoport bit
|
||||
,@osszerendelesId int
|
||||
,@kezdoErtek int
|
||||
|
||||
SET @tanarSzamit = dbo.fnGetRendszerbeallitasEnumBool(3075, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasEgybe = dbo.fnGetRendszerbeallitasEnumBool(3078, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasCsoport = 0
|
||||
|
||||
SELECT
|
||||
@osszerendelesId = h.ID
|
||||
FROM T_ORASORSZAMOZASHALMAZ_OSSZES h
|
||||
INNER JOIN T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES oh ON h.ID = oh.C_ORASORSZAMOZASHALMAZID
|
||||
AND oh.C_TANTARGYID = @TantargyId AND oh.C_OSZTALYCSOPORTID = @osztalycsoportId
|
||||
AND oh.TOROLT='F'
|
||||
WHERE h.TOROLT='F'
|
||||
|
||||
--Van összerendelés
|
||||
IF @osszerendelesId IS NOT NULL BEGIN
|
||||
SELECT
|
||||
@tanarSzamit = IIF(C_KOZOSORASORSZAMOZASELTEROTAN = 'T',1,0)
|
||||
,@kezdoErtek = ISNULL(C_KEZDOERTEK-1,0)
|
||||
FROM T_ORASORSZAMOZASHALMAZ_OSSZES
|
||||
WHERE ID = @osszerendelesId AND TOROLT='F'
|
||||
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
INSERT INTO @retTable (Id, EvesSorszam)
|
||||
SELECT
|
||||
ID
|
||||
,EvesSorszam
|
||||
FROM (
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE, ocs.C_NEV) + @kezdoErtek AS EvesSorszam
|
||||
,t.C_OSZTALYCSOPORTID
|
||||
FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES oh
|
||||
INNER JOIN T_TANITASIORA_OSSZES t ON t.C_TANTARGYID = oh.C_TANTARGYID AND t.C_OSZTALYCSOPORTID = oh.C_OSZTALYCSOPORTID
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_TANARID = @tanarId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.TOROLT='F'
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = t.C_TANTARGYID AND tgy.TOROLT='F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = t.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
|
||||
WHERE oh.TOROLT='F' AND oh.C_ORASORSZAMOZASHALMAZID = @osszerendelesId) x
|
||||
WHERE x.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
END
|
||||
ELSE BEGIN
|
||||
INSERT INTO @retTable (Id, EvesSorszam)
|
||||
SELECT
|
||||
ID
|
||||
,EvesSorszam
|
||||
FROM (
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE, ocs.C_NEV) + @kezdoErtek AS EvesSorszam
|
||||
,t.C_OSZTALYCSOPORTID
|
||||
FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES oh
|
||||
INNER JOIN T_TANITASIORA_OSSZES t ON t.C_TANTARGYID = oh.C_TANTARGYID AND t.C_OSZTALYCSOPORTID = oh.C_OSZTALYCSOPORTID
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.TOROLT='F'
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = t.C_TANTARGYID AND tgy.TOROLT='F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = t.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
|
||||
WHERE oh.TOROLT='F' AND oh.C_ORASORSZAMOZASHALMAZID = @osszerendelesId) x
|
||||
WHERE x.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
END
|
||||
END
|
||||
ELSE --Nincs összerendelés
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE TOROLT='F' AND ((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
|
||||
INSERT INTO @retTable (Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_TANEVID = @tanevId
|
||||
AND 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
|
||||
END
|
||||
ELSE BEGIN
|
||||
INSERT INTO @retTable (Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_TANEVID = @tanevId
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
DECLARE @kapcsolodoOsztalyCsoportok TABLE (OsztalyCsoportId int)
|
||||
INSERT INTO @kapcsolodoOsztalyCsoportok (OsztalyCsoportId)
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES 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_OSSZES cs
|
||||
WHERE cs.ID = @osztalyCsoportId AND cs.TOROLT='F'
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId AND cs.TOROLT='F'
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
INSERT INTO @retTable (Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
INNER JOIN @kapcsolodoOsztalyCsoportok ocs ON ocs.OsztalyCsoportId = t.C_OSZTALYCSOPORTID
|
||||
WHERE t.C_TANEVID = @tanevId
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_TANARID = @tanarId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
END
|
||||
ELSE BEGIN
|
||||
INSERT INTO @retTable (Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
INNER JOIN @kapcsolodoOsztalyCsoportok ocs ON ocs.OsztalyCsoportId = t.C_OSZTALYCSOPORTID
|
||||
WHERE t.C_TANEVID = @tanevId
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
END
|
||||
END
|
||||
END
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,47 @@
|
|||
-- Visszaadja a T_TANITASIORA.ID-hoz tartozó éves sorszámot
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
|
||||
-- Új hívás, összerendelés implementálás
|
||||
-- Zalán Máriusz
|
||||
-- 2020.02.03
|
||||
|
||||
DROP FUNCTION IF EXISTS fnGetEvesOraszamListaByTanitasiOraId
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetEvesOraszamListaByTanitasiOraId (
|
||||
@tanitasiOraId int
|
||||
)
|
||||
RETURNS @retTable TABLE (
|
||||
Id int primary key
|
||||
,EvesSorszam 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_OSSZES tn
|
||||
WHERE tn.ID = @tanitasiOraId
|
||||
|
||||
INSERT INTO @retTable(Id, EvesSorszam)
|
||||
SELECT Id, EvesSorszam
|
||||
FROM fnGetEvesOraszamLista(@tantargyId, @osztalycsoportId, @tanarId, @datum, @intezmenyId, @tanevId)
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
-- Az elõzõ óra adati tantárgy, osztálycsoport és tanár alapján
|
||||
-- SZEKERES ANDRÁS (based on Telek Ákos fn_GetOraEvesSorszamLista)
|
||||
-- 2017.05.08.
|
||||
|
||||
-- Modifed by: Zalán Máriusz
|
||||
-- Date: 2018 10 03
|
||||
|
||||
-- Osztálycsoport - tantárgy összerendelés implementálása
|
||||
-- 2019.01.27
|
||||
-- Zalán Máriusz
|
||||
DROP PROCEDURE IF EXISTS sp_GetElozoOraAdatai
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetElozoOraAdatai
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@oraKezdeteDatum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
SELECT TOP 1
|
||||
tao.ID as Id
|
||||
,tao.C_TEMA as Tema
|
||||
,tao.C_DATUM as Datum
|
||||
,fh.C_NYOMTATASINEV as HelyettesNev
|
||||
,Lista.EvesSorszam
|
||||
FROM fnGetEvesOraszamLista(@tantargyId,@osztalycsoportId,@tanarId,@oraKezdeteDatum,@intezmenyId,@tanevId) Lista
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.ID = lista.ID AND tao.TOROLT='F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON fh.ID=tao.C_HELYETTESITOTANARID AND fh.TOROLT='F'
|
||||
ORDER BY tao.C_ORAKEZDETE DESC
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,203 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetOraSorszamByOsztaly
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOraSorszamByOsztaly
|
||||
@osztalyCsoportId int
|
||||
,@datum date
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
DECLARE
|
||||
@tanarSzamit bit
|
||||
,@osztalybontasEgybe bit
|
||||
,@osztalybontasCsoport bit
|
||||
,@osszerendelesId int
|
||||
,@kezdoErtek 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_OSSZES WHERE TOROLT='F' AND ((ID = @osztalyCsoportId AND C_OSZTALYBONTASID IS NOT NULL) OR C_OSZTALYBONTASID = @osztalyCsoportId))
|
||||
BEGIN
|
||||
SET @osztalybontasCsoport = 1
|
||||
END
|
||||
|
||||
IF (@osztalybontasEgybe = 1 AND @osztalybontasCsoport = 1)
|
||||
BEGIN
|
||||
CREATE TABLE #kapcsolodoOsztalyCsoportok (OsztalyCsoportId int)
|
||||
INSERT INTO #kapcsolodoOsztalyCsoportok (OsztalyCsoportId)
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES 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_OSSZES cs
|
||||
WHERE cs.ID = @osztalyCsoportId AND cs.TOROLT='F'
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId AND cs.TOROLT='F'
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
END
|
||||
|
||||
SELECT
|
||||
@osszerendelesId = h.ID
|
||||
FROM T_ORASORSZAMOZASHALMAZ_OSSZES h
|
||||
INNER JOIN T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES oh ON h.ID = oh.C_ORASORSZAMOZASHALMAZID
|
||||
AND oh.C_OSZTALYCSOPORTID = @osztalycsoportId
|
||||
AND oh.TOROLT='F'
|
||||
WHERE h.TOROLT='F'
|
||||
--Van összerendelés
|
||||
IF @osszerendelesId IS NOT NULL BEGIN
|
||||
SELECT
|
||||
@tanarSzamit = IIF(C_KOZOSORASORSZAMOZASELTEROTAN = 'T',1,0)
|
||||
,@kezdoErtek = ISNULL(C_KEZDOERTEK-1,0)
|
||||
FROM T_ORASORSZAMOZASHALMAZ_OSSZES
|
||||
WHERE ID = @osszerendelesId AND TOROLT='F'
|
||||
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT
|
||||
ID
|
||||
,ROW_NUMBER() OVER(PARTITION BY C_TANARID,C_TANTARGYID ORDER BY C_ORAKEZDETE,C_NEV)+IIF(C_TANTARGYID = -1, @kezdoErtek, 0) OraSorszam
|
||||
FROM(
|
||||
SELECT
|
||||
tao.ID
|
||||
,tao.C_ORAKEZDETE
|
||||
,tao.C_TANTARGYID
|
||||
,ocs.C_NEV
|
||||
,tao.C_TANARID
|
||||
FROM T_TANITASIORA_OSSZES tao
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
|
||||
WHERE tao.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND tao.C_DATUM <= @datum
|
||||
AND tao.C_SORSZAMOZANDO = 'T'
|
||||
AND tao.TOROLT='F'
|
||||
AND tao.C_MEGTARTOTT = 'T'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES
|
||||
WHERE C_ORASORSZAMOZASHALMAZID = @osszerendelesId
|
||||
AND C_TANTARGYID = tao.C_TANTARGYID
|
||||
AND C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID
|
||||
AND TOROLT='F'
|
||||
)
|
||||
UNION ALL
|
||||
SELECT
|
||||
tao.ID
|
||||
,tao.C_ORAKEZDETE
|
||||
,-1 as C_TANTARGYID
|
||||
,ocs.C_NEV
|
||||
,tao.C_TANARID
|
||||
FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES oh
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.C_TANTARGYID = oh.C_TANTARGYID AND tao.C_OSZTALYCSOPORTID = oh.C_OSZTALYCSOPORTID
|
||||
AND tao.C_SORSZAMOZANDO = 'T' AND tao.C_MEGTARTOTT ='T' AND tao.TOROLT='F' AND tao.C_DATUM <= @datum
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.TOROLT='F' AND ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
|
||||
WHERE oh.C_ORASORSZAMOZASHALMAZID = @osszerendelesId
|
||||
AND oh.TOROLT='F'
|
||||
) MindenOra
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT
|
||||
ID
|
||||
,ROW_NUMBER() OVER(PARTITION BY C_TANTARGYID ORDER BY C_ORAKEZDETE,C_NEV)+IIF(C_TANTARGYID = -1, @kezdoErtek, 0) OraSorszam
|
||||
FROM(
|
||||
SELECT
|
||||
tao.ID
|
||||
,tao.C_ORAKEZDETE
|
||||
,tao.C_TANTARGYID
|
||||
,ocs.C_NEV
|
||||
FROM T_TANITASIORA_OSSZES tao
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
|
||||
WHERE tao.C_OSZTALYCSOPORTID = @osztalycsoportId
|
||||
AND tao.C_DATUM <= @datum
|
||||
AND tao.C_SORSZAMOZANDO = 'T'
|
||||
AND tao.C_MEGTARTOTT = 'T'
|
||||
AND tao.TOROLT='F'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES
|
||||
WHERE C_ORASORSZAMOZASHALMAZID = @osszerendelesId
|
||||
AND C_TANTARGYID = tao.C_TANTARGYID
|
||||
AND C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID
|
||||
AND TOROLT='F'
|
||||
)
|
||||
UNION ALL
|
||||
SELECT
|
||||
tao.ID
|
||||
,tao.C_ORAKEZDETE
|
||||
,-1 as C_TANTARGYID
|
||||
,ocs.C_NEV
|
||||
FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES oh
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.C_TANTARGYID = oh.C_TANTARGYID AND tao.C_OSZTALYCSOPORTID = oh.C_OSZTALYCSOPORTID
|
||||
AND tao.C_SORSZAMOZANDO = 'T' AND tao.C_MEGTARTOTT ='T' AND tao.TOROLT='F' AND tao.C_DATUM <= @datum
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.TOROLT='F' AND ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
|
||||
WHERE oh.C_ORASORSZAMOZASHALMAZID = @osszerendelesId AND oh.TOROLT='F'
|
||||
) MindenOra
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
IF @osztalybontasEgybe = 0 OR @osztalybontasCsoport = 0 BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.C_TANARID, t.C_TANTARGYID ORDER BY t.C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_DATUM <= @datum
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_INTEZMENYID = @intezmenyid
|
||||
AND t.C_TANEVID = @tanevId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.C_TANTARGYID ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND t.C_DATUM <= @datum
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_INTEZMENYID = @intezmenyid
|
||||
AND t.C_TANEVID = @tanevId
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.C_TANTARGYID,t.C_TANARID ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_OSZTALYCSOPORTID IN (SELECT ID FROM #kapcsolodoOsztalyCsoportok)
|
||||
AND t.C_DATUM <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_INTEZMENYID = @intezmenyid
|
||||
AND t.C_TANEVID = @tanevId
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.C_TANTARGYID ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_OSZTALYCSOPORTID IN (SELECT ID FROM #kapcsolodoOsztalyCsoportok)
|
||||
AND t.C_DATUM <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_INTEZMENYID = @intezmenyid
|
||||
AND t.C_TANEVID = @tanevId
|
||||
END
|
||||
END
|
||||
END
|
||||
END
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue