IF OBJECT_ID('dbo.sp_GetNemNaplozottOrarendiOrak') IS NOT NULL BEGIN DROP PROCEDURE dbo.sp_GetNemNaplozottOrarendiOrak END GO CREATE PROCEDURE [dbo].[sp_GetNemNaplozottOrarendiOrak] @IntezmenyId int, @TanevId int, @IdoszakKezdete datetime, @IdoszakVege datetime, @TanarId int, @OsztalyCsoportId int, @TantargyId int AS BEGIN SET NOCOUNT ON; DECLARE @CsakOrarendiOrak bit = 0; DECLARE @OrarendTable TABLE ( Id int ,ORARENDIID INT ,Datum datetime ,Bontott char(1) ,Hetirend int ,HetNapja int ,ErvenyessegKezdete datetime ,ErvenyessegVege datetime ,OraKezdete datetime ,OraVege datetime ,Oraszam int ,TargyNev nvarchar(300) ,TargyNevForMobile nvarchar(300) ,TargykategoriaID int ,Megtartott char(1) ,CsengetesiRendOraID int ,MaxNapiOraszam int ,OsztalyNev nvarchar(255) ,TanevRendOsztalyCsoportId int ,MegjelenesOka nvarchar(300) ,TanarNev nvarchar(255) ,TeremNev nvarchar(255) ,OraTipus nvarchar(200) ,Hianyzas char(1) ,Keses char(1) ,Ures char(1) ,HelyettesitoTanarID int ,HelyettesitoTanarNev nvarchar(255) ,TanarID int ,HelyettesitesId int ,AdminAltalKiirt char(1) ,GroupId int ,Tema nvarchar(max) ,TantargyId int ,OsztCsopId int ) insert into @OrarendTable ( Id,ORARENDIID,Datum,Bontott,Hetirend,HetNapja,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,Oraszam, TargyNev,TargyNevForMobile,TargykategoriaID,Megtartott,CsengetesiRendOraID,MaxNapiOraszam,OsztalyNev,TanevRendOsztalyCsoportId, MegjelenesOka,TanarNev,TeremNev,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,TanarID,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId) exec sp_GetOrarend @IntezmenyId,@TanevId,@IdoszakKezdete,@IdoszakVege,@TanarId,@OsztalyCsoportId,null,@CsakOrarendiOrak,null /* insert into @OrarendTable ( Id,ORARENDIID,Datum,Bontott,Hetirend,HetNapja,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,Oraszam, TargyNev,TargyNevForMobile,TargykategoriaID,Megtartott,CsengetesiRendOraID,MaxNapiOraszam,OsztalyNev,TanevRendOsztalyCsoportId, MegjelenesOka,TanarNev,TeremNev,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,TanarID,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId) exec sp_GetOrarend @IntezmenyId,@TanevId,@IdoszakKezdete,@IdoszakVege,@TanarId,@OsztalyCsoportId,null,@CsakOrarendiOrak,1 */ declare @tanevrendTable table (TrId int, Datum datetime, NapTipus int, OsszesOsztaly char(1), OrarendiNap char(1)) insert into @tanevrendTable select tr.ID, tr.C_DATUM, tr.C_NAPTIPUSA, tr.C_OSSZESCSOPORTRAVONATKOZIK, case when tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F' then tr.C_ORARENDINAP else nap.C_ORARENDINAP end from T_TANEVRENDJE_OSSZES tr join T_NAPTARINAP nap on nap.C_NAPDATUMA = tr.C_DATUM and nap.C_TANEVID = tr.C_TANEVID and nap.C_INTEZMENYID = tr.C_INTEZMENYID where tr.C_INTEZMENYID = @IntezmenyId and tr.C_TANEVID = @TanevId and C_DATUM between @IdoszakKezdete and @IdoszakVege and tr.TOROLT = 'F' and tr.C_AKTIV = 'T' /*Összes órarendióra*/ select distinct Id, ORARENDIID, Bontott, Hetirend, HetNapja, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, OraVege, Oraszam, TargyNev, TargyNevForMobile, TargykategoriaID, Megtartott, CsengetesiRendOraID, MaxNapiOraszam, OsztalyNev, MegjelenesOka, TanarNev, TeremNev, OraTipus, Hianyzas, Keses, Ures, HelyettesitoTanarID, HelyettesitoTanarNev, TanarID, HelyettesitesId, AdminAltalKiirt, GroupId, Tema, TantargyId, OsztCsopId, case when tmp.HelyettesitoTanarID is not null then tmp.TanarNev else null end as HelyettesitettPedagogusNev from @OrarendTable tmp where tmp.OraTipus = 'OrarendiOra' and (@TantargyId is null or tmp.TantargyId = @TantargyId) and (@OsztalyCsoportId is null or tmp.OsztCsopId = @OsztalyCsoportId) and cast(tmp.OraKezdete as date) between tmp.ErvenyessegKezdete and tmp.ErvenyessegVege except /*Globál tiltás*/ select distinct Id,ORARENDIID ,Bontott,Hetirend ,HetNapja ,ErvenyessegKezdete ,ErvenyessegVege ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,TargyNevForMobile , TargykategoriaID ,Megtartott ,CsengetesiRendOraID ,MaxNapiOraszam ,OsztalyNev ,MegjelenesOka ,TanarNev ,TeremNev , OraTipus ,Hianyzas ,Keses ,Ures ,HelyettesitoTanarID ,HelyettesitoTanarNev ,TanarID ,HelyettesitesId ,AdminAltalKiirt ,GroupId ,Tema ,TantargyId , OsztCsopId, case when tmp.HelyettesitoTanarID is not null then tmp.TanarNev else null end as HelyettesitettPedagogusNev from @OrarendTable tmp join @tanevrendTable tr on tr.Datum = cast(tmp.OraKezdete as date) and tr.OsszesOsztaly = 'T' and tr.OrarendiNap = 'F' where tmp.OraTipus = 'OrarendiOra' and (@TantargyId is null or tmp.TantargyId = @TantargyId) and (@OsztalyCsoportId is null or tmp.OsztCsopId = @OsztalyCsoportId) and cast(tmp.OraKezdete as date) between tmp.ErvenyessegKezdete and tmp.ErvenyessegVege union /*Globál engedélyezés*/ select distinct Id,ORARENDIID ,Bontott,Hetirend ,HetNapja ,ErvenyessegKezdete ,ErvenyessegVege ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,TargyNevForMobile , TargykategoriaID ,Megtartott ,CsengetesiRendOraID ,MaxNapiOraszam ,OsztalyNev ,MegjelenesOka ,TanarNev ,TeremNev , OraTipus ,Hianyzas ,Keses ,Ures ,HelyettesitoTanarID ,HelyettesitoTanarNev ,TanarID ,HelyettesitesId ,AdminAltalKiirt ,GroupId ,Tema ,TantargyId , OsztCsopId, case when tmp.HelyettesitoTanarID is not null then tmp.TanarNev else null end as HelyettesitettPedagogusNev from @OrarendTable tmp join @tanevrendTable tr on tr.Datum = cast(tmp.OraKezdete as date) and tr.OsszesOsztaly = 'T' and tr.OrarendiNap = 'T' where tmp.OraTipus = 'OrarendiOra' and (@TantargyId is null or tmp.TantargyId = @TantargyId) and (@OsztalyCsoportId is null or tmp.OsztCsopId = @OsztalyCsoportId) and cast(tmp.OraKezdete as date) between tmp.ErvenyessegKezdete and tmp.ErvenyessegVege except /*Osztály tiltás*/ select distinct Id,ORARENDIID ,Bontott,Hetirend ,HetNapja ,ErvenyessegKezdete ,ErvenyessegVege ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,TargyNevForMobile , TargykategoriaID ,Megtartott ,CsengetesiRendOraID ,MaxNapiOraszam ,OsztalyNev ,MegjelenesOka ,TanarNev ,TeremNev , OraTipus ,Hianyzas ,Keses ,Ures ,HelyettesitoTanarID ,HelyettesitoTanarNev ,TanarID ,HelyettesitesId ,AdminAltalKiirt ,GroupId ,Tema ,TantargyId , OsztCsopId, case when tmp.HelyettesitoTanarID is not null then tmp.TanarNev else null end as HelyettesitettPedagogusNev from @OrarendTable tmp join @tanevrendTable tr on tr.Datum = cast(tmp.OraKezdete as date) and tr.OsszesOsztaly = 'F' and tr.OrarendiNap = 'F' join T_OSZTALYCSOPORT_TANEVRENDJE ocstr on ocstr.C_OSZTALYCSOPORTID = tmp.OsztCsopId and ocstr.C_TANEVRENDJEID = tr.TrId where tmp.OraTipus = 'OrarendiOra' and (@TantargyId is null or tmp.TantargyId = @TantargyId) and (@OsztalyCsoportId is null or tmp.OsztCsopId = @OsztalyCsoportId) and cast(tmp.OraKezdete as date) between tmp.ErvenyessegKezdete and tmp.ErvenyessegVege union /*Osztály engedélyezés*/ select distinct Id,ORARENDIID ,Bontott,Hetirend ,HetNapja ,ErvenyessegKezdete ,ErvenyessegVege ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,TargyNevForMobile , TargykategoriaID ,Megtartott ,CsengetesiRendOraID ,MaxNapiOraszam ,OsztalyNev ,MegjelenesOka ,TanarNev ,TeremNev , OraTipus ,Hianyzas ,Keses ,Ures ,HelyettesitoTanarID ,HelyettesitoTanarNev ,TanarID ,HelyettesitesId ,AdminAltalKiirt ,GroupId ,Tema ,TantargyId , OsztCsopId, case when tmp.HelyettesitoTanarID is not null then tmp.TanarNev else null end as HelyettesitettPedagogusNev from @OrarendTable tmp join @tanevrendTable tr on tr.Datum = cast(tmp.OraKezdete as date) and tr.OsszesOsztaly = 'F' and tr.OrarendiNap = 'T' join T_OSZTALYCSOPORT_TANEVRENDJE ocstr on ocstr.C_OSZTALYCSOPORTID = tmp.OsztCsopId and ocstr.C_TANEVRENDJEID = tr.TrId where tmp.OraTipus = 'OrarendiOra' and (@TantargyId is null or tmp.TantargyId = @TantargyId) and (@OsztalyCsoportId is null or tmp.OsztCsopId = @OsztalyCsoportId) and cast(tmp.OraKezdete as date) between tmp.ErvenyessegKezdete and tmp.ErvenyessegVege END