136 lines
3.7 KiB
Transact-SQL
136 lines
3.7 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[sp_HelyettesitesekKeresese]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[sp_HelyettesitesekKeresese]
|
|
@IntezmenyId int,
|
|
@TanevId int,
|
|
@pHelyettesitettTanarId int,
|
|
@pHelyettesitesKezdete datetime,
|
|
@pHelyettesitesVege datetime
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
CREATE TABLE #OrarendTable (
|
|
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
|
|
,INDEX IX01 CLUSTERED (OraTipus, OraKezdete, OraVege)
|
|
)
|
|
|
|
INSERT INTO #OrarendTable (
|
|
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 sp_GetOrarend
|
|
@pIntezmenyId = @IntezmenyId
|
|
,@pTanevId = @TanevId
|
|
,@pIdoszakKezdete = @pHelyettesitesKezdete
|
|
,@pIdoszakVege = @pHelyettesitesVege
|
|
,@pTanarId = @pHelyettesitettTanarId
|
|
,@pIsHelyettesitesNelkul = 0
|
|
,@pOsztalyCsoportId = NULL
|
|
,@pTanuloId = NULL
|
|
,@pTantargyId = NULL
|
|
,@pTeremId = NULL
|
|
,@pCsakOrarendiOrak = 0
|
|
,@pIsNapirend = NULL
|
|
|
|
SELECT
|
|
NEWID() as ID
|
|
,Datum as HelyettesitettDatum
|
|
,ORARENDIID as HelyettesitettOrarendiOraId
|
|
,IIF(Oraszam = 0 AND CsengetesiRendOraID IS NULL, NULL, Oraszam) as HelyettesitettOraszam
|
|
,CsengetesiRendOraID as HelyettesitettCsengetesiRendOraId
|
|
,TantargyId as HelyettesitettTantargyID
|
|
,Datum + CAST(CAST(OraKezdete AS time) AS datetime) AS HelyettesitettOraKezdete
|
|
,Datum + CAST(CAST(OraVege AS time) AS datetime) AS HelyettesitettOraVege
|
|
,TargyNev as HelyettesitettTantargy
|
|
,ocs.C_NEV as HelyettesitettOsztaly
|
|
,OsztCsopId as HelyettesitettOsztalyId
|
|
,ocs.C_EVFOLYAMTIPUSA as HelyettesitettEvFolyamId
|
|
,TeremNev as HelyettesitettTerem
|
|
,TeremId as HelyettesitettTeremId
|
|
,HelyettesitesId as HelyettesitesId
|
|
,IIF(Megtartott = 'F' AND ot.Id != ot.ORARENDIID, 'Elmaradt óra', HelyettesitoTanarNev) as HelyettesitoTanarNev
|
|
,Megtartott as IsMegtartott
|
|
,hi.C_HELYETTESITESTIPUS as HelyettesitesTipusId
|
|
,IIF (ot.Id != ot.ORARENDIID, ot.Id, NULL) AS TanoraId
|
|
FROM #OrarendTable ot
|
|
JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = OsztCsopId AND ocs.TOROLT = 'F'
|
|
LEFT JOIN T_HELYETTESITESIIDOSZAK hi ON hi.ID = HelyettesitesId AND hi.TOROLT = 'F'
|
|
WHERE ot.Id = ot.ORARENDIID OR (ot.Megtartott ='F' AND ot.Id != ot.ORARENDIID)
|
|
ORDER BY HelyettesitettDatum, HelyettesitettOraszam
|
|
|
|
DROP TABLE #OrarendTable
|
|
|
|
END
|