103 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
IF OBJECT_ID('dbo.sp_HelyettesitesekKeresese') IS NOT NULL BEGIN
 | 
						|
  DROP PROCEDURE dbo.sp_HelyettesitesekKeresese
 | 
						|
END
 | 
						|
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
 | 
						|
		,hi.C_HELYETTESITESTIPUS as HelyettesitesTipusId
 | 
						|
		,NULLIF(ot.Id, ot.ORARENDIID) 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'
 | 
						|
	ORDER BY
 | 
						|
		HelyettesitettDatum, HelyettesitettOraszam
 | 
						|
 | 
						|
	DROP TABLE #OrarendTable
 | 
						|
 | 
						|
END |