Files
kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20200211133929_KRETA2_2782/uspGetKiirtHelyettesitesek.sql
2024-03-13 00:33:46 +01:00

139 lines
3.2 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetKiirtHelyettesitesek
GO
CREATE PROCEDURE uspGetKiirtHelyettesitesek
@pIntezmenyId int
,@pTanevId int
,@pTanarId int
,@pDarab int
AS BEGIN
SET NOCOUNT ON;
DECLARE
@pIdoszakKezdete datetime
,@pIdoszakVege datetime
CREATE TABLE #OrarendiOrak (
Id int
,ORARENDIID int
,Datum datetime
,Bontott char (1)
,Hetirend int
,HetNapja int
,HetSorszam int
,ErvenyessegKezdete datetime
,ErvenyessegVege datetime
,OraKezdete datetime
,OraVege datetime
,Oraszam int
,TargyNev nvarchar (300)
,TargyNevForMobile nvarchar (300)
,TargykategoriaID int
,Megtartott char (1)
,CsengetesiRendOraID int
,CsengetesiRendID int
,MaxNapiOraszam int
,OsztalyNev nvarchar (255)
,TanevRendOsztalyCsoportId int
,MegjelenesOka nvarchar (300)
,TanarNev nvarchar (255)
,TeremNev nvarchar (255)
,TeremId int
,OraTipus nvarchar (200)
,Hianyzas char (1)
,Keses char (1)
,Ures char (1)
,HelyettesitoTanarID int
,HelyettesitoTanarNev nvarchar (255)
,HelyettesitesId int
,TanarID int
,AdminAltalKiirt char (1)
,GroupId int
,Tema nvarchar (max)
,TantargyId int
,OsztCsopId int
,IsEgyediNap char(1)
,TeremTobbOratLehetTartani char(1)
,INDEX IX1 CLUSTERED(Datum, HetNapja, Oraszam, TanevRendOsztalyCsoportId, TantargyId, TanarID)
)
SELECT
@pIdoszakKezdete = (CASE WHEN tanev.C_AKTIV = 'T' THEN GETDATE() ELSE tanev.C_KEZDONAP END)
,@pIdoszakVege = tanev.C_UTOLSOTANITASINAP
FROM T_TANEV_OSSZES tanev
WHERE tanev.TOROLT = 'F'
AND tanev.ID = @pTanevId
AND tanev.C_INTEZMENYID = @pIntezmenyId
INSERT INTO #OrarendiOrak (
Id
,ORARENDIID
,Datum
,Bontott
,Hetirend
,HetNapja
,HetSorszam
,ErvenyessegKezdete
,ErvenyessegVege
,OraKezdete
,OraVege
,Oraszam
,TargyNev
,TargyNevForMobile
,TargykategoriaID
,Megtartott
,CsengetesiRendOraID
,CsengetesiRendID
,MaxNapiOraszam
,OsztalyNev
,TanevRendOsztalyCsoportId
,MegjelenesOka
,TanarNev
,TeremNev
,TeremId
,OraTipus
,Hianyzas
,Keses
,Ures
,HelyettesitoTanarID
,HelyettesitoTanarNev
,HelyettesitesId
,TanarID
,AdminAltalKiirt
,GroupId
,Tema
,TantargyId
,OsztCsopId
,IsEgyediNap
,TeremTobbOratLehetTartani
)
EXEC sp_GetOrarend
@pIntezmenyId = @pIntezmenyId
,@pTanevId = @pTanevId
,@pIdoszakKezdete = @pIdoszakKezdete
,@pIdoszakVege = @pIdoszakVege
,@pTanarId = @pTanarId
,@pIsHelyettesitesNelkul = 0
,@pOsztalyCsoportId = NULL
,@pTanuloId = NULL
,@pTantargyId = NULL
,@pTeremId = NULL
,@pCsakOrarendiOrak = 0
,@pIsNapirend = NULL
SELECT TOP (@pDarab)
orak.Id AS Id
,orak.OraKezdete AS Datum
,IIF(orak.CsengetesiRendID IS NOT NULL, orak.Oraszam, N'-') AS Oraszam
,orak.OsztalyNev AS OsztalyCsoport
,orak.TargyNev AS Tantargy
FROM #OrarendiOrak orak
WHERE orak.OraTipus = N'OrarendiOra'
AND orak.OraKezdete <= @pIdoszakVege
AND orak.OraVege >= @pIdoszakKezdete
AND orak.HelyettesitoTanarID = @pTanarId
ORDER BY orak.OraKezdete ASC
END
GO