kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20191122150614_KRETA2_1967/sp_GetDokumentumHelyettesitesekByDateInterval.sql
2024-03-13 00:33:46 +01:00

159 lines
No EOL
4.5 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS sp_GetDokumentumHelyettesitesekByDateInterval
GO
CREATE PROCEDURE sp_GetDokumentumHelyettesitesekByDateInterval
@tanevId INT
,@intezmenyId INT
,@helyettesitesListaFormatumId INT = 0 --0 helyettesitett, 1 helyettesito
,@idoszakKezdete DATE
,@idoszakVege DATE
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE #OrarendAdatok (
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
)
INSERT INTO #OrarendAdatok (
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
)
EXEC dbo.sp_GetOrarend
@pIntezmenyId = @IntezmenyId
,@pTanevId = @TanevId
,@pIdoszakKezdete = @IdoszakKezdete
,@pIdoszakVege = @IdoszakVege
,@pTanarId = NULL
,@pIsHelyettesitesNelkul = 0
,@pOsztalyCsoportId = NULL
,@pTanuloId = NULL
,@pTantargyId = NULL
,@pTeremId = NULL
,@pCsakOrarendiOrak = 0
,@pIsNapirend = NULL
SELECT
hely.HelyettesitoTanarID AS HelyettesitoId
,hely.TanarID AS HelyettesitettId
,dbo.fnGetDokumentumDatumFormatum(hely.Datum) AS HetNapja
,IIF(hely.Oraszam IS NOT NULL,CONVERT(NVARCHAR(5), hely.Oraszam) + '.',
CONCAT(CONVERT(NVARCHAR(5), hely.OraKezdete, 108), '-', CONVERT(NVARCHAR(5), hely.OraVege, 108))) AS Oraszam
,IIF(hely.HelyettesitoTanarNev IS NULL , 'Elmaradt óra' ,hely.HelyettesitoTanarNev) AS HelyettesitoNeve
,hely.TanarNev AS HelyettesitettNeve
,hely.OsztalyNev AS OsztalyCsoportNev
,tantargy.C_NEV AS TantargyNev
,hely.TeremNev AS TeremNev
,HelyettesitesTipusa.C_NAME AS HelyettesitesTipusa
,helyettesito.C_OKTATASIAZONOSITO AS HelyettesitoOktatasiAzon
,helyettesitesett.C_OKTATASIAZONOSITO AS HelyettesitettOktatasiAzon
,Rendez = CASE ISNUMERIC(hely.Oraszam)
WHEN 1 THEN CAST(hely.Oraszam AS INT)
ELSE 999999999999999 END
INTO #adatok
FROM #OrarendAdatok hely
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = hely.TantargyId AND tantargy.TOROLT = 'F'
LEFT JOIN T_HELYETTESITESIIDOSZAK hi ON hi.ID = hely.HelyettesitesId and hi.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.Id = hely.HelyettesitoTanarID AND helyettesito.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES helyettesitesett ON helyettesitesett.ID = hely.TanarID AND helyettesitesett.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HelyettesitesTipusa ON HelyettesitesTipusa.ID = hi.C_HELYETTESITESTIPUS AND HelyettesitesTipusa.C_TANEVID = @TanevId
WHERE hely.HelyettesitoTanarID IS NOT NULL
OR hely.Megtartott = 'F'
ORDER BY hely.HetNapja, hely.Oraszam
SELECT DISTINCT HetNapja FROM #adatok
IF @helyettesitesListaFormatumId = 0
BEGIN
SELECT DISTINCT HelyettesitettId PedagogusId, HelyettesitettNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitettNeve
SELECT * FROM #adatok
ORDER BY HetNapja, Rendez, Oraszam
END
ELSE
BEGIN
SELECT DISTINCT HelyettesitoId PedagogusId, HelyettesitoNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitoNeve
SELECT * FROM #adatok
ORDER BY HetNapja, Rendez, Oraszam
END
END
GO