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 ,OraKezdete datetime ,OraVege datetime ,Oraszam int ,TargyNev nvarchar(300) ,Megtartott char(1) ,CsengetesiRendOraID int ,TeremNev nvarchar(255) ,TeremId int ,HelyettesitoTanarNev nvarchar(255) ,HelyettesitesId int ,TantargyId int ,OsztCsopId int ) INSERT INTO #OrarendTable ( Id ,ORARENDIID ,Datum ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,Megtartott ,CsengetesiRendOraID ,TeremNev ,TeremId ,HelyettesitoTanarNev ,HelyettesitesId ,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 ,@pOszlopok = 'Id,ORARENDIID,Datum,OraKezdete,OraVege,Oraszam,TargyNev,Megtartott,CsengetesiRendOraID,TeremNev,TeremId,HelyettesitoTanarNev,HelyettesitesId,TantargyId,OsztCsopId' SELECT NEWID() as ID ,ot.Datum as HelyettesitettDatum ,ot.ORARENDIID as HelyettesitettOrarendiOraId ,IIF(ot.Oraszam = 0 AND ot.CsengetesiRendOraID IS NULL, NULL, ot.Oraszam) as HelyettesitettOraszam ,ot.CsengetesiRendOraID as HelyettesitettCsengetesiRendOraId ,ot.TantargyId as HelyettesitettTantargyID ,ot.Datum + CAST(CAST(ot.OraKezdete AS time) AS datetime) AS HelyettesitettOraKezdete ,ot.Datum + CAST(CAST(ot.OraVege AS time) AS datetime) AS HelyettesitettOraVege ,ot.TargyNev as HelyettesitettTantargy ,ocs.C_NEV as HelyettesitettOsztaly ,ot.OsztCsopId as HelyettesitettOsztalyId ,ocs.C_EVFOLYAMTIPUSA as HelyettesitettEvFolyamId ,ot.TeremNev as HelyettesitettTerem ,ot.TeremId as HelyettesitettTeremId ,ot.HelyettesitesId as HelyettesitesId ,IIF(ot.Megtartott = 'F' AND ot.Id != ot.ORARENDIID, 'Elmaradt óra', ot.HelyettesitoTanarNev) as HelyettesitoTanarNev ,ot.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 = ot.OsztCsopId AND ocs.TOROLT = 'F' LEFT JOIN T_HELYETTESITESIIDOSZAK hi ON hi.ID = ot.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 GO