init
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
-- 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
|
||||
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
|
||||
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)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_TANARID = @tanarId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
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)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
END
|
||||
END
|
||||
RETURN @cnt
|
||||
END
|
||||
GO
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
-- 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
|
||||
|
||||
RETURN dbo.fnGetEvesOraszam(@tantargyId, @osztalycsoportId, @tanarId, @datum, @intezmenyId, @tanevId)
|
||||
|
||||
END
|
||||
GO
|
||||
@@ -0,0 +1,132 @@
|
||||
-- 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.
|
||||
|
||||
|
||||
IF OBJECT_ID('dbo.fnGetEvesOraszamLista') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetEvesOraszamLista
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.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
|
||||
|
||||
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
|
||||
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_INTEZMENYID = @intezmenyId
|
||||
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_INTEZMENYID = @intezmenyId
|
||||
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
|
||||
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_INTEZMENYID = @intezmenyId
|
||||
AND 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)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
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
|
||||
WHERE t.C_TANEVID = @tanevId
|
||||
AND t.C_INTEZMENYID = @intezmenyId
|
||||
AND 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)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
END
|
||||
END
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
-- Visszaadja a T_TANITASIORA.ID-hoz tartozó összes megelőző T_TANITASIORA.ID-t és az éves sorszámukat
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
IF OBJECT_ID('dbo.fnGetEvesOraszamListaByTanitasiOraId') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetEvesOraszamListaByTanitasiOraId
|
||||
END
|
||||
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,97 @@
|
||||
-- ==========================================================================================
|
||||
-- Author: Telek <20>kos
|
||||
-- Create date: 2016.05.31.
|
||||
-- Description: T<>rli az alkalmazottakat (akikn<6B>l csak az alapadatok vannak kit<69>ltve)
|
||||
-- ==========================================================================================
|
||||
IF OBJECT_ID('sp_DeleteAlkalmazottak') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_DeleteAlkalmazottak
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_DeleteAlkalmazottak
|
||||
@xml xml
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
SET XACT_ABORT ON
|
||||
DECLARE @alkalmazottId TABLE (id int);
|
||||
DECLARE @torlendoId TABLE (id int);
|
||||
DECLARE @inputId TABLE (id int);
|
||||
|
||||
INSERT INTO @inputId
|
||||
SELECT
|
||||
sor.value('.', 'int') AS id
|
||||
FROM @xml.nodes('/Alkalmazottak/IdLista/Id') as sorok(sor)
|
||||
|
||||
INSERT INTO @alkalmazottId (id)
|
||||
SELECT a.ID
|
||||
FROM T_ALKALMAZOTT a
|
||||
WHERE EXISTS (SELECT 1 FROM @inputId WHERE id = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_CSOPORT WHERE C_CSOPORTVEZETOID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ESZKOZ WHERE C_FELELOSID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FALIUJSAGBEJEGYZES WHERE C_BEJEGYZOID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS WHERE C_TANARID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HELYETTESITESIIDOSZAK WHERE C_HELYETTESTANAROKID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_IGAZOLAS WHERE C_ROGZITOID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_JOGYAKORLAT WHERE C_JOGYAKORLATTULAJDONOSID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_NAPLOELLENORZES WHERE C_ELLENORZOSZEMELYID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORALATOGATAS WHERE C_ERTEKELOID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALY WHERE C_OFOHELYETTESID = a.ID OR C_OSZTALYFONOKID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANARITANTARGY WHERE C_ALKALMAZOTTID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA WHERE C_HELYETTESITOTANARID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA WHERE C_ORATULAJDONOSID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANMENET WHERE C_FELTOLTOID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES WHERE C_ERTEKELOID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOESEMENY WHERE C_FELJEGYZOID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOKOZOSSEGISZOLGALAT WHERE C_FELJEGYZOID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TEREM WHERE C_TEREMFELELOSID = a.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TEVEKENYSEG WHERE C_ESEMENYTULAJDONOSID = a.ID)
|
||||
|
||||
INSERT INTO @torlendoId (id)
|
||||
SELECT ID
|
||||
FROM T_FELHASZNALO f
|
||||
WHERE EXISTS (SELECT 1 FROM @alkalmazottId WHERE id = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_CIMTARCSOPORT WHERE C_TULAJDONOSID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_CIMZETT_FALIUJSAGBEJEGYZES WHERE C_CIMZETTID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_CSATOLTFELHASZNALOK_CSATOLTJ WHERE C_CSATOLTFELHASZNALOKID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_DIGESTMESSAGEQUEUE WHERE C_RECIPIENTID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_EMAILADATOK WHERE C_EMAILCIMZETTID = f.ID OR C_KULDOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPESTORTENET WHERE C_FELHASZNALOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOERTESITES WHERE C_FELHASZNALOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOERTESITESBEALLITA WHERE C_FELHASZNALOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_IKTATOTTDOKUMENTUMOK WHERE C_DOKUMENTUMPARTNEREID = f.ID OR C_FELTOLTOFELHASZNALOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_IMPOSITION WHERE C_BEFIZETESREKOTELEZETTFELHASZ = f.ID OR C_LETREHOZOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_JOGOSULTFELHASZNALOK_HOZZARE WHERE C_JOGOSULTFELHASZNALOKID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_JOGOSULTSAG_FELHASZNALO WHERE C_FELHASZNALOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_MESSAGE WHERE C_SENDERID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OLDALLATOGATOTTSAG WHERE C_FELHASZNALOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ONLINEUSER WHERE C_FELHASZNALOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_PEDAGOGUSELETPALYAMODELL WHERE C_TANARID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_PERSONMESSAGE WHERE C_RECIPIENTID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_RESZTVEVOK_TEVEKENYSEGEK WHERE C_RESZTVEVOKID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_SMS WHERE C_FELHASZNALOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TRANSACTION WHERE C_BEFIZETOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_USERNOTIFICATION WHERE C_FELHASZNALOID = f.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_USERPROFILE WHERE C_FELHASZNALOID = f.ID)
|
||||
|
||||
BEGIN TRY
|
||||
BEGIN TRANSACTION
|
||||
DELETE FROM T_FELHASZNALO_SZEREPKOR WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
|
||||
DELETE FROM T_FELHASZNALOBELEPES WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
|
||||
DELETE FROM T_EMAIL WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
|
||||
DELETE FROM T_CIM WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
|
||||
DELETE FROM T_TELEFON WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
|
||||
DELETE FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID IN (SELECT ID FROM @torlendoId)
|
||||
DELETE FROM T_CIMTAR WHERE C_TAGOKID IN (SELECT ID FROM @torlendoId)
|
||||
DELETE FROM T_ALKALMAZOTT WHERE ID IN (SELECT ID FROM @torlendoId)
|
||||
DELETE FROM T_FELHASZNALO WHERE ID IN (SELECT ID FROM @torlendoId)
|
||||
select count(1) from @torlendoId
|
||||
COMMIT TRANSACTION
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
|
||||
ROLLBACK TRAN;
|
||||
THROW --RETHROW the ERROR
|
||||
END CATCH
|
||||
END
|
||||
GO
|
||||
@@ -0,0 +1,141 @@
|
||||
-- Az el<65>z<EFBFBD> <20>ra adati tant<6E>rgy, oszt<7A>lycsoport <20>s tan<61>r alapj<70>n
|
||||
-- SZEKERES ANDR<44>S (based on Telek <20>kos fn_GetOraEvesSorszamLista)
|
||||
-- 2017.05.08.
|
||||
|
||||
|
||||
IF OBJECT_ID('dbo.sp_GetElozoOraAdatai') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetElozoOraAdatai
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.sp_GetElozoOraAdatai
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@datum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@tanarSzamit bit,
|
||||
@osztalybontasEgybe bit,
|
||||
@osztalybontasCsoport bit
|
||||
|
||||
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 TOP 1
|
||||
tanora.ID AS Id
|
||||
,tanora.C_TEMA AS Tema
|
||||
,tanora.C_DATUM AS Datum
|
||||
,felhasznalo.C_NYOMTATASINEV AS HelyettesNev
|
||||
,IIF(tanora.C_SORSZAMOZANDO = 'T', ROW_NUMBER() OVER (PARTITION BY tanora.C_SORSZAMOZANDO ORDER BY tanora.C_ORAKEZDETE), NULL) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES tanora
|
||||
LEFT JOIN T_FELHASZNALO felhasznalo ON felhasznalo.ID = tanora.C_HELYETTESITOTANARID
|
||||
WHERE tanora.C_TANEVID = @tanevId
|
||||
AND tanora.C_INTEZMENYID = @intezmenyId
|
||||
AND tanora.C_MEGTARTOTT = 'T'
|
||||
AND tanora.TOROLT = 'F'
|
||||
AND tanora.C_TANTARGYID = @tantargyId
|
||||
AND tanora.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND tanora.C_TANARID = @tanarId
|
||||
AND tanora.C_ORAKEZDETE < @datum
|
||||
ORDER BY tanora.C_ORAKEZDETE DESC
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT TOP 1
|
||||
tanora.ID AS Id
|
||||
,tanora.C_TEMA AS Tema
|
||||
,tanora.C_DATUM AS Datum
|
||||
,felhasznalo.C_NYOMTATASINEV AS HelyettesNev
|
||||
,IIF(tanora.C_SORSZAMOZANDO = 'T', ROW_NUMBER() OVER (PARTITION BY tanora.C_SORSZAMOZANDO ORDER BY tanora.C_ORAKEZDETE), NULL) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES tanora
|
||||
LEFT JOIN T_FELHASZNALO felhasznalo ON felhasznalo.ID = tanora.C_HELYETTESITOTANARID
|
||||
WHERE tanora.C_TANEVID = @tanevId
|
||||
AND tanora.C_INTEZMENYID = @intezmenyId
|
||||
AND tanora.C_MEGTARTOTT = 'T'
|
||||
AND tanora.TOROLT = 'F'
|
||||
AND tanora.C_TANTARGYID = @tantargyId
|
||||
AND tanora.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND tanora.C_ORAKEZDETE < @datum
|
||||
ORDER BY tanora.C_ORAKEZDETE DESC
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT TOP 1
|
||||
tanora.ID AS Id
|
||||
,tanora.C_TEMA AS Tema
|
||||
,tanora.C_DATUM AS Datum
|
||||
,felhasznalo.C_NYOMTATASINEV AS HelyettesNev
|
||||
,IIF(tanora.C_SORSZAMOZANDO = 'T', ROW_NUMBER() OVER (PARTITION BY tanora.C_SORSZAMOZANDO ORDER BY tanora.C_ORAKEZDETE), NULL) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES tanora
|
||||
LEFT JOIN T_FELHASZNALO felhasznalo ON felhasznalo.ID = tanora.C_HELYETTESITOTANARID
|
||||
WHERE tanora.C_TANEVID = @tanevId
|
||||
AND tanora.C_INTEZMENYID = @intezmenyId
|
||||
AND tanora.C_TANTARGYID = @tantargyId
|
||||
AND tanora.C_OSZTALYCSOPORTID IN (
|
||||
SELECT csoport.ID
|
||||
FROM T_CSOPORT csoport
|
||||
WHERE csoport.C_OSZTALYBONTASID = (SELECT subCsoport.C_OSZTALYBONTASID FROM T_CSOPORT subCsoport WHERE subCsoport.ID = @osztalyCsoportId)
|
||||
UNION
|
||||
SELECT csoport.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT csoport
|
||||
WHERE csoport.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT csoport.ID
|
||||
FROM T_CSOPORT csoport
|
||||
WHERE csoport.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND tanora.C_TANARID = @tanarId
|
||||
AND tanora.C_ORAKEZDETE < @datum
|
||||
AND tanora.TOROLT = 'F'
|
||||
AND tanora.C_MEGTARTOTT = 'T'
|
||||
ORDER BY tanora.C_ORAKEZDETE DESC
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT TOP 1
|
||||
tanora.ID AS Id
|
||||
,tanora.C_TEMA AS Tema
|
||||
,tanora.C_DATUM AS Datum
|
||||
,felhasznalo.C_NYOMTATASINEV AS HelyettesNev
|
||||
,IIF(tanora.C_SORSZAMOZANDO = 'T', ROW_NUMBER() OVER (PARTITION BY tanora.C_SORSZAMOZANDO ORDER BY tanora.C_ORAKEZDETE), NULL) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES tanora
|
||||
LEFT JOIN T_FELHASZNALO felhasznalo ON felhasznalo.ID = tanora.C_HELYETTESITOTANARID
|
||||
WHERE tanora.C_TANEVID = @tanevId
|
||||
AND tanora.C_INTEZMENYID = @intezmenyId
|
||||
AND tanora.C_TANTARGYID = @tantargyId
|
||||
AND tanora.C_OSZTALYCSOPORTID IN (
|
||||
SELECT csoport.ID
|
||||
FROM T_CSOPORT csoport
|
||||
WHERE csoport.C_OSZTALYBONTASID = (SELECT subCsoport.C_OSZTALYBONTASID FROM T_CSOPORT subCsoport WHERE subCsoport.ID = @osztalyCsoportId)
|
||||
UNION
|
||||
SELECT csoport.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT csoport
|
||||
WHERE csoport.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT csoport.ID
|
||||
FROM T_CSOPORT csoport
|
||||
WHERE csoport.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND tanora.C_ORAKEZDETE < @datum
|
||||
AND tanora.TOROLT = 'F'
|
||||
AND tanora.C_MEGTARTOTT = 'T'
|
||||
ORDER BY tanora.C_ORAKEZDETE DESC
|
||||
END
|
||||
END
|
||||
|
||||
END
|
||||
GO
|
||||
@@ -0,0 +1,113 @@
|
||||
-- =============================================
|
||||
-- Author: <Hoffmann Zsolt>
|
||||
-- Create date: <2016. 07. 26.>
|
||||
-- Description: <Haladási napló>
|
||||
-- =============================================
|
||||
IF OBJECT_ID('sp_GetHaladasiNaploAdatok') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetHaladasiNaploAdatok
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetHaladasiNaploAdatok]
|
||||
@tanevID int,
|
||||
@osztalyID int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @foglalkozasID INT = 0
|
||||
DECLARE @foglalkozasNev VARCHAR(255)
|
||||
|
||||
SET NOCOUNT ON;
|
||||
SELECT DISTINCT
|
||||
f.id
|
||||
,ocs.C_NEV + ' - ' + tt.C_NEV AS Nev
|
||||
,f.C_TANTARGYID
|
||||
,f.C_OSZTALYCSOPORTID
|
||||
,f.C_INTEZMENYID
|
||||
,f.C_TANARID AS C_TANARID
|
||||
INTO #Foglalkozasok
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES OCS on OCS.ID = f.C_OSZTALYCSOPORTID and OCS.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTOK_OSZTALYOK cso on cso.C_CSOPORTOKID = ocs.ID
|
||||
INNER JOIN T_TANTARGY_OSSZES tt on tt.ID = f.C_TANTARGYID and tt.TOROLT = 'F'
|
||||
WHERE f.TOROLT = 'F'
|
||||
AND f.C_TANEVID = @tanevID
|
||||
AND (ocs.ID = @osztalyID OR cso.C_OSZTALYOKID = @osztalyID)
|
||||
|
||||
SELECT
|
||||
fog.ID
|
||||
, Nev+' - '+felh.C_NYOMTATASINEV Nev
|
||||
FROM #Foglalkozasok fog
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felh on fog.C_TANARID=felh.ID
|
||||
|
||||
DECLARE @sorszamTable TABLE (
|
||||
tanitasiOraId int-- PRIMARY KEY
|
||||
,evesOraszam int
|
||||
,foglalkozasId int
|
||||
)
|
||||
|
||||
INSERT INTO @sorszamTable (tanitasiOraId, evesOraszam, foglalkozasId)
|
||||
SELECT s.Id, s.EvesSorszam, f.ID FROM #Foglalkozasok f
|
||||
CROSS APPLY dbo.fnGetEvesOraszamLista(
|
||||
f.C_TANTARGYID
|
||||
,f.C_OSZTALYCSOPORTID
|
||||
,f.C_TANARID
|
||||
,GETDATE()
|
||||
,f.C_INTEZMENYID
|
||||
,@tanevID
|
||||
) s
|
||||
|
||||
|
||||
DECLARE foglalkozasCursor CURSOR FOR
|
||||
SELECT ID FROM #Foglalkozasok
|
||||
|
||||
OPEN foglalkozasCursor
|
||||
FETCH NEXT FROM foglalkozasCursor into @foglalkozasId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
SELECT DISTINCT
|
||||
CASE
|
||||
WHEN tn.C_MEGTARTOTT = 'T' THEN s.evesOraszam -- tn.C_ORAEVESSORSZAM
|
||||
ELSE '-'
|
||||
END AS OraSorszam
|
||||
,fh.C_NYOMTATASINEV TanarNev
|
||||
,tn.C_TEMA Tema
|
||||
,CASE
|
||||
WHEN tn.C_HELYETTESITOTANARID IS NULL THEN ''
|
||||
ELSE 'H'
|
||||
END AS Helyettesites
|
||||
,FORMAT(tn.C_DATUM, 'yyyy.MM.dd.') Datum
|
||||
,tn.C_ORASZAM OraSzam
|
||||
,tn.C_MEGJEGYZES Megjegyzes
|
||||
,tn.C_HAZIFELADAT HaziFeladat
|
||||
,tn.C_TULORA TulOra
|
||||
,tn.C_TAMOPORA TamopOra
|
||||
,tn.C_NEMSZAKRENDSZERUORA NemszakrendszeruOra
|
||||
,tn.C_IKTTANORA IktOra
|
||||
,tn.C_NEMZETISEGIORA NemzetisegiOra
|
||||
,tn.C_MINDENNAPOSTESTNEVELES TestnevelesOra
|
||||
,tn.C_IPRTANORA IprOra
|
||||
,tn.C_DIFFERENCIALT DifferencialtOra
|
||||
,tn.C_KOOPERATIV KooperativOra
|
||||
,tn.C_MERES MeresOra
|
||||
,tn.C_DRAMA DramaOra
|
||||
,tn.C_PARHUZAMOSORA ParhuzamosOra
|
||||
,tn.C_TIOP12 TiopOra
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
INNER JOIN T_FELHASZNALO fh ON fh.ID = tn.C_TANARID
|
||||
LEFT JOIN @sorszamTable s ON s.tanitasiOraId = tn.ID
|
||||
WHERE tn.TOROLT = 'F'
|
||||
AND tn.C_TANEVID = @tanevID
|
||||
AND tn.C_FOGLALKOZASID = @foglalkozasID
|
||||
ORDER BY FORMAT(tn.C_DATUM, 'yyyy.MM.dd.')
|
||||
|
||||
FETCH NEXT FROM foglalkozasCursor
|
||||
INTO @foglalkozasId
|
||||
END
|
||||
|
||||
CLOSE foglalkozasCursor
|
||||
DEALLOCATE foglalkozasCursor
|
||||
|
||||
DROP TABLE #Foglalkozasok
|
||||
END
|
||||
|
||||
GO
|
||||
@@ -0,0 +1,224 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('dbo.sp_GetHelyettesitesekOrarend') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetHelyettesitesekOrarend
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetHelyettesitesekOrarend]
|
||||
@IntezmenyId int,
|
||||
@TanevId int,
|
||||
@IdoszakKezdete datetime,
|
||||
@IdoszakVege datetime,
|
||||
@TanarId int,
|
||||
@CsakOrarendiOrak bit
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @KezdoHet int = DATEPART( ISO_WEEK, @IdoszakKezdete);
|
||||
DECLARE @ZaroHet int = DATEPART( ISO_WEEK, @IdoszakVege);
|
||||
|
||||
|
||||
SELECT Distinct
|
||||
Datum,
|
||||
ISNULL(TanevHetirend, NapHetirend) Hetirend,
|
||||
ISNULL(TanevHetNapja, NapHetNapja) HetNapja,
|
||||
OsztalyCsoportId
|
||||
INTO #TEMPORARENDINAPOK
|
||||
FROM (
|
||||
SELECT
|
||||
NAPTARINAP.Datum Datum,
|
||||
NAPTARINAP.NapHetirend,
|
||||
NAPTARINAP.NapHetNapja,
|
||||
NAPTARINAP.TanevHetirend,
|
||||
NAPTARINAP.TanevHetNapja,
|
||||
NAPTARINAP.OsztalyCsoportId
|
||||
FROM (
|
||||
(
|
||||
SELECT
|
||||
C_NAPDATUMA Datum,
|
||||
C_HETIREND NapHetirend,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), C_HETNAPJA) NapHetNapja,
|
||||
null TanevHetirend,
|
||||
null TanevHetNapja,
|
||||
null OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
WHERE (TOROLT = 'F' AND C_NAPDATUMA >= @IdoszakKezdete AND C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
union
|
||||
(
|
||||
SELECT
|
||||
NAPTARINAP.C_NAPDATUMA Datum,
|
||||
NAPTARINAP.C_HETIREND NapHetirend,
|
||||
IIF(NAPTARINAP.C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), NAPTARINAP.C_HETNAPJA) NapHetNapja,
|
||||
tanevRendHetirend.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja,
|
||||
tanevRendHetirend.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES NAPTARINAP
|
||||
inner JOIN (
|
||||
SELECT
|
||||
C_DATUM,
|
||||
C_HETIREND,
|
||||
T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_DATUM), C_HETNAPJA) AS C_HETNAPJA
|
||||
from T_TANEVRENDJE_OSSZES
|
||||
inner Join T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
WHERE TOROLT = 'F' AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId And TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.C_NAPDATUMA
|
||||
WHERE (TOROLT = 'F' AND NAPTARINAP.C_NAPDATUMA >= @IdoszakKezdete AND NAPTARINAP.C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
union
|
||||
(
|
||||
SELECT
|
||||
NAPTARINAP.C_NAPDATUMA Datum,
|
||||
NAPTARINAP.C_HETIREND NapHetirend,
|
||||
IIF(NAPTARINAP.C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), NAPTARINAP.C_HETNAPJA) NapHetNapja,
|
||||
NAPTARINAP.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja,
|
||||
tanevRendHetirend.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES NAPTARINAP
|
||||
inner JOIN (
|
||||
SELECT
|
||||
C_DATUM,
|
||||
C_HETIREND,
|
||||
T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_DATUM), C_HETNAPJA) AS C_HETNAPJA
|
||||
from T_TANEVRENDJE_OSSZES
|
||||
inner Join T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
WHERE TOROLT = 'F' AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId And TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.C_NAPDATUMA
|
||||
WHERE (TOROLT = 'F' AND NAPTARINAP.C_NAPDATUMA >= @IdoszakKezdete AND NAPTARINAP.C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
) NAPTARINAP
|
||||
) result
|
||||
|
||||
DECLARE @VegzosUtolsoTanitasiNap_spGetOrarend DATETIME;
|
||||
SELECT
|
||||
@VegzosUtolsoTanitasiNap_spGetOrarend = C_DATUM
|
||||
FROM
|
||||
T_TANEVRENDJE
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_TANEVID = (SELECT ID FROM T_TANEV WHERE TOROLT = 'F' AND C_AKTIV = 'T' AND C_INTEZMENYID = @IntezmenyId)
|
||||
AND C_NAPTIPUSA = 1402 AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
|
||||
/*Tanítási órák*/
|
||||
SELECT
|
||||
TANITASIORA.ID Id,
|
||||
oo.ID ORARENDIID,
|
||||
TANITASIORA.C_BONTOTT Bontott,
|
||||
(SELECT T_NAPTARINAP.C_HETIREND FROM T_NAPTARINAP WHERE T_NAPTARINAP.ID = TANITASIORA.C_NAPTARINAPID) Hetirend,
|
||||
TANITASIORA.C_HETNAPJA HetNapja,
|
||||
'' ErvenyessegKezdete,
|
||||
'' ErvenyessegVege,
|
||||
TANITASIORA.C_ORAKEZDETE OraKezdete,
|
||||
TANITASIORA.C_ORAVEGE OraVege,
|
||||
TANITASIORA.C_ORASZAM Oraszam,
|
||||
ISNULL(TARGY.C_ROVIDNEV, TARGY.C_NEV) TargyNev,
|
||||
TANITASIORA.C_MEGTARTOTT Megtartott,
|
||||
TANITASIORA.C_CSENGETESIRENDORAID CsengetesiRendOraID,
|
||||
null as MaxNapiOraszam,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
CAST(null AS int) TanevRendOsztalyCsoportId,
|
||||
TANAR.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'TanitasiOra' OraTipus,
|
||||
''Hianyzas,
|
||||
'' Keses,
|
||||
TANITASIORA.C_HELYETTESITOTANARID HelyettesitoTanarID,
|
||||
TANAR.ID TanarID,
|
||||
TANITASIORA.C_ADMINALTALKIIRT AdminAltalKiirt,
|
||||
HELYETTESTANAR.C_NYOMTATASINEV HelyettesitoTanarNev,
|
||||
TANITASIORA.C_ORARENDIORAGROUPID GroupId,
|
||||
null as HelyettesitesId
|
||||
INTO #TEMPORAK
|
||||
FROM T_TANITASIORA TANITASIORA
|
||||
LEFT JOIN T_TANTARGY TARGY ON (TARGY.ID = TANITASIORA.C_TANTARGYID AND TARGY.C_INTEZMENYID = @IntezmenyId AND TARGY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_FELHASZNALO TANAR ON TANITASIORA.C_TANARID = TANAR.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT OSZTALY ON (TANITASIORA.C_OSZTALYCSOPORTID = OSZTALY.ID AND OSZTALY.C_INTEZMENYID = @IntezmenyId AND OSZTALY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_TEREM TEREM ON (TEREM.id = TANITASIORA.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_FELHASZNALO HELYETTESTANAR on TANITASIORA.C_HELYETTESITOTANARID = HELYETTESTANAR.ID
|
||||
LEFT JOIN T_ORARENDIORA oo ON TANITASIORA.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND TANITASIORA.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
WHERE
|
||||
@CsakOrarendiOrak = 0 AND TANITASIORA.TOROLT='F' AND TANITASIORA.C_INTEZMENYID = @IntezmenyId AND TANITASIORA.C_TANEVID=@TanevId
|
||||
AND TANITASIORA.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND (TANITASIORA.C_ORAKEZDETE >= @IdoszakKezdete
|
||||
AND TANITASIORA.C_ORAVEGE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END))
|
||||
AND (@TanarId IS NULL OR ( TANITASIORA.C_HELYETTESITOTANARID = @TanarId OR TANITASIORA.C_ORATULAJDONOSID = @TanarId OR TANITASIORA.C_TANARID = @TanarId))
|
||||
|
||||
|
||||
/*Órarendi órák*/
|
||||
INSERT INTO #TEMPORAK
|
||||
SELECT DISTINCT
|
||||
OrarendiOrak.Id, ORARENDIID, Bontott, Hetirend, HetNapja, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, OraVege,
|
||||
Oraszam, TargyNev, Megtartott, CsengetesiRendOraID, MaxNapiOraszam, OsztalyNev, TanevRendOsztalyCsoportId,TanarNev, TeremNev, OraTipus, Hianyzas, Keses,
|
||||
T_HELYETTESITESIIDOSZAK.C_HELYETTESTANAROKID HelyettesitoTanarID, TanarID,AdminAltalKiirt,HELYETTESTANAR.C_NYOMTATASINEV as HelyettesitoTanarNev,GroupId, T_HELYETTESITESIIDOSZAK.ID as HelyettesitesId
|
||||
FROM (
|
||||
SELECT
|
||||
T_ORARENDIORA.ID Id,
|
||||
T_ORARENDIORA.ID ORARENDIID,
|
||||
T_ORARENDIORA.C_BONTOTT Bontott,
|
||||
T_ORARENDIORA.C_HETIREND Hetirend,
|
||||
T_ORARENDIORA.C_HETNAPJA HetNapja,
|
||||
T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE ErvenyessegKezdete,
|
||||
T_ORARENDIORA.C_ORAERVENYESSEGVEGE ErvenyessegVege,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA.C_ORAKEZDETE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA.C_ORAKEZDETE), ORARENDINAPOK.DATUM)) OraKezdete,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA.C_ORAVEGE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA.C_ORAVEGE), ORARENDINAPOK.DATUM)) OraVege,
|
||||
T_ORARENDIORA.C_ORASZAM Oraszam,
|
||||
ISNULL(TARGY.C_ROVIDNEV, TARGY.C_NEV) TargyNev,
|
||||
'F' Megtartott,
|
||||
T_ORARENDIORA.C_CSENGETESIRENDORAID CsengetesiRendOraID,
|
||||
(select max(csro.C_ORASZAM) from T_CSENGETESIRENDORA csro where csro.C_CSENGETESIRENDID =
|
||||
(select C_CSENGETESIRENDID from T_TANEVRENDJE where CAST(C_DATUM as date) = CAST(ORARENDINAPOK.DATUM as date))) as MaxNapiOraszam,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
ORARENDINAPOK.OsztalyCsoportId TanevRendOsztalyCsoportId,
|
||||
TANAR.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'OrarendiOra' OraTipus,
|
||||
'F' Hianyzas,
|
||||
'F' Keses,
|
||||
TANAR.ID TanarID,
|
||||
C_ORARENDIORAGROUPID GroupId,
|
||||
'F' AdminAltalKiirt
|
||||
FROM
|
||||
T_ORARENDIORA
|
||||
INNER JOIN #TEMPORARENDINAPOK ORARENDINAPOK ON (( T_ORARENDIORA.C_HETIREND = 1554 OR ORARENDINAPOK.HETIREND = T_ORARENDIORA.C_HETIREND ) AND ORARENDINAPOK.HETNAPJA = T_ORARENDIORA.C_HETNAPJA And (T_ORARENDIORA.C_OSZTALYCSOPORTID = ORARENDINAPOK.OsztalyCsoportId or ORARENDINAPOK.OsztalyCsoportId is null) )
|
||||
LEFT JOIN T_TANTARGY TARGY ON TARGY.ID = T_ORARENDIORA.C_TANTARGYID AND TARGY.TOROLT = 'F' AND TARGY.C_INTEZMENYID = @IntezmenyId AND TARGY.C_TANEVID=@TanevId
|
||||
LEFT JOIN T_FELHASZNALO TANAR ON TANAR.ID = T_ORARENDIORA.C_TANARID AND TANAR.TOROLT= 'F'
|
||||
LEFT JOIN T_OSZTALYCSOPORT OSZTALY ON T_ORARENDIORA.C_OSZTALYCSOPORTID = OSZTALY.ID AND OSZTALY.C_INTEZMENYID = @IntezmenyId AND OSZTALY.C_TANEVID=@TanevId
|
||||
LEFT JOIN T_TEREM TEREM ON (TEREM.id = T_ORARENDIORA.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
|
||||
WHERE
|
||||
T_ORARENDIORA.TOROLT='F'
|
||||
AND T_ORARENDIORA.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND T_ORARENDIORA.C_INTEZMENYID = @IntezmenyId
|
||||
AND T_ORARENDIORA.C_TANEVID=@TanevId
|
||||
AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE >= @IdoszakKezdete
|
||||
AND T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END)
|
||||
AND ORARENDINAPOK.DATUM BETWEEN @IdoszakKezdete AND (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END)
|
||||
AND (
|
||||
(ORARENDINAPOK.DATUM >= T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM < T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
|
||||
OR
|
||||
(ORARENDINAPOK.DATUM = T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM = T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
|
||||
)
|
||||
|
||||
) OrarendiOrak
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK ON (OrarendiOrak.ID = T_HELYETTESITESIIDOSZAK.C_HELYETTESITETTORARENDID
|
||||
And T_HELYETTESITESIIDOSZAK.C_HETSORSZAMA >= @KezdoHet
|
||||
AND (T_HELYETTESITESIIDOSZAK.C_HETSORSZAMA <= @ZaroHet)
|
||||
And T_HELYETTESITESIIDOSZAK.TOROLT = 'F' AND DATEDIFF(DAY, OrarendiOrak.OraKezdete, T_HELYETTESITESIIDOSZAK.C_HELYETTESITESNAPJA) = 0)
|
||||
LEFT JOIN T_FELHASZNALO HELYETTESTANAR ON HELYETTESTANAR.ID = T_HELYETTESITESIIDOSZAK.C_HELYETTESTANAROKID
|
||||
WHERE (@TanarId IS NULL OR OrarendiOrak.TanarID = @TanarId OR T_HELYETTESITESIIDOSZAK.C_HELYETTESTANAROKID = @TanarId)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM #TEMPORAK TANORAK
|
||||
WHERE TANORAK.GroupId = OrarendiOrak.GroupId
|
||||
AND DATEDIFF(DAY, TANORAK.OraKezdete, OrarendiOrak.OraKezdete) = 0
|
||||
AND DATEDIFF(DAY, TANORAK.OraVege, OrarendiOrak.OraVege) = 0
|
||||
)
|
||||
|
||||
SELECT DISTINCT * FROM #TEMPORAK order by orakezdete
|
||||
|
||||
DROP TABLE #TEMPORAK
|
||||
DROP TABLE #TEMPORARENDINAPOK
|
||||
END
|
||||
@@ -0,0 +1,144 @@
|
||||
IF OBJECT_ID('[dbo].[sp_GetHelyettesitesiNaplo]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetHelyettesitesiNaplo]
|
||||
END
|
||||
GO
|
||||
-- ===================================================================
|
||||
-- Author: Tóth Imre Attila
|
||||
-- Create date: 2016. 08. 01.
|
||||
-- Description: Lekérdezések a helyettesítési naplóhoz
|
||||
-- ===================================================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetHelyettesitesiNaplo]
|
||||
@tanarID int,
|
||||
@tanevID int,
|
||||
@intezmenyid int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- ===================================
|
||||
-- FEJLÉC
|
||||
-- ===================================
|
||||
DECLARE @table TABLE (
|
||||
EvHonap nvarchar(10),
|
||||
Helyettesito nvarchar(100)
|
||||
)
|
||||
|
||||
INSERT INTO @table
|
||||
SELECT DISTINCT
|
||||
format(C_DATUM, 'yyyy.MM') AS EvHonap,
|
||||
felhHelyettes.C_NYOMTATASINEV AS Helyettesito
|
||||
FROM T_TANITASIORA_OSSZES tOra
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES felhHelyettes on felhHelyettes.ID = tOra.C_HELYETTESITOTANARID
|
||||
WHERE tOra.C_HELYETTESITOTANARID = @tanarID
|
||||
AND tOra.C_TANEVID = @tanevID
|
||||
AND tOra.Torolt='F'
|
||||
|
||||
SELECT * FROM @table
|
||||
|
||||
SELECT
|
||||
format(C_NAPDATUMA, 'yyyy.MM') AS EvHonap,
|
||||
C_HETNAPJA AS Nap
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
WHERE format(C_NAPDATUMA, 'yyyy.MM') IN (SELECT EvHonap FROM @table)
|
||||
|
||||
-- ===================================
|
||||
-- HELYETTESÍTÉSEK (SOROK)
|
||||
-- ===================================
|
||||
|
||||
DECLARE @oraSorszam TABLE (Id int, EvesSorszam int)
|
||||
|
||||
INSERT INTO @oraSorszam
|
||||
SELECT DISTINCT
|
||||
s.Id
|
||||
, s.EvesSorszam
|
||||
FROM (
|
||||
SELECT DISTINCT
|
||||
tn.C_TANTARGYID
|
||||
, tn.C_OSZTALYCSOPORTID
|
||||
, tn.C_TANARID
|
||||
, tn.C_INTEZMENYID
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
WHERE C_HELYETTESITOTANARID = @tanarID
|
||||
AND C_TANEVID = @tanevID
|
||||
) x
|
||||
CROSS APPLY dbo.fnGetEvesOraszamLista (
|
||||
x.C_TANTARGYID
|
||||
,x.C_OSZTALYCSOPORTID
|
||||
,x.C_TANARID
|
||||
,GETDATE()
|
||||
,x.C_INTEZMENYID
|
||||
,@tanevID
|
||||
) s
|
||||
|
||||
SELECT DISTINCT
|
||||
ROW_NUMBER() over(PARTITION BY FORMAT(C_DATUM, 'yyyy.MM') ORDER BY C_DATUM) Sorsz
|
||||
,tOra.C_ORASZAM AS Oraszam
|
||||
,DicItemBase.C_NAME AS HelyettesitesTipusa
|
||||
,FORMAT(C_DATUM, 'yyyy.MM.dd.') AS Datum
|
||||
,FORMAT(C_DATUM, 'yyyy.MM') AS EvHonap
|
||||
,felhOraTul.C_NYOMTATASINEV AS Helyettesitett
|
||||
,osztcsop.C_NEV AS OsztalyCsoport
|
||||
,tant.C_NEV AS Tantargy
|
||||
,tOra.C_TEMA AS Tema
|
||||
,s.EvesSorszam AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES tOra
|
||||
LEFT JOIN @oraSorszam s ON s.ID = tOra.ID
|
||||
LEFT JOIN T_ORARENDIORA_OSSZES oo ON oo.ID = tOra.C_ORARENDIORAID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES felhOraTul ON felhOraTul.ID = oo.C_TANARID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.ID = tOra.C_HELYETTESITOTANARID
|
||||
LEFT JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE_OSSZES) DicItemBase on DicItemBase.ID = tOra.C_HELYETTESITESTIPUSA
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES osztcsop ON osztcsop.ID = tOra.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tOra.C_TANTARGYID
|
||||
WHERE helyettesito.ID = @tanarID
|
||||
AND tOra.C_TANEVID = @tanevID
|
||||
AND TOra.Torolt = 'F'
|
||||
ORDER BY Sorsz ASC
|
||||
|
||||
-- ===================================
|
||||
-- HELYETTESÍTÉSEK NAPIBONTÁSBAN
|
||||
-- ===================================
|
||||
SELECT
|
||||
EvHonap,
|
||||
OsztalyCsoport = TantargyN + ' - ' + OsztCsopN,
|
||||
ISNULL([1], 0) AS [1], ISNULL([2], 0) AS [2], ISNULL([3], 0) AS [3], ISNULL([4], 0) AS [4], ISNULL([5], 0) AS [5], ISNULL([6], 0) AS [6], ISNULL([7], 0) AS [7], ISNULL([8], 0) AS [8], ISNULL([9], 0) AS [9], ISNULL([10], 0) AS [10],
|
||||
ISNULL([11], 0) AS [11], ISNULL([12], 0) AS [12], ISNULL([13], 0) AS [13], ISNULL([14], 0) AS [14], ISNULL([15], 0) AS [15], ISNULL([16], 0) AS [16], ISNULL([17], 0) AS [17], ISNULL([18], 0) AS [18], ISNULL([19], 0) AS [19], ISNULL([20], 0) AS [20],
|
||||
ISNULL([21], 0) AS [21], ISNULL([22], 0) AS [22], ISNULL([23], 0) AS [23], ISNULL([24], 0) AS [24], ISNULL([25], 0) AS [25], ISNULL([26], 0) AS [26], ISNULL([27], 0) AS [27], ISNULL([28], 0) AS [28], ISNULL([29], 0) AS [29], ISNULL([30], 0) AS [30],
|
||||
ISNULL([31], 0) AS [31],
|
||||
ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) + ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
||||
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) + ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
||||
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) + ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) +
|
||||
ISNULL([31], 0) AS Ossz
|
||||
FROM (
|
||||
SELECT
|
||||
CASE (tOra.c_helyettesitestipusa)
|
||||
WHEN '1496' THEN COUNT(tant.C_NEV)
|
||||
WHEN '1494' THEN COUNT(tant.C_NEV)
|
||||
WHEN '1495' THEN COUNT(tant.C_NEV)
|
||||
END AS Tant,
|
||||
osztCsop.C_NEV AS osztcsopN,
|
||||
tant.C_NEV AS TantargyN,
|
||||
DATEPART(DAY, C_DATUM) AS Nap,
|
||||
FORMAT(C_DATUM, 'yyyy.MM') AS EvHonap
|
||||
FROM T_TANITASIORA_OSSZES tOra
|
||||
INNER JOIN T_TANTARGY_OSSZES tant on tant.ID = tOra.C_TANTARGYID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztCsop on osztCsop.ID = tOra.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
tOra.C_HELYETTESITOTANARID = @tanarID
|
||||
AND tOra.C_TANEVID = @tanevID
|
||||
AND TOra.TOROLT='F'
|
||||
GROUP BY
|
||||
osztCsop.C_NEV, tant.C_NEV, C_DATUM, tOra.c_helyettesitestipusa
|
||||
) T
|
||||
PIVOT (
|
||||
max(Tant)
|
||||
FOR Nap IN (
|
||||
[1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
||||
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
||||
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31]
|
||||
)
|
||||
) Helyettesitesek
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
@@ -0,0 +1,172 @@
|
||||
IF OBJECT_ID('sp_GetNemMegtartottOrakSzamaByHet') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetNemMegtartottOrakSzamaByHet
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetNemMegtartottOrakSzamaByHet
|
||||
@osztalyId INT
|
||||
,@intezmenyId INT
|
||||
,@tanevId INT
|
||||
,@hetSorszam INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @vegzosUtolsoNapDatuma DATE = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND TOROLT = 'F' AND C_NAPTIPUSA = 1402)
|
||||
|
||||
DECLARE @vegzosOsztalyokCsoportok TABLE (osztalyId INT)
|
||||
INSERT INTO @vegzosOsztalyokCsoportok
|
||||
SELECT ID FROM T_OSZTALYCSOPORT_OSSZES WHERE C_VEGZOSEVFOLYAM = 'T' AND C_TANEVID = @tanevID AND TOROLT = 'F'
|
||||
|
||||
DECLARE @aktualisHetHetirendje INT = (SELECT C_HETIREND FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA=@hetSorszam AND TOROLT='F' AND C_TANEVID=@tanevId)
|
||||
|
||||
DECLARE @OsszesNap TABLE (Datum DATE, Hetirend INT, OrarendiNap NVARCHAR(1), OsztalyCsoportId INT)
|
||||
INSERT INTO @OsszesNap
|
||||
SELECT DISTINCT
|
||||
C_NAPDATUMA
|
||||
,C_HETIREND
|
||||
,C_ORARENDINAP
|
||||
,kapcsolodo.Id
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
CROSS JOIN fnGetKapcsolodoOsztalycsoportok(@osztalyId) kapcsolodo
|
||||
WHERE
|
||||
C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
|
||||
DECLARE @TanevRendje TABLE (Datum DATE, Hetirend INT, OsztalyCsoportId INT, OrarendiNap NVARCHAR(1))
|
||||
INSERT INTO @TanevRendje
|
||||
SELECT
|
||||
C_DATUM
|
||||
,C_HETIREND
|
||||
,kapcsolodo.Id
|
||||
,C_ORARENDINAP
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
CROSS JOIN fnGetKapcsolodoOsztalycsoportok(@osztalyId) kapcsolodo
|
||||
WHERE
|
||||
C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
AND C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
|
||||
DECLARE @TanevRendjeOsztalyCsoportonkent TABLE (Datum DATE, Hetirend INT, OsztalyCsoportId INT, OrarendiNap NVARCHAR(1))
|
||||
INSERT INTO @TanevRendjeOsztalyCsoportonkent
|
||||
SELECT
|
||||
C_DATUM
|
||||
,C_HETIREND
|
||||
,C_OSZTALYCSOPORTID
|
||||
,C_ORARENDINAP
|
||||
FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
|
||||
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
INNER JOIN fnGetKapcsolodoOsztalycsoportok(@osztalyId) kapcsolodo ON kapcsolodo.Id = C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
|
||||
DECLARE @OrarendiNapok TABLE (Datum DATE, OsztalyCsoportId INT, Hetirend INT)
|
||||
INSERT INTO @OrarendiNapok
|
||||
SELECT
|
||||
Datum
|
||||
,OsztalyCsoportId
|
||||
,Hetirend
|
||||
FROM
|
||||
(SELECT
|
||||
OsszesNap.Datum
|
||||
,OsszesNap.OsztalyCsoportId
|
||||
,COALESCE(trocs.OrarendiNap, tr.OrarendiNap, OsszesNap.OrarendiNap) OrarendiNap
|
||||
,COALESCE(trocs.Hetirend, tr.Hetirend, OsszesNap.Hetirend) Hetirend
|
||||
FROM @OsszesNap OsszesNap
|
||||
LEFT JOIN @TanevRendje tr ON tr.Datum = OsszesNap.Datum AND tr.OsztalyCsoportId = OsszesNap.OsztalyCsoportId
|
||||
LEFT JOIN @TanevRendjeOsztalyCsoportonkent trocs ON trocs.Datum = OsszesNap.Datum AND trocs.OsztalyCsoportId = OsszesNap.OsztalyCsoportId
|
||||
WHERE
|
||||
OsszesNap.OrarendiNap = 'T' OR tr.OrarendiNap = 'T' OR trocs.OrarendiNap = 'T'
|
||||
) a
|
||||
WHERE OrarendiNap ='T'
|
||||
|
||||
SELECT
|
||||
Id AS Id
|
||||
,@hetSorszam AS HetSzama
|
||||
,C_NAPDATUMA AS Datum
|
||||
,C_HETNAPJA AS Hetnapja
|
||||
,C_ORASZAM AS Oraszam
|
||||
,C_NEV AS OsztalyNev
|
||||
,tant AS TargyNev
|
||||
,Nev AS TanarNev
|
||||
FROM
|
||||
(
|
||||
SELECT DISTINCT
|
||||
oo.id
|
||||
,naptar.C_NAPDATUMA
|
||||
,naptar.C_HETNAPJA
|
||||
,oo.C_ORASZAM
|
||||
,ocs.C_NEV
|
||||
,t.C_NEV tant
|
||||
,ISNULL(fh.C_NYOMTATASINEV, f.C_NYOMTATASINEV) Nev
|
||||
FROM T_ORARENDIORA_OSSZES oo
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar ON
|
||||
((naptar.C_NAPDATUMA >=oo.C_ORAERVENYESSEGKEZDETE AND naptar.C_NAPDATUMA < oo.C_ORAERVENYESSEGVEGE)
|
||||
OR
|
||||
(naptar.C_NAPDATUMA = oo.C_ORAERVENYESSEGKEZDETE AND naptar.C_NAPDATUMA = oo.C_ORAERVENYESSEGVEGE))
|
||||
AND oo.C_HETNAPJA=naptar.C_HETNAPJA
|
||||
AND (naptar.C_NAPTIPUSA NOT IN (1386,1387,1389,1391,1392,1396,1397,1398,1399,1401))
|
||||
INNER JOIN @OrarendiNapok OrarendiNapok ON OrarendiNapok.OsztalyCsoportId = oo.C_OSZTALYCSOPORTID AND OrarendiNapok.Datum = naptar.C_NAPDATUMA AND (OrarendiNapok.Hetirend = oo.C_HETIREND OR oo.C_HETIREND = 1554)
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao ON
|
||||
naptar.C_NAPDATUMA = tao.C_DATUM
|
||||
AND tao.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID
|
||||
AND tao.C_TANTARGYID = oo.C_TANTARGYID
|
||||
AND oo.C_TANARID IN (tao.C_TANARID, tao.C_HELYETTESITOTANARID, tao.C_ORATULAJDONOSID)
|
||||
AND tao.C_HETNAPJA = oo.C_HETNAPJA
|
||||
AND tao.C_ORASZAM = oo.C_ORASZAM
|
||||
AND tao.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
AND tao.TOROLT='F'
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES hely ON hely.C_HELYETTESITETTORARENDID=oo.ID AND CAST(hely.C_HELYETTESITESNAPJA AS DATE) = naptar.C_NAPDATUMA
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON oo.C_TANARID = f.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON hely.C_HELYETTESTANAROKID = f.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID=oo.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID=oo.C_TANTARGYID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID=oo.C_HETIREND AND d.C_TANEVID=oo.C_TANEVID AND d.C_INTEZMENYID=oo.C_INTEZMENYID
|
||||
WHERE
|
||||
oo.TOROLT='F'
|
||||
AND oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@osztalyId))
|
||||
AND naptar.C_NAPDATUMA <= IIF(@osztalyId IN (SELECT osztalyId FROM @vegzosOsztalyokCsoportok) AND GETDATE() >= @vegzosUtolsoNapDatuma, @vegzosUtolsoNapDatuma, GETDATE())
|
||||
AND tao.ID IS NULL
|
||||
AND hely.ID IS NULL
|
||||
AND (oo.C_TANORANKIVULIFOGLALKOZAS = 'F' OR oo.C_TANORANKIVULIFOGLALKOZAS IS NULL)
|
||||
AND oo.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND naptar.C_TANEVID = @tanevId
|
||||
AND naptar.C_HETSORSZAMA = @hetSorszam
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
oo.id
|
||||
,naptar.C_NAPDATUMA
|
||||
,naptar.C_HETNAPJA
|
||||
,oo.C_ORASZAM
|
||||
,ocs.C_NEV
|
||||
,t.C_NEV
|
||||
,f.C_NYOMTATASINEV +' (' + fh.C_NYOMTATASINEV +')'
|
||||
FROM T_HELYETTESITESIIDOSZAK_OSSZES hi
|
||||
INNER JOIN T_ORARENDIORA_OSSZES oo on oo.Id=hi.C_HELYETTESITETTORARENDID
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar on naptar.C_NAPDATUMA = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND naptar.C_TANEVID=hi.C_TANEVID AND naptar.C_INTEZMENYID=hi.C_INTEZMENYID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON oo.C_TANARID = f.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON hi.C_HELYETTESTANAROKID = fH.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID=oo.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES t ON t.ID=oo.C_TANTARGYID
|
||||
LEFT JOIN T_TEREM_OSSZES ter ON ter.ID=oo.C_TEREMID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=oo.C_HETIREND AND d.C_TANEVID=oo.C_TANEVID AND d.C_INTEZMENYID=oo.C_INTEZMENYID
|
||||
WHERE
|
||||
oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@osztalyId))
|
||||
AND (oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA=1034) OR oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES))
|
||||
AND hi.TOROLT='F'
|
||||
AND naptar.C_HETSORSZAMA = @hetSorszam
|
||||
AND (oo.C_TANORANKIVULIFOGLALKOZAS = 'F' OR oo.C_TANORANKIVULIFOGLALKOZAS IS NULL)
|
||||
AND oo.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND oo.TOROLT='F'
|
||||
AND hi.C_HELYETTESITESNAPJA <= IIF(oo.C_OSZTALYCSOPORTID IN (SELECT osztalyId FROM @vegzosOsztalyokCsoportok) AND GETDATE() >= @vegzosUtolsoNapDatuma, @vegzosUtolsoNapDatuma, GETDATE())
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM T_ORARENDIORA_OSSZES ooo
|
||||
JOIN T_TANITASIORA_OSSZES tao ON tao.C_ORARENDIORAGROUPID = ooo.C_ORARENDIORAGROUPID AND tao.C_DATUM BETWEEN ooo.C_ORAERVENYESSEGKEZDETE AND ooo.C_ORAERVENYESSEGVEGE
|
||||
WHERE tao.C_DATUM = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND ooo.ID=hi.C_HELYETTESITETTORARENDID AND tao.TOROLT='F')
|
||||
) a
|
||||
ORDER BY Datum, Oraszam
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
@@ -0,0 +1,103 @@
|
||||
IF OBJECT_ID('sp_GetOraEvesSorszama') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOraEvesSorszama
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOraEvesSorszama
|
||||
@tantargyId int,
|
||||
@osztalyCsoportId int,
|
||||
@datum datetime,
|
||||
@tanarId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @tanarSzamit bit,
|
||||
@osztalybontasEgybe bit,
|
||||
@osztalybontasCsoport bit
|
||||
|
||||
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 COUNT(1) AS cnt
|
||||
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 COUNT(1) AS cnt
|
||||
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 COUNT(1) AS cnt
|
||||
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)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
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 COUNT(1) AS cnt
|
||||
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)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.TOROLT = 'F'
|
||||
END
|
||||
END
|
||||
END
|
||||
GO
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
IF OBJECT_ID('sp_GetOraEvesSorszamaLista') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOraEvesSorszamaLista
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOraEvesSorszamaLista
|
||||
@tantargyId int,
|
||||
@osztalyCsoportId int,
|
||||
@datum datetime,
|
||||
@tanarId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @tanarSzamit bit,
|
||||
@osztalybontasEgybe bit,
|
||||
@osztalybontasCsoport bit
|
||||
|
||||
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
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraEvesSorszam
|
||||
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
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraEvesSorszam
|
||||
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
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraEvesSorszam
|
||||
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)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
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
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraEvesSorszam
|
||||
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)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.TOROLT = 'F'
|
||||
END
|
||||
END
|
||||
END
|
||||
GO
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
IF OBJECT_ID('sp_GetOraSorszamByOsztaly') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOraSorszamByOsztaly
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOraSorszamByOsztaly
|
||||
@osztalyCsoportId INT,
|
||||
@datum DATETIME,
|
||||
@intezmenyId INT,
|
||||
@tanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @tanarSzamit bit,
|
||||
@osztalybontasEgybe bit,
|
||||
@osztalybontasCsoport bit
|
||||
|
||||
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 (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
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.C_OSZTALYCSOPORTID, 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_ORAKEZDETE <= @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_OSZTALYCSOPORTID, 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_ORAKEZDETE <= @datum
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_INTEZMENYID = @intezmenyid
|
||||
AND t.C_TANEVID = @tanevId
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
|
||||
DECLARE @osztalyId int, @csoportId int
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = @osztalyCsoportId) BEGIN
|
||||
SET @csoportId = @osztalyCsoportId
|
||||
SELECT @osztalyId = C_OSZTALYBONTASID FROM T_CSOPORT_OSSZES WHERE ID = @osztalyCsoportId
|
||||
END
|
||||
ELSE BEGIN
|
||||
SET @osztalyId = @osztalyCsoportId
|
||||
SELECT TOP(1) @csoportId = csoport
|
||||
FROM (
|
||||
SELECT
|
||||
t.C_OSZTALYCSOPORTID as csoport
|
||||
,COUNT(1) AS cnt
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_OSZTALYBONTASID = @osztalyCsoportId)
|
||||
AND t.C_ORAKEZDETE <= @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
|
||||
GROUP BY t.C_OSZTALYCSOPORTID
|
||||
) x
|
||||
ORDER BY cnt DESC
|
||||
END
|
||||
|
||||
SELECT TanitasiOraId, OraSorszam
|
||||
FROM (
|
||||
SELECT
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.C_TANTARGYID ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
|
||||
,t.C_OSZTALYCSOPORTID AS ocsId
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_OSZTALYCSOPORTID IN (@osztalyId, @csoportId)
|
||||
AND t.C_ORAKEZDETE <= @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
|
||||
) x
|
||||
WHERE x.ocsId = @osztalyCsoportId
|
||||
END
|
||||
END
|
||||
GO
|
||||
@@ -0,0 +1,136 @@
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetOralatogatasok') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOralatogatasok
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetOralatogatasok]
|
||||
@IntezmenyId int,
|
||||
@TanevId int,
|
||||
@IdoszakKezdete datetime,
|
||||
@IdoszakVege datetime,
|
||||
@TanarId int
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @KezdoHet int = DATEPART( ISO_WEEK, @IdoszakKezdete);
|
||||
DECLARE @ZaroHet int = DATEPART( ISO_WEEK, @IdoszakVege);
|
||||
|
||||
SELECT
|
||||
Datum,
|
||||
CASE
|
||||
WHEN TanevHetirend is null THEN NapHetirend
|
||||
ELSE TanevHetirend
|
||||
END Hetirend,
|
||||
CASE
|
||||
WHEN TanevHetNapja is null THEN NapHetNapja
|
||||
ELSE TanevHetNapja
|
||||
END HetNapja
|
||||
INTO
|
||||
#TEMPORARENDINAPOK
|
||||
from(
|
||||
SELECT
|
||||
NAPTARINAP.Datum Datum,
|
||||
napHetirend.C_HETIREND NapHetirend,
|
||||
napHetirend.C_HETNAPJA NapHetNapja,
|
||||
tanevRendHetirend.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja
|
||||
FROM /*ÁTÍRANDÓÓÓ*/
|
||||
(
|
||||
/*Minden naptári nap, ami az időintervallumba beleesik.*/
|
||||
(SELECT C_NAPDATUMA Datum FROM T_NAPTARINAP_OSSZES NAPTARINAP WHERE (TOROLT = 'F' AND C_NAPDATUMA BETWEEN @IdoszakKezdete AND @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId))
|
||||
EXCEPT /*Kivéve, ha van aznap kiemelt típusú tanévrendje esemény, vagy olyan esemény, aminél C_ORARENDINAP = 'F'.*/
|
||||
(SELECT C_DATUM Datum FROM T_TANEVRENDJE_OSSZES TANEVRENDJE WHERE (TOROLT = 'F' AND (C_NAPTIPUSA IN (1386,1387,1389,1391,1392,1396,1397,1398,1399,1401) OR C_ORARENDINAP = 'F') AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId))
|
||||
UNION /*Azokat a dátumokat vegyük hozzá, amely napokon van C_ORARENDINAP = 'T' és C_ORARENDINAP = 'F' esemény is felvéve.*/
|
||||
(
|
||||
SELECT
|
||||
Datum
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
C_DATUM Datum,
|
||||
COUNT (C_DATUM) DatumCounter
|
||||
FROM
|
||||
(SELECT C_DATUM, C_ORARENDINAP FROM T_TANEVRENDJE_OSSZES TANEVRENDJE WHERE (TOROLT = 'F') AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId) TANEVRENDJE1
|
||||
GROUP BY
|
||||
C_ORARENDINAP,
|
||||
C_DATUM
|
||||
) TANEVRENDJE2
|
||||
GROUP BY
|
||||
Datum
|
||||
HAVING
|
||||
COUNT(Datum) = 2
|
||||
)
|
||||
) NAPTARINAP
|
||||
left join (select C_NAPDATUMA, C_HETIREND, C_HETNAPJA from T_NAPTARINAP_OSSZES WHERE TOROLT = 'F') napHetirend on napHetirend.C_NAPDATUMA = NAPTARINAP.Datum
|
||||
left join (select C_DATUM, C_HETIREND, C_HETNAPJA from T_TANEVRENDJE_OSSZES WHERE TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.Datum
|
||||
) NapokHetirenddel
|
||||
|
||||
-- Vegzosok utolso tanitasi napja
|
||||
DECLARE @VegzosUtolsoTanitasiNap_spGetOrarend DATETIME;
|
||||
SELECT
|
||||
@VegzosUtolsoTanitasiNap_spGetOrarend = C_DATUM
|
||||
FROM
|
||||
T_TANEVRENDJE_OSSZES
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_TANEVID = (SELECT ID FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND C_AKTIV = 'T' AND C_INTEZMENYID = @IntezmenyId)
|
||||
AND C_NAPTIPUSA = 1402 AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
|
||||
|
||||
-- Tanítási órák
|
||||
SELECT
|
||||
TANITASIORA.ID Id,
|
||||
oo.ID ORARENDIID,
|
||||
TANITASIORA.C_BONTOTT Bontott,
|
||||
( SELECT
|
||||
T_NAPTARINAP_OSSZES.C_HETIREND
|
||||
FROM
|
||||
T_NAPTARINAP_OSSZES
|
||||
WHERE
|
||||
T_NAPTARINAP_OSSZES.ID = TANITASIORA.C_NAPTARINAPID
|
||||
) Hetirend,
|
||||
TANITASIORA.C_HETNAPJA HetNapja,
|
||||
'' ErvenyessegKezdete,
|
||||
'' ErvenyessegVege,
|
||||
TANITASIORA.C_ORAKEZDETE OraKezdete,
|
||||
TANITASIORA.C_ORAVEGE OraVege,
|
||||
TANITASIORA.C_ORASZAM Oraszam,
|
||||
TARGY.C_ROVIDNEV TargyNev,
|
||||
TANITASIORA.C_MEGTARTOTT Megtartott,
|
||||
TANITASIORA.C_CSENGETESIRENDORAID CsengetesiRendOraID,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
TANAR.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'TanitasiOra' OraTipus,
|
||||
TANITASIORA.C_HELYETTESITOTANARID HelyettesitoTanarID,
|
||||
TANAR.ID TanarID
|
||||
INTO #TEMPORAK
|
||||
FROM
|
||||
T_TANITASIORA_OSSZES TANITASIORA
|
||||
LEFT JOIN T_TANTARGY_OSSZES TARGY ON (TARGY.ID = TANITASIORA.C_TANTARGYID AND TARGY.C_INTEZMENYID = @IntezmenyId AND TARGY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES TANAR on TANITASIORA.C_TANARID = TANAR.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OSZTALY on (TANITASIORA.C_OSZTALYCSOPORTID = OSZTALY.ID AND OSZTALY.C_INTEZMENYID = @IntezmenyId AND OSZTALY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_TEREM_OSSZES TEREM on (TEREM.id = TANITASIORA.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_ORARENDIORA oo ON TANITASIORA.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND TANITASIORA.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
WHERE
|
||||
TANITASIORA.TOROLT='F' AND TANITASIORA.C_INTEZMENYID = @IntezmenyId AND TANITASIORA.C_TANEVID=@TanevId
|
||||
AND TANITASIORA.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND TANITASIORA.C_MEGTARTOTT = 'T'
|
||||
AND (TANITASIORA.C_ORAKEZDETE >= @IdoszakKezdete
|
||||
AND TANITASIORA.C_ORAVEGE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END))
|
||||
AND (@TanarId IS NULL OR ( TANITASIORA.C_HELYETTESITOTANARID = @TanarId OR TANITASIORA.C_ORATULAJDONOSID = @TanarId OR TANITASIORA.C_TANARID = @TanarId ))
|
||||
|
||||
SELECT * FROM #TEMPORAK order by orakezdete
|
||||
|
||||
DROP TABLE #TEMPORAK
|
||||
DROP TABLE #TEMPORARENDINAPOK
|
||||
END
|
||||
@@ -0,0 +1,300 @@
|
||||
-- =============================================
|
||||
-- Author: Sólyom Péter
|
||||
-- Create date: 2016.02.16.
|
||||
-- Description: Órarend lekérdezése.
|
||||
-- =============================================
|
||||
IF OBJECT_ID('dbo.sp_GetOrarend') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetOrarend
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetOrarend]
|
||||
@IntezmenyId int,
|
||||
@TanevId int,
|
||||
@IdoszakKezdete datetime,
|
||||
@IdoszakVege datetime,
|
||||
@TanarId int,
|
||||
@OsztalyCsoportId int,
|
||||
@TanuloId int,
|
||||
@CsakOrarendiOrak bit
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE
|
||||
@KezdoHet int = DATEPART( ISO_WEEK, @IdoszakKezdete),
|
||||
@ZaroHet int = DATEPART( ISO_WEEK, @IdoszakVege);
|
||||
|
||||
SELECT Distinct
|
||||
Datum,
|
||||
ISNULL(TanevHetirend, NapHetirend) Hetirend,
|
||||
ISNULL(TanevHetNapja, NapHetNapja) HetNapja,
|
||||
OsztalyCsoportId
|
||||
INTO #TEMPORARENDINAPOK
|
||||
FROM (
|
||||
SELECT
|
||||
NAPTARINAP.Datum Datum,
|
||||
NAPTARINAP.NapHetirend,
|
||||
NAPTARINAP.NapHetNapja,
|
||||
NAPTARINAP.TanevHetirend,
|
||||
NAPTARINAP.TanevHetNapja,
|
||||
NAPTARINAP.OsztalyCsoportId
|
||||
FROM (
|
||||
(
|
||||
SELECT
|
||||
C_NAPDATUMA Datum,
|
||||
C_HETIREND NapHetirend,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), C_HETNAPJA) NapHetNapja,
|
||||
null TanevHetirend,
|
||||
null TanevHetNapja,
|
||||
null OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
WHERE (TOROLT = 'F' AND C_NAPDATUMA >= @IdoszakKezdete AND C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
union
|
||||
(
|
||||
SELECT
|
||||
NAPTARINAP.C_NAPDATUMA Datum,
|
||||
NAPTARINAP.C_HETIREND NapHetirend,
|
||||
IIF(NAPTARINAP.C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), NAPTARINAP.C_HETNAPJA) NapHetNapja,
|
||||
tanevRendHetirend.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja,
|
||||
tanevRendHetirend.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES NAPTARINAP
|
||||
inner JOIN (
|
||||
SELECT
|
||||
C_DATUM,
|
||||
C_HETIREND,
|
||||
T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_DATUM), C_HETNAPJA) AS C_HETNAPJA
|
||||
from T_TANEVRENDJE_OSSZES
|
||||
inner Join T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
WHERE TOROLT = 'F' AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId And TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.C_NAPDATUMA
|
||||
WHERE (TOROLT = 'F' AND NAPTARINAP.C_NAPDATUMA >= @IdoszakKezdete AND NAPTARINAP.C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
union
|
||||
(
|
||||
SELECT
|
||||
NAPTARINAP.C_NAPDATUMA Datum,
|
||||
NAPTARINAP.C_HETIREND NapHetirend,
|
||||
IIF(NAPTARINAP.C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), NAPTARINAP.C_HETNAPJA) NapHetNapja,
|
||||
NAPTARINAP.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja,
|
||||
tanevRendHetirend.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES NAPTARINAP
|
||||
inner JOIN (
|
||||
SELECT
|
||||
C_DATUM,
|
||||
C_HETIREND,
|
||||
T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_DATUM), C_HETNAPJA) AS C_HETNAPJA
|
||||
from T_TANEVRENDJE_OSSZES
|
||||
inner Join T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
WHERE TOROLT = 'F' AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId And TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.C_NAPDATUMA
|
||||
WHERE (TOROLT = 'F' AND NAPTARINAP.C_NAPDATUMA >= @IdoszakKezdete AND NAPTARINAP.C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
) NAPTARINAP
|
||||
) result
|
||||
|
||||
|
||||
-- Vegzosok utolso tanitasi napja
|
||||
DECLARE @VegzosUtolsoTanitasiNap_spGetOrarend DATETIME;
|
||||
SELECT
|
||||
@VegzosUtolsoTanitasiNap_spGetOrarend = C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_TANEVID = (SELECT ID FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND C_AKTIV = 'T' AND C_INTEZMENYID = @IntezmenyId)
|
||||
AND C_NAPTIPUSA = 1402 AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
|
||||
DECLARE @tempCsoportok TABLE (CsoportID int PRIMARY KEY, Oka nvarchar(20))
|
||||
IF @OsztalyCsoportId IS NOT NULL
|
||||
BEGIN
|
||||
INSERT INTO @tempCsoportok (CsoportID, Oka)
|
||||
SELECT ID as CsoportID, OKA AS Oka
|
||||
FROM dbo.fnGetKapcsolodoOsztalycsoportokByDate(@OsztalyCsoportId,@IdoszakKezdete,@IdoszakVege)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @tempCsoportok (CsoportID, Oka)
|
||||
SELECT ID as CsoportID, '' AS Oka
|
||||
FROM T_OSZTALYCSOPORT_OSSZES WHERE C_TANEVID = @TanevId
|
||||
END
|
||||
|
||||
|
||||
-- Tanítási órák
|
||||
SELECT
|
||||
TANITASIORA.ID Id,
|
||||
oo.ID ORARENDIID,
|
||||
TANITASIORA.C_BONTOTT Bontott,
|
||||
(
|
||||
SELECT T_NAPTARINAP_OSSZES.C_HETIREND
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
WHERE T_NAPTARINAP_OSSZES.ID = TANITASIORA.C_NAPTARINAPID
|
||||
) Hetirend,
|
||||
TANITASIORA.C_HETNAPJA HetNapja,
|
||||
CAST(null AS datetime) ErvenyessegKezdete,
|
||||
CAST(null AS datetime) ErvenyessegVege,
|
||||
TANITASIORA.C_ORAKEZDETE OraKezdete,
|
||||
TANITASIORA.C_ORAVEGE OraVege,
|
||||
TANITASIORA.C_ORASZAM Oraszam,
|
||||
ISNULL(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNev,
|
||||
COALESCE(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNevForMobile,
|
||||
TARGY.C_TARGYKATEGORIA TargykategoriaID,
|
||||
TANITASIORA.C_MEGTARTOTT Megtartott,
|
||||
TANITASIORA.C_CSENGETESIRENDORAID CsengetesiRendOraID,
|
||||
null as MaxNapiOraszam,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
CAST(null AS int) TanevRendOsztalyCsoportId,
|
||||
tcs.OKA AS MegjelenesOka,
|
||||
TANAR.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'TanitasiOra' OraTipus,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1500 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.hianyzas
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Hianyzas,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1499 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.keses
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Keses,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1817 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.ures
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Ures,
|
||||
TANITASIORA.C_HELYETTESITOTANARID HelyettesitoTanarID,
|
||||
HELYETTESTANAR.C_NYOMTATASINEV HelyettesitoTanarNev,
|
||||
TANAR.ID TanarID,
|
||||
TANITASIORA.C_ADMINALTALKIIRT AdminAltalKiirt,
|
||||
TANITASIORA.C_ORARENDIORAGROUPID GroupId,
|
||||
TANITASIORA.C_TEMA as Tema
|
||||
INTO #TEMPORAK
|
||||
FROM T_TANITASIORA_OSSZES TANITASIORA
|
||||
INNER JOIN @tempCsoportok tcs ON tcs.CsoportID = TANITASIORA.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES TARGY ON (TARGY.ID = TANITASIORA.C_TANTARGYID AND TARGY.C_INTEZMENYID = @IntezmenyId AND TARGY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES TANAR on TANITASIORA.C_TANARID = TANAR.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OSZTALY on (TANITASIORA.C_OSZTALYCSOPORTID = OSZTALY.ID AND OSZTALY.C_INTEZMENYID = @IntezmenyId AND OSZTALY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_TEREM_OSSZES TEREM on (TEREM.id = TANITASIORA.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES HELYETTESTANAR on TANITASIORA.C_HELYETTESITOTANARID = HELYETTESTANAR.ID
|
||||
LEFT JOIN T_ORARENDIORA_OSSZES oo ON TANITASIORA.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND TANITASIORA.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
WHERE @CsakOrarendiOrak = 0
|
||||
AND TANITASIORA.TOROLT='F' AND TANITASIORA.C_INTEZMENYID = @IntezmenyId AND TANITASIORA.C_TANEVID=@TanevId
|
||||
AND TANITASIORA.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND (TANITASIORA.C_ORAKEZDETE >= @IdoszakKezdete
|
||||
AND TANITASIORA.C_ORAVEGE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN DATEADD(DAY, 1, @VegzosUtolsoTanitasiNap_spGetOrarend) ELSE @IdoszakVege END))
|
||||
AND (@TanarId IS NULL OR ( TANITASIORA.C_HELYETTESITOTANARID = @TanarId OR TANITASIORA.C_ORATULAJDONOSID = @TanarId OR TANITASIORA.C_TANARID = @TanarId ))
|
||||
AND ( @TanuloId IS NULL OR EXISTS (
|
||||
SELECT 1 FROM T_TANULOCSOPORT_OSSZES TANCSOP
|
||||
WHERE
|
||||
TANCSOP.C_OSZTALYCSOPORTID = TANITASIORA.C_OSZTALYCSOPORTID
|
||||
AND TANCSOP.TOROLT = 'F' AND TANCSOP.C_INTEZMENYID = @IntezmenyId AND TANCSOP.C_TANEVID=@TanevId
|
||||
AND TANCSOP.C_BELEPESDATUM < GETDATE()
|
||||
AND (TANCSOP.C_KILEPESDATUM IS NULL OR TANCSOP.C_KILEPESDATUM >= GETDATE())
|
||||
AND TANCSOP.C_TANULOID = @TanuloId
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
-- Órarendi órák
|
||||
INSERT INTO #TEMPORAK
|
||||
SELECT
|
||||
OrarendiOrak.Id, ORARENDIID, Bontott, Hetirend, HetNapja, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, OraVege,
|
||||
Oraszam, TargyNev, TargyNevForMobile, TargykategoriaID, Megtartott, CsengetesiRendOraID, MaxNapiOraszam, OsztalyNev,TanevRendOsztalyCsoportId, MegjelenesOka, TanarNev, TeremNev, OraTipus, Hianyzas, Keses, Ures,
|
||||
T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESTANAROKID HelyettesitoTanarID, HELYETTESTANAR.C_NYOMTATASINEV HelyettesitoTanarNev, TanarID,AdminAltalKiirt,GroupId, Tema
|
||||
FROM (
|
||||
SELECT
|
||||
T_ORARENDIORA_OSSZES.ID Id,
|
||||
T_ORARENDIORA_OSSZES.ID ORARENDIID,
|
||||
T_ORARENDIORA_OSSZES.C_BONTOTT Bontott,
|
||||
T_ORARENDIORA_OSSZES.C_HETIREND Hetirend,
|
||||
T_ORARENDIORA_OSSZES.C_HETNAPJA HetNapja,
|
||||
T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE ErvenyessegKezdete,
|
||||
T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE ErvenyessegVege,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA_OSSZES.C_ORAKEZDETE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA_OSSZES.C_ORAKEZDETE), ORARENDINAPOK.DATUM)) OraKezdete,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA_OSSZES.C_ORAVEGE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA_OSSZES.C_ORAVEGE), ORARENDINAPOK.DATUM)) OraVege,
|
||||
T_ORARENDIORA_OSSZES.C_ORASZAM Oraszam,
|
||||
ISNULL(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNev,
|
||||
COALESCE(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNevForMobile,
|
||||
TARGY.C_TARGYKATEGORIA TargykategoriaID,
|
||||
'F' Megtartott,
|
||||
T_ORARENDIORA_OSSZES.C_CSENGETESIRENDORAID CsengetesiRendOraID,
|
||||
(select max(csro.C_ORASZAM) from T_CSENGETESIRENDORA csro where csro.C_CSENGETESIRENDID IN
|
||||
(select C_CSENGETESIRENDID from T_TANEVRENDJE where CAST(C_DATUM as date) = CAST(ORARENDINAPOK.DATUM as date))) as MaxNapiOraszam,
|
||||
OSZTALY.C_NEV AS OsztalyNev,
|
||||
ORARENDINAPOK.OsztalyCsoportId TanevRendOsztalyCsoportId,
|
||||
tcs.OKA AS MegjelenesOka,
|
||||
TANAR.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'OrarendiOra' OraTipus,
|
||||
'F' Hianyzas,
|
||||
'F' Keses,
|
||||
'F' Ures,
|
||||
TANAR.ID TanarID,
|
||||
'F' AdminAltalKiirt,
|
||||
C_ORARENDIORAGROUPID GroupId,
|
||||
NULL AS Tema
|
||||
FROM T_ORARENDIORA_OSSZES
|
||||
INNER JOIN @tempCsoportok tcs ON tcs.CsoportID = T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID
|
||||
INNER JOIN #TEMPORARENDINAPOK ORARENDINAPOK ON (( T_ORARENDIORA_OSSZES.C_HETIREND = 1554 OR ORARENDINAPOK.HETIREND = T_ORARENDIORA_OSSZES.C_HETIREND ) AND ORARENDINAPOK.HETNAPJA = T_ORARENDIORA_OSSZES.C_HETNAPJA And (T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID = ORARENDINAPOK.OsztalyCsoportId or ORARENDINAPOK.OsztalyCsoportId is null) )
|
||||
LEFT JOIN T_TANTARGY_OSSZES TARGY ON TARGY.ID = T_ORARENDIORA_OSSZES.C_TANTARGYID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES TANAR ON TANAR.ID = T_ORARENDIORA_OSSZES.C_TANARID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OSZTALY ON T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID = OSZTALY.ID
|
||||
LEFT JOIN T_TEREM_OSSZES TEREM on (TEREM.id = T_ORARENDIORA_OSSZES.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
|
||||
WHERE
|
||||
T_ORARENDIORA_OSSZES.TOROLT='F'
|
||||
AND T_ORARENDIORA_OSSZES.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND T_ORARENDIORA_OSSZES.C_INTEZMENYID = @IntezmenyId
|
||||
AND T_ORARENDIORA_OSSZES.C_TANEVID = @TanevId
|
||||
AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE >= @IdoszakKezdete
|
||||
AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END)
|
||||
AND ORARENDINAPOK.DATUM BETWEEN @IdoszakKezdete AND (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END)
|
||||
AND (
|
||||
(ORARENDINAPOK.DATUM >= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM < T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE)
|
||||
OR
|
||||
(ORARENDINAPOK.DATUM = T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM = T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE)
|
||||
)
|
||||
AND (@TanuloId IS NULL OR EXISTS (
|
||||
SELECT 1 FROM T_TANULOCSOPORT_OSSZES TANCSOP
|
||||
WHERE
|
||||
TANCSOP.C_OSZTALYCSOPORTID = T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID
|
||||
AND TANCSOP.TOROLT = 'F' AND TANCSOP.C_INTEZMENYID = @IntezmenyId AND TANCSOP.C_TANEVID=@TanevId
|
||||
AND TANCSOP.C_BELEPESDATUM < GETDATE()
|
||||
AND (TANCSOP.C_KILEPESDATUM IS NULL OR TANCSOP.C_KILEPESDATUM >= GETDATE())
|
||||
AND TANCSOP.C_TANULOID = @TanuloId )
|
||||
)
|
||||
) OrarendiOrak
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES on (OrarendiOrak.ID = T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESITETTORARENDID
|
||||
And T_HELYETTESITESIIDOSZAK_OSSZES.C_HETSORSZAMA >= @KezdoHet
|
||||
And (T_HELYETTESITESIIDOSZAK_OSSZES.C_HETSORSZAMA <= @ZaroHet) And T_HELYETTESITESIIDOSZAK_OSSZES.TOROLT = 'F' AND DATEDIFF(DAY, OrarendiOrak.OraKezdete, T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESITESNAPJA) = 0
|
||||
)
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES HELYETTESTANAR ON HELYETTESTANAR.ID = T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESTANAROKID
|
||||
WHERE (@TanarId IS NULL OR OrarendiOrak.TanarID = @TanarId Or T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESTANAROKID = @TanarId)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM #TEMPORAK TANORAK
|
||||
WHERE TANORAK.GroupId = OrarendiOrak.GroupId
|
||||
AND DATEDIFF(DAY, TANORAK.OraKezdete, OrarendiOrak.OraKezdete) = 0
|
||||
AND DATEDIFF(DAY, TANORAK.OraVege, OrarendiOrak.OraVege) = 0
|
||||
)
|
||||
|
||||
SELECT DISTINCT * FROM #TEMPORAK order by orakezdete
|
||||
|
||||
DROP TABLE #TEMPORAK
|
||||
DROP TABLE #TEMPORARENDINAPOK
|
||||
END
|
||||
@@ -0,0 +1,292 @@
|
||||
-- =============================================
|
||||
-- Author: Sólyom Péter
|
||||
-- Create date: 2016.02.16.
|
||||
-- Description: Órarend lekérdezése.
|
||||
-- =============================================
|
||||
|
||||
IF OBJECT_ID('sp_GetOrarendTanoranKivuli') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOrarendTanoranKivuli
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [sp_GetOrarendTanoranKivuli]
|
||||
@IntezmenyId int,
|
||||
@TanevId int,
|
||||
@IdoszakKezdete datetime,
|
||||
@IdoszakVege datetime,
|
||||
@TanarId int,
|
||||
@OsztalyCsoportId int,
|
||||
@TanuloId int,
|
||||
@CsakOrarendiOrak bit
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @KezdoHet int = DATEPART( ISO_WEEK, @IdoszakKezdete);
|
||||
DECLARE @ZaroHet int = DATEPART( ISO_WEEK, @IdoszakVege);
|
||||
|
||||
SELECT Distinct
|
||||
Datum,
|
||||
ISNULL(TanevHetirend, NapHetirend) Hetirend,
|
||||
ISNULL(TanevHetNapja, NapHetNapja) HetNapja,
|
||||
OsztalyCsoportId
|
||||
INTO #TEMPORARENDINAPOK
|
||||
FROM (
|
||||
SELECT
|
||||
NAPTARINAP.Datum Datum,
|
||||
NAPTARINAP.NapHetirend,
|
||||
NAPTARINAP.NapHetNapja,
|
||||
NAPTARINAP.TanevHetirend,
|
||||
NAPTARINAP.TanevHetNapja,
|
||||
NAPTARINAP.OsztalyCsoportId
|
||||
FROM (
|
||||
(
|
||||
SELECT
|
||||
C_NAPDATUMA Datum,
|
||||
C_HETIREND NapHetirend,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), C_HETNAPJA) NapHetNapja,
|
||||
null TanevHetirend,
|
||||
null TanevHetNapja,
|
||||
null OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
WHERE (TOROLT = 'F' AND C_NAPDATUMA >= @IdoszakKezdete AND C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
union
|
||||
(
|
||||
SELECT
|
||||
NAPTARINAP.C_NAPDATUMA Datum,
|
||||
NAPTARINAP.C_HETIREND NapHetirend,
|
||||
IIF(NAPTARINAP.C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), NAPTARINAP.C_HETNAPJA) NapHetNapja,
|
||||
tanevRendHetirend.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja,
|
||||
tanevRendHetirend.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES NAPTARINAP
|
||||
inner JOIN (
|
||||
SELECT
|
||||
C_DATUM,
|
||||
C_HETIREND,
|
||||
T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_DATUM), C_HETNAPJA) AS C_HETNAPJA
|
||||
from T_TANEVRENDJE_OSSZES
|
||||
inner Join T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
WHERE TOROLT = 'F' AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId And TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.C_NAPDATUMA
|
||||
WHERE (TOROLT = 'F' AND NAPTARINAP.C_NAPDATUMA >= @IdoszakKezdete AND NAPTARINAP.C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
union
|
||||
(
|
||||
SELECT
|
||||
NAPTARINAP.C_NAPDATUMA Datum,
|
||||
NAPTARINAP.C_HETIREND NapHetirend,
|
||||
IIF(NAPTARINAP.C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), NAPTARINAP.C_HETNAPJA) NapHetNapja,
|
||||
NAPTARINAP.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja,
|
||||
tanevRendHetirend.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES NAPTARINAP
|
||||
inner JOIN (
|
||||
SELECT
|
||||
C_DATUM,
|
||||
C_HETIREND,
|
||||
T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_DATUM), C_HETNAPJA) AS C_HETNAPJA
|
||||
from T_TANEVRENDJE_OSSZES
|
||||
inner Join T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
WHERE TOROLT = 'F' AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId And TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.C_NAPDATUMA
|
||||
WHERE (TOROLT = 'F' AND NAPTARINAP.C_NAPDATUMA >= @IdoszakKezdete AND NAPTARINAP.C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
) NAPTARINAP
|
||||
) result
|
||||
|
||||
-- Vegzosok utolso tanitasi napja
|
||||
DECLARE @VegzosUtolsoTanitasiNap DATETIME;
|
||||
SELECT
|
||||
@VegzosUtolsoTanitasiNap = C_DATUM
|
||||
FROM
|
||||
T_TANEVRENDJE_OSSZES
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_TANEVID = (SELECT ID FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND C_AKTIV = 'T' AND C_INTEZMENYID = @IntezmenyId)
|
||||
AND C_NAPTIPUSA = 1402 AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
|
||||
DECLARE @TEMPCSOPORTOK TABLE (CsoportID int PRIMARY KEY, Oka nvarchar(20))
|
||||
IF @OsztalyCsoportId IS NOT NULL
|
||||
BEGIN
|
||||
INSERT INTO @tempCsoportok (CsoportID, Oka)
|
||||
SELECT ID as CsoportID, OKA AS Oka
|
||||
FROM dbo.fnGetKapcsolodoOsztalycsoportokByDate(@OsztalyCsoportId,@IdoszakKezdete,@IdoszakVege)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @tempCsoportok (CsoportID, Oka)
|
||||
SELECT ID as CsoportID, '' AS Oka
|
||||
FROM T_OSZTALYCSOPORT_OSSZES WHERE C_TANEVID = @TanevId
|
||||
END
|
||||
|
||||
-- Tanítási órák
|
||||
SELECT
|
||||
TANITASIORA.ID Id,
|
||||
oo.ID ORARENDIID,
|
||||
TANITASIORA.C_BONTOTT Bontott,
|
||||
( SELECT
|
||||
T_NAPTARINAP_OSSZES.C_HETIREND
|
||||
FROM
|
||||
T_NAPTARINAP_OSSZES
|
||||
WHERE
|
||||
T_NAPTARINAP_OSSZES.ID = TANITASIORA.C_NAPTARINAPID
|
||||
) Hetirend,
|
||||
TANITASIORA.C_HETNAPJA HetNapja,
|
||||
CAST('19000101' AS DATETIME) ErvenyessegKezdete,
|
||||
CAST('19000101' AS DATETIME) ErvenyessegVege,
|
||||
TANITASIORA.C_ORAKEZDETE OraKezdete,
|
||||
TANITASIORA.C_ORAVEGE OraVege,
|
||||
ISNULL(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNev,
|
||||
TANITASIORA.C_MEGTARTOTT Megtartott,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
CAST(null AS int) TanevRendOsztalyCsoportId,
|
||||
fh.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'TanitasiOra' OraTipus,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1500 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.hianyzas
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Hianyzas,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1499 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.keses
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Keses,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1817 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.ures
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Ures,
|
||||
TANITASIORA.C_HELYETTESITOTANARID HelyettesitoTanarID,
|
||||
HELYETTESTANAR.C_NYOMTATASINEV HelyettesitoTanarNev,
|
||||
fh.ID TanarID,
|
||||
null as HelyettesitesId,
|
||||
TANITASIORA.C_ADMINALTALKIIRT AdminAltalKiirt,
|
||||
TANITASIORA.C_ORARENDIORAGROUPID GroupId,
|
||||
TANITASIORA.C_TEMA as Tema
|
||||
INTO #TEMPORAK
|
||||
FROM T_TANITASIORA_OSSZES TANITASIORA
|
||||
INNER JOIN @TEMPCSOPORTOK tcs ON tcs.CsoportID = TANITASIORA.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES TARGY ON (TARGY.ID = TANITASIORA.C_TANTARGYID)
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh on TANITASIORA.C_TANARID = fh.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OSZTALY on (TANITASIORA.C_OSZTALYCSOPORTID = OSZTALY.ID )
|
||||
LEFT JOIN T_TEREM_OSSZES TEREM on (TEREM.id = TANITASIORA.C_TEREMID )
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES HELYETTESTANAR on TANITASIORA.C_HELYETTESITOTANARID = HELYETTESTANAR.ID
|
||||
LEFT JOIN T_ORARENDIORA_OSSZES oo ON TANITASIORA.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND TANITASIORA.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
WHERE @CsakOrarendiOrak = 0 -- TANÓRA IS
|
||||
AND TANITASIORA.TOROLT='F' AND TANITASIORA.C_INTEZMENYID = @IntezmenyId AND TANITASIORA.C_TANEVID=@TanevId
|
||||
AND TANITASIORA.C_CSENGETESIRENDORAID IS NULL
|
||||
AND (TANITASIORA.C_ORAKEZDETE >= @IdoszakKezdete
|
||||
AND TANITASIORA.C_ORAVEGE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap THEN DATEADD(DAY, 1, @VegzosUtolsoTanitasiNap) ELSE @IdoszakVege END))
|
||||
AND (@TanarId IS NULL OR ( TANITASIORA.C_HELYETTESITOTANARID = @TanarId OR TANITASIORA.C_ORATULAJDONOSID = @TanarId OR TANITASIORA.C_TANARID = @TanarId))
|
||||
AND ( @TanuloId IS NULL
|
||||
OR EXISTS (SELECT 1
|
||||
FROM T_TANULOCSOPORT_OSSZES TANCSOP
|
||||
WHERE TANCSOP.C_OSZTALYCSOPORTID = TANITASIORA.C_OSZTALYCSOPORTID
|
||||
AND TANCSOP.TOROLT = 'F' AND TANCSOP.C_INTEZMENYID = @IntezmenyId AND TANCSOP.C_TANEVID=@TanevId
|
||||
AND TANCSOP.C_BELEPESDATUM < GETDATE()
|
||||
AND (TANCSOP.C_KILEPESDATUM IS NULL OR TANCSOP.C_KILEPESDATUM >= GETDATE()) -- TÖRÖLT
|
||||
AND TANCSOP.C_TANULOID = @TanuloId )
|
||||
)
|
||||
|
||||
-- Órarendi órák
|
||||
INSERT INTO #TEMPORAK
|
||||
Select
|
||||
OrarendiOrak.Id, ORARENDIID, Bontott, Hetirend, HetNapja, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, OraVege,
|
||||
TargyNev, Megtartott, OsztalyNev,TanevRendOsztalyCsoportId, TanarNev, TeremNev, OraTipus, Hianyzas, Keses, Ures,
|
||||
C_HELYETTESTANAROKID HelyettesitoTanarID, HELYETTESTANAR.C_NYOMTATASINEV HelyettesitoTanarNev, TanarID, T_HELYETTESITESIIDOSZAK_OSSZES.ID,AdminAltalKiirt,GroupId, Tema
|
||||
FROM (
|
||||
SELECT
|
||||
T_ORARENDIORA_OSSZES.ID Id,
|
||||
T_ORARENDIORA_OSSZES.ID ORARENDIID,
|
||||
T_ORARENDIORA_OSSZES.C_BONTOTT Bontott,
|
||||
T_ORARENDIORA_OSSZES.C_HETIREND Hetirend,
|
||||
T_ORARENDIORA_OSSZES.C_HETNAPJA HetNapja,
|
||||
T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE ErvenyessegKezdete,
|
||||
T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE ErvenyessegVege,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA_OSSZES.C_ORAKEZDETE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA_OSSZES.C_ORAKEZDETE), ORARENDINAPOK.DATUM)) OraKezdete,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA_OSSZES.C_ORAVEGE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA_OSSZES.C_ORAVEGE), ORARENDINAPOK.DATUM)) OraVege,
|
||||
ISNULL(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNev,
|
||||
'F' Megtartott,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
ORARENDINAPOK.OsztalyCsoportId TanevRendOsztalyCsoportId,
|
||||
fh.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'OrarendiOra' OraTipus,
|
||||
'F' Hianyzas,
|
||||
'F' Keses,
|
||||
'F' Ures,
|
||||
fh.ID TanarID,
|
||||
'F' AdminAltalKiirt,
|
||||
C_ORARENDIORAGROUPID GroupId,
|
||||
NULL AS Tema
|
||||
FROM T_ORARENDIORA_OSSZES
|
||||
INNER JOIN @TEMPCSOPORTOK tcs ON tcs.CsoportID = T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID
|
||||
INNER JOIN #TEMPORARENDINAPOK ORARENDINAPOK ON (( T_ORARENDIORA_OSSZES.C_HETIREND = 1554 OR ORARENDINAPOK.HETIREND = T_ORARENDIORA_OSSZES.C_HETIREND ) AND ORARENDINAPOK.HETNAPJA = T_ORARENDIORA_OSSZES.C_HETNAPJA And (T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID = ORARENDINAPOK.OsztalyCsoportId or ORARENDINAPOK.OsztalyCsoportId is null) )
|
||||
LEFT JOIN T_TANTARGY_OSSZES TARGY ON TARGY.ID = T_ORARENDIORA_OSSZES.C_TANTARGYID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = T_ORARENDIORA_OSSZES.C_TANARID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OSZTALY ON T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID = OSZTALY.ID
|
||||
LEFT JOIN T_TEREM_OSSZES TEREM on (TEREM.id = T_ORARENDIORA_OSSZES.C_TEREMID )
|
||||
WHERE
|
||||
T_ORARENDIORA_OSSZES.TOROLT= 'F'
|
||||
AND T_ORARENDIORA_OSSZES.C_CSENGETESIRENDORAID IS NULL
|
||||
AND T_ORARENDIORA_OSSZES.C_INTEZMENYID = @IntezmenyId
|
||||
AND T_ORARENDIORA_OSSZES.C_TANEVID = @TanevId
|
||||
AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE >= @IdoszakKezdete
|
||||
AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap THEN @VegzosUtolsoTanitasiNap ELSE @IdoszakVege END)
|
||||
AND ORARENDINAPOK.DATUM BETWEEN @IdoszakKezdete AND (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap THEN @VegzosUtolsoTanitasiNap ELSE @IdoszakVege END)
|
||||
AND TEREM.C_TANEVID = @TanevId
|
||||
AND (
|
||||
(ORARENDINAPOK.DATUM >= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM < T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE)
|
||||
OR
|
||||
(ORARENDINAPOK.DATUM = T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM = T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE)
|
||||
)
|
||||
AND ( @TanuloId IS NULL
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM T_TANULOCSOPORT_OSSZES TANCSOP
|
||||
WHERE TANCSOP.C_OSZTALYCSOPORTID = T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID
|
||||
AND TANCSOP.TOROLT = 'F'
|
||||
AND TANCSOP.C_INTEZMENYID = @IntezmenyId
|
||||
AND TANCSOP.C_TANEVID = @TanevId
|
||||
AND TANCSOP.C_BELEPESDATUM < GETDATE()
|
||||
AND (TANCSOP.C_KILEPESDATUM IS NULL OR TANCSOP.C_KILEPESDATUM >= GETDATE()) -- TÖRÖLT
|
||||
AND TANCSOP.C_TANULOID = @TanuloId )
|
||||
)
|
||||
|
||||
) OrarendiOrak
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES on (OrarendiOrak.ID = T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESITETTORARENDID
|
||||
And T_HELYETTESITESIIDOSZAK_OSSZES.C_HETSORSZAMA >= @KezdoHet
|
||||
And (T_HELYETTESITESIIDOSZAK_OSSZES.C_HETSORSZAMA <= @ZaroHet) And T_HELYETTESITESIIDOSZAK_OSSZES.TOROLT = 'F' AND DATEDIFF(DAY, OrarendiOrak.OraKezdete, T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESITESNAPJA) = 0
|
||||
)
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES HELYETTESTANAR ON HELYETTESTANAR.ID = T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESTANAROKID
|
||||
WHERE (@TanarId IS NULL OR OrarendiOrak.TanarID = @TanarId Or T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESTANAROKID = @TanarId)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM #TEMPORAK TANORAK
|
||||
WHERE TANORAK.GroupId = OrarendiOrak.GroupId
|
||||
AND DATEDIFF(DAY, TANORAK.OraKezdete, OrarendiOrak.OraKezdete) = 0
|
||||
AND DATEDIFF(DAY, TANORAK.OraVege, OrarendiOrak.OraVege) = 0
|
||||
) -- HA MÁR VAN TANÍTÁSI ÓRA, AMELYIK VALAMELYIK ÓRARENDI ÓRÁBÓL JÖN, AKKOR NEM KELL AHHOZ AZ ÓRARENDI ÓRA IS
|
||||
|
||||
SELECT DISTINCT * FROM #TEMPORAK order by orakezdete
|
||||
|
||||
DROP TABLE #TEMPORAK
|
||||
DROP TABLE #TEMPORARENDINAPOK
|
||||
END
|
||||
GO
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_PedagogusNemBejegyzettOrai]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_PedagogusNemBejegyzettOrai]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_PedagogusNemBejegyzettOrai]
|
||||
@tanevID INT,
|
||||
@mindenHeten INT,
|
||||
@tanarID INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @vegzosUtolsoNapDatuma DATE = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND TOROLT = 'F' AND C_NAPTIPUSA = 1402)
|
||||
|
||||
DECLARE @OsztalyCsoportokTanevRendje TABLE (OsztalyCsoportId INT, Datum DATE, isOrarendiNap NVARCHAR(1))
|
||||
INSERT INTO @OsztalyCsoportokTanevRendje
|
||||
SELECT
|
||||
C_OSZTALYCSOPORTID
|
||||
,C_DATUM
|
||||
,C_ORARENDINAP
|
||||
FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
|
||||
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.Id = ocstr.C_TANEVRENDJEID
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
||||
AND tr.C_ORARENDINAP = 'F'
|
||||
|
||||
SELECT
|
||||
CONVERT(NVARCHAR(10),ROW_NUMBER() OVER (ORDER BY Napdatuma ))+'.' COLUMN440
|
||||
,FORMAT(Napdatuma, 'yyyy.MM.dd.') COLUMN273
|
||||
,Oraszam COLUMN274
|
||||
,OsztalyNev COLUMN673
|
||||
,TanarNev COLUMN456
|
||||
,TantargyNev COLUMN252
|
||||
,TeremNev COLUMN2477
|
||||
,Hetirend COLUMN4252
|
||||
FROM (
|
||||
SELECT
|
||||
naptar.C_NAPDATUMA Napdatuma
|
||||
,oo.C_ORASZAM Oraszam
|
||||
,ocs.C_NEV OsztalyNev
|
||||
,f.C_NYOMTATASINEV TanarNev
|
||||
,t.C_NEV TantargyNev
|
||||
,ter.C_NEV TeremNev
|
||||
,d.C_NAME Hetirend
|
||||
FROM T_ORARENDIORA_OSSZES oo
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar ON ((naptar.C_NAPDATUMA >= oo.C_ORAERVENYESSEGKEZDETE
|
||||
AND oo.C_ORAERVENYESSEGVEGE> naptar.C_NAPDATUMA) OR (naptar.C_NAPDATUMA=oo.C_ORAERVENYESSEGKEZDETE AND naptar.C_NAPDATUMA=oo.C_ORAERVENYESSEGVEGE))
|
||||
AND (naptar.C_HETIREND = oo.C_HETIREND OR oo.C_HETIREND = @mindenHeten)
|
||||
AND oo.C_HETNAPJA=naptar.C_HETNAPJA
|
||||
AND (naptar.C_NAPTIPUSA NOT IN (1386,1387,1389,1391,1392,1396,1397,1398,1399,1401))
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = naptar.C_NAPDATUMA AND tr.C_TANEVID = naptar.C_TANEVID AND tr.TOROLT = 'F' AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
LEFT JOIN @OsztalyCsoportokTanevRendje OsztalyCsoportokTanevRendje ON OsztalyCsoportokTanevRendje.Datum = naptar.C_NAPDATUMA AND OsztalyCsoportokTanevRendje.OsztalyCsoportId = oo.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao ON
|
||||
naptar.C_NAPDATUMA=tao.C_DATUM
|
||||
AND tao.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID
|
||||
AND tao.C_TANTARGYID = oo.C_TANTARGYID
|
||||
AND oo.C_TANARID IN (tao.C_TANARID, tao.C_HELYETTESITOTANARID, tao.C_ORATULAJDONOSID)
|
||||
AND tao.C_HETNAPJA = oo.C_HETNAPJA
|
||||
AND tao.C_ORASZAM = oo.C_ORASZAM
|
||||
AND tao.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
AND tao.TOROLT='F'
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES hely ON hely.C_HELYETTESITETTORARENDID = oo.ID AND CAST(hely.C_HELYETTESITESNAPJA AS DATE) = naptar.C_NAPDATUMA
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = oo.C_TANARID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = oo.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = oo.C_TANTARGYID
|
||||
INNER JOIN T_TEREM_OSSZES ter ON ter.ID = oo.C_TEREMID
|
||||
INNER JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE_OSSZES) d ON d.ID = oo.C_HETIREND
|
||||
WHERE
|
||||
oo.C_TANEVID=@tanevId
|
||||
AND oo.TOROLT='F'
|
||||
AND oo.C_TANARID = @tanarID
|
||||
AND naptar.C_NAPDATUMA <= IIF(C_VEGZOSEVFOLYAM = 'T' AND @vegzosUtolsoNapDatuma < GETDATE(), @vegzosUtolsoNapDatuma, GETDATE())
|
||||
AND tao.ID IS NULL
|
||||
AND hely.ID IS NULL
|
||||
AND oo.TOROLT='F'
|
||||
AND (oo.C_TANORANKIVULIFOGLALKOZAS = 'F' OR oo.C_TANORANKIVULIFOGLALKOZAS IS NULL)
|
||||
AND oo.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND naptar.C_TANEVID = @tanevID
|
||||
AND (tr.C_ORARENDINAP = 'T' OR tr.C_ORARENDINAP IS NULL)
|
||||
AND (OsztalyCsoportokTanevRendje.isOrarendiNap = 'T' OR OsztalyCsoportokTanevRendje.isOrarendiNap IS NULL)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
naptar.C_NAPDATUMA
|
||||
,oo.C_ORASZAM
|
||||
,ocs.C_NEV
|
||||
,f.C_NYOMTATASINEV
|
||||
,t.C_NEV
|
||||
,ter.C_NEV
|
||||
,d.C_NAME
|
||||
FROM T_HELYETTESITESIIDOSZAK_OSSZES hi
|
||||
INNER JOIN T_ORARENDIORA_OSSZES oo on oo.Id=hi.C_HELYETTESITETTORARENDID
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar on naptar.C_NAPDATUMA = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND naptar.C_TANEVID=hi.C_TANEVID AND naptar.C_INTEZMENYID=hi.C_INTEZMENYID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON oo.C_TANARID = f.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON hi.C_HELYETTESTANAROKID = f.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID=oo.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES t ON t.ID=oo.C_TANTARGYID
|
||||
LEFT JOIN T_TEREM_OSSZES ter ON ter.ID=oo.C_TEREMID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=oo.C_HETIREND AND d.C_TANEVID=oo.C_TANEVID AND d.C_INTEZMENYID=oo.C_INTEZMENYID
|
||||
WHERE
|
||||
hi.C_HELYETTESITESNAPJA <= IIF(C_VEGZOSEVFOLYAM = 'T', @vegzosUtolsoNapDatuma, GETDATE())
|
||||
AND hi.TOROLT='F'
|
||||
AND (oo.C_TANORANKIVULIFOGLALKOZAS = 'F' OR oo.C_TANORANKIVULIFOGLALKOZAS IS NULL)
|
||||
AND oo.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND oo.TOROLT='F'
|
||||
AND hi.C_HELYETTESTANAROKID = @tanarID
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM T_ORARENDIORA ooo
|
||||
JOIN T_TANITASIORA tao ON tao.C_ORARENDIORAGROUPID = ooo.C_ORARENDIORAGROUPID AND tao.C_DATUM BETWEEN ooo.C_ORAERVENYESSEGKEZDETE AND ooo.C_ORAERVENYESSEGVEGE
|
||||
WHERE tao.C_DATUM = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND ooo.ID=hi.C_HELYETTESITETTORARENDID AND tao.TOROLT='F'
|
||||
)
|
||||
) orak
|
||||
ORDER BY Napdatuma, Oraszam
|
||||
|
||||
END
|
||||
GO
|
||||
Reference in New Issue
Block a user